Providing context to Search Engines

Where would we be without Search Engines such as Google, Bing, Yahoo, Ask.com, AOL.com and a few others. It's virtually impossible to avoid them as the two biggest players, Google and Microsoft, also produce the fore running Browsers Google Chrome and Microsoft Edge forcing all requests through them, even when you know the domain name of the website you require.

Search Engines gather data to feed their engine by using automated systems called bots (also referred to as spiders, crawlers). These move from website to website, traversing the links on the pages and attempt to make sense of what each page is about. For the most part the algorithms used by the big search engines are quite sophisticated and they generally do quite a good job. However, sometimes Bots and their engines seem to have missed the lesson on context. You have designed a great looking webpage advertising a new Van for hire. Your friends think your webpage is clear and it is easy to understand what you are offering. Unfortunately your friends don't view the page as the search engine sees it. Your friends see it within the context of the route from your homepage to the page in question, with a clear understanding of the photographs of your Van - the new ACME Van Hire sign writing looks great by the way. Of course the Search engines have visited your page by a different route, have not read or understood your terms and conditions and cannot decipher your great photos. Is the van for Sale? Is it for hire? Do you just like sharing photos of your van? The computer doesn't know.

Structured data to the rescue!

Structured data is a way to present information to a search engine so it can appreciate its context. When added to a webpage it has no effect on the visual presentation of the content. It is hidden in the markup (code) that makes up the page.

As with all things in technology, structured data has evolved greatly over the last few years. There are three main formats now read by the major engines: RDFa, Microdata and JSON-LD. We will concentrate on the latest format and one most recommended in search engine land here called JSON-LD (JavaScript Object Notation - Linked Data). We will focus on the two most common markups necessary for the small business website: the Local Business and the Product.

Organization and LocalBusiness Schema

Apologies for the deliberate spelling mistake in the above title but these are the frameworks (schemas) required to describe an organisation (business which does not have a public store front or one which has more than one office or place of work) and a local business. These schemas are defined by schema.org and allow search engines to differentiate between a business and an individual. Click on the buttons below for examples.

{
    "@context": "http://schema.org",
    "@type": "Organization",
    "@id": "https://example.com/#organization",
    "name": "Example Boats",
    "legalName": "EXAMPLE BOATS LTD",
    "url": "https://example.com",
    "sameAs": [
        "https://twitter.com/example",
        "https://www.facebook.com/example"
    ],
    "logo": "https://example.com/brand/serp-logo.png",
    "description": "For brilliant boats and great customer service.",
    "address": {
        "@type": "PostalAddress",
        "streetAddress": "105 Round Hill",
        "addressLocality": "Leeds",
        "addressRegion": "West Yorkshire",
        "postalCode": "LS1 2BR",
        "addressCountry": "GB"
    },
    "email": "mailto:info@example.com",
    "contactPoint": {
        "@type": "ContactPoint",
        "telephone": "+441234567899",
        "contactType": "customer service",
        "areaServed": "GB",
        "availableLanguage": "English"
    }
}
{
    "@context": "http://schema.org",
    "@type": "LocalBusiness",
    "@id": "https://example.com/#localbusiness",
    "name": "Example Boats Ltd",
    "url": "https://example.com",
    "telephone": "+441234567899",
    "sameAs": [
        "https://twitter.com/example",
        "https://www.facebook.com/example"
    ],
    "logo": "https://example.com/brand/serp-logo.png",
    "description": "For brilliant boats and great customer service.",
    "address": {
        "@type": "PostalAddress",
        "streetAddress": "105 Round Hill",
        "addressLocality": "Leeds",
        "addressRegion": "West Yorkshire",
        "postalCode": "LS1 2BR",
        "addressCountry": "GB"
    },
    "geo": {
        "@type": "GeoCoordinates",
        "latitude": "40.00",
        "longitude": "73.00"
    }
}

Product Schema

The markup for an example Product can be found below.

{
    "@context": "http://schema.org",
    "@type": "Product",
    "name": "6mm Nylon Rope",
    "image": "https://example.com/images/products/124874512.jpg",
    "description": "6mm blue draw string cord used for the installation of electrical or water services through ducts. Priced per metre.",
    "aggregateRating": {
        "@type": "AggregateRating",
        "ratingValue": "3.5",
        "reviewCount": "11"
    },
    "offers": {
        "@type": "Offer",
        "availability": "http://schema.org/InStock",
        "price": "0.98",
        "priceCurrency": "GBP"
    }
}