As you may already know, Google has now moved to Mobile First Index algorithms. That means, Google wants to provide great user experience for people searching using mobile devices.
Google uses structured data to understand the content on the page. You can help us by providing specific information about your site, which can help your site display in richer features in search results.
Basically, if you own a website (or manage one for your client) you need to adhere to recommendations by Google. Which also includes using Structured Data. To understand how structured data works let’s look at some examples outlined below (keep in mind that these Structured Data examples are still basic in terms of what you can really accomplish with using Schema Markup).
Note: whether we are marking up a typical Local Business website or any other type of website including eCommerce, these examples can be used.
Your domain is a website. That means, markup can begin with
<html itemscope itemtype="https://schema.org/WebSite">
All your normal HTML pages are a WebPage
<html itemscope itemtype="https://schema.org/WebPage">
Because you can have different type of web pages, you can then use sub-type of Pages. These basically are More Specific Types of web PAGES. For example:
- ContactPage
- AboutPage
- CheckoutPage
- CollectionPage
- FAQPage
- ItemPage
- MedicalWebPage
- ProfilePage
- QAPage
- SearchResultsPage
Which Structure Data to Use?
Above mentioned sub-types are perhaps self explanatory.
- example.com/contact-us/page should be marked up with ContactPage
- example.com/about-us/page should be marked up with AboutPage
Page Type Structured Data Examples for WordPress
- domain (which is your front page) should have WebSite Schema Markup — WordPress function is_front_page()
- category, tags, date archives, paginated content all should be using CollectionPage — WordPress function is_category() is_tag() is_date()
- IF single author is publishing content (personal blog) author URL becomes ProfilePage OR ELSE it becomes CollectionPage — WordPress function is_author()
- HTML sitemap page should be using CollectionPage — WordPress function is_page(‘sitemap’)
- Search Results should be using SearchResultsPage — WordPress function is_search()
- FAQ type of page should be using QAPage or FAQPage — WordPress function is_page(‘faq’)
When to Use FAQPage
When one or more Frequently asked questions is on a URL
When to Use QAPage
When a specific Question is on a URL
Structured Data Examples for WordPress Blog Section
<html itemscope itemtype="https://schema.org/Blog">
Because almost all WordPress CMS built sites will be publishing blog posts, then, naturally your Posts URL is a type of Blog. Therefore, content chunk (usually wrapped in main, or article sections) where the blog content is published are ‘BlogPosting’
Accessibility
Since Google recommends to create websites that are Accessible to all. You can do much more with Structured Data if the content you have on your website allows it. For example:
The Roles Model
Basic semantic of HTML lists (ul ol) are un-ordered lists or ordered lists. That means, without using any Structured Data markup user-agents understand what you mean <ul><li>you mean un-ordered list</li></ul>
But, since almost all websites have navigational links. You can further guide search engines by using
<ul role="menu"><li role="menuitem">Perfect for Menu Items</li></ul>
Be it on ul or ol elements
<ol role="menu"></ol>
In terms of accessibility, keep in mind that HTML5 by default offers better semantics such as: header, aside, article, footer, nav etc. That means, for web development, you should really spend time to identify layout and website structure so that its Google friendly as well as accessible through assistive technologies.
Everyone should be able to access and enjoy the web.
Structured Data on Non Specific HTML Markup
Let us assume you are creating Questions and Answers page and are using headings h1, h2 etc. when answering question/s. If you want to make those headings part of the semantics you can try:
<div role="list"><h2 role="listitem">Telling user-agents 'Hey this heading is part of a list of answers'</h2>
Links below shows sample example for using Structured Data for ContactPage, AboutPage, QAPage. Great for all types of websites including local Business or an organization Schema Markup
Video Showing Structured Data Examples for ContactPage Video Showing Structured Data Examples for AboutPage Video Showing Structured Data Examples for QAPage
Structured Data Examples Google Understands
Structured Data can be complex as you can really dive deep and extend the semantics of your entire website. Whether you are using the basic examples above, or whether you want to markup almost all web page HTML elements. Its more than likely that you can add many many Data Types. Having said this, currently Google only understands certain type of Structure Data Markup. Below is Qualifying content types
Content Type | Available Features | Notes |
---|---|---|
Article | Top stories carousel
Rich results |
The Top stories carousel requires that your content be published in AMP. For more information, see AMP with structured data. |
Local Business | Local business listing | |
Local Business | Place actions | Requires explicit opt-in. |
Recipe | Rich results
Host-specific lists |
|
Critic review | Critic review cards | |
Video | Rich results |
Search gallery
UPDATE: There is much more you can do with Structured Data. Press here to learn about Search Gallery
Follow the structured data guidelines
As with all things Search Engine Optimization, there are 3 types of SEO’s
- Most so called SEOs really do not understand anything about Google and SEO therefore spam Google
- SEO Experts who at least understand Google guidelines, however, some may be doing things without realizing that its against Google guidelines.
- Those in the know about Google guidelines
In the first 2 scenarios above, inserting the wrongs Structured Data can get your website in trouble with Google. Because Google has guidelines for Structured Data as well. For instance: SEO Guru uses Structured Data to display Local Business review markup with 5 stars for let’s say 100 reviews which do NOT exist. Thinking that Google search engine can not work out if the markup is legit or not, but Google will display that in its search results (surely, colorful 5 stars within the organic results catches the eye of the searcher, as a result website may get increased website traffic). Unknown to the SEO Guru using methods against Google guidelines can really be harmful because soon or later Google algorithms traversing the internet will work out ‘if the review is legitimate or not’. Basically, either do the right thing when using Structured Data, or do not use it at all.
Example JSON-LD Markup for Course
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Course",
"name": "Search Engine Optimization Course by RankYa",
"description": "In this step by step Search Engine Optimization course you will learn basics and advanced website optimization techniques. Includes custom codes for WordPress",
"courseCode": "ABC123",
"conditionsOfAccess": "Accessible only upon secure payment",
"copyrightYear": "2021",
"copyrightHolder": [{
"@type": "Person",
"name": "Derya Savas" }],
"provider": {
"@type": "Organization",
"name": "RankYa",
"sameAs": [ "https://www.facebook.com/rankyaseo",
"https://www.youtube.com/c/rankya"]
}
}
</script>
WordPress Shortcode for Inserting Course Structured Data
function samplecoursecode(){
return '<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Course",
"name": "Name of the Course",
"description": "Describe the course, introduction etc.",
"courseCode": "ABC123",
"conditionsOfAccess": "Accessible only upon secure payment",
"copyrightYear": "2019",
"copyrightHolder": [{
"@type": "Person",
"name": "NameOfPerson" }],
"provider": {
"@type": "Organization",
"name": "Your Business Name Goes Here",
"sameAs": [ "https://www.facebook.com/yourURL",
"https://www.youtube.com/c/yourURL"
// you can add more here
]
}
}
</script>';
}
add_shortcode('insertsamplecoursecode','samplecoursecode');
Operating a LocalBusiness?
Press here to download (.zip format) sample Structured Data which uses JSON-LD for LocalBusiness markup
Here’s a Video That Shows You How to Insert JSON-LD Script for Local Business
Wanna See More Structured Data Examples by RankYa?
Subscribe to RankYa YouTube channel as I will be working on more examples as supported by Google.
Good to know about the Structured Data. Thank you.