Schema

SEO Lesson: Learn how to tell the search engines about your site.

Schema is also know as Structured Data or Rich Snippets

Schema data tells the search engine what your site is about and who owns it. It is also the way you get a graphical search result as you see from the above image where the right hand sidebar of the Google results is populated.

Beginner

The easiest way to incorporate schema for a beginner is to use HTML. Using the "SEO Chat : Schema.org Tools" tool from the section below you can start here to generate you schema data. This is a good start and will look something like this:

</p> <div itemscope itemtype="http://schema.org/LocalBusiness"><meta itemprop="description" content="Description"> <link itemprop="url" href="https://brand.ca" rel="author"/> <a itemprop="url" href="http://brand.ca"><span itemprop="name" style="display:block;"><strong>Brand</strong></span></a></p> <div itemprop="address" itemscope itemtype="http://schema.org/PostalAddress"> <span itemprop="streetAddress" style="display:block;">123 Brand Street</span></p> <div> <span itemprop="addressLocality" style="display:block;">Toronto</span>,<br /> <span itemprop="addressRegion"style="display:block;">Ontario</span> </div> <p> <span itemprop="postalCode"style="display:block;">P1P 1Z9</span><br /> <span itemprop="addressCountry"style="display:block;">Canada</span> </div> </div> <p>

Once you have a good start I suggest using the "Schema.org" tool below and find the schema type you added and add additional data that might be missing such as logo, hours & phone.

Advanced

Use either of the JSON schema generators below from the tools section and input all of your information. You then place the generated code within the <head></head> of the page you are working on. You code should look something like this:

<script type='application/ld+json'> { "@context": "http://www.schema.org", "@type": "GeneralContractor", "name": "Brand", "url": "http://brand.ca", "logo": "http://brand.ca/img/logo.png", "description": "Description", "address": { "@type": "PostalAddress", "streetAddress": "123 Brand Street.", "addressLocality": "Toronto", "addressRegion": "Ontario", "postalCode": "P1P 1Z9", "addressCountry": "Canada" }, "geo": { "@type": "GeoCoordinates", "latitude": "44.9189508", "longitude": "-79.3927797" }, "hasMap": "https://www.google.com.br/maps/place/Mathew+Laverty+::+Creative+Agency/@44.9189508,-79.3927797,17z/data=!3m1!4b1!4m5!3m4!1s0x4d2a9a8aa2e5adab:0x41945c8de546c9e9!8m2!3d44.918947!4d-79.390591", "openingHours": "Mo 09:00-05:00", "contactPoint": { "@type": "ContactPoint", "telephone": "705-123-4567" } } </script><br />

I then suggest using the "Schema.org" tool below and find the schema type you added and add additional data that might be missing such as logo, hours & phone.

Schema Tips!
  • Become a Schema Ninja and lookup the sameAs itemprop. Add it to all of you schema to signal the search engines of your social channels to start building a better online presence.

  • Add more than one schema per page. For instance if you have a blog post you are working on you would want to include schema's for Website, Person, Article & possibly Local Business if you are one.

  • Schema doesn't have to be visible on the page for search engines to see it. If you are using the beginner method with HTML I suggest just hiding the entire div with inline code such as style="display: none;".