This is a complete guide to Structured Data: Myths & Reality that includes:
A lot of rumors flying around in regards to Structured Data & Schema Markups. With so much changing and so much being said it can be difficult to filter out the noise.
This article will cover the main reasons your Schema markup isn't showing up in Google results.
So you've taken initiative and added schema markup structured data to your site. You are looking to earn some rich results in Google search. However, after adding the schema and doing a new search query in Google, you find your listing is still just a boring blue link. No stars, extra boxes, or extensions. What gives? Why is the schema markup not showing up in google?
Well, there could be several reasons, some of which are in your control and others which aren't. This article will cover the main reasons your Schema markup isn't showing up in Google results.
Adding schema to your site only makes you eligible for certain rich results, it doesn't guarantee you will get one. Even if you configure everything perfectly in the markup code (or via a plugin) and confirm no errors have been made, you may still find that Google is not showing you any schema love. They may just think that showing a rich result with the schema markup you are hoping for wouldn't be very helpful for searchers or align with their intent. Not much you can do if this is the case, as it's hard to fight the algorithm. But it could be another reason. Before giving up, check if one of the below reasons explain why your structured data isn't showing up in Google SERPs (Search Engine Results Pages) so you can take the appropriate action.
There is no guarantee that your page will appear in Search results with the specified feature. This is because search features depend on many factors, including the search device type, location, and whether Google Search thinks [source]
The first reason could be simply that Google is not aware of the change yet. Perhaps you will receive a coveted rich result but just have to wait for GoogleBot to visit your site so they can figure out that the new schema markup exists. You could simply wait (typically a few days) for GoogleBot to visit your site, crawl it, and find the glorious structured data snippet to display.
However, I recommend being proactive and submitting your new update URL to Google Search Console so they can 'fetch' it, and then you can request indexing. This will prompt GoogleBot to almost immediately crawl your page. Once they do, the updated rich result with structured data maybe lives in Google moments later. Go check. If not, move on down this list for more potential reasons.
In general, Google recommends most images for rich snippets to meet the following requirements:
Here are some more specific image dimensions. Prioritize these over the above general guidelines if you are using these structured data types:
To make sure that your images are rendering properly, check the "Preview" feature of Google's Rich Results Test Tool. This will spin up a mockup of the rich snippet based on the URL or structured data that you provide it.
If the picture is correctly configured, it will show up in the Preview rendering. If not, continue to the next section to find out why your structured data may not be showing up in search listings.
Content, including images, must be publicly crawlable and indexable by Google to be eligible for a rich result.
Crawlable means that when GoogleBot scans, or crawls, your site for new content, you allow GoogleBot access. Why would anyone not allow it? Some may block crawlers from scanning their site if they worry about them slowing down performing, for example. Other block access to a certain area of a site that doesn't need to be archivable on a public search engine (like parts of the backend, for example).
Indexable means that you are OK with Google including your content in the search results (including image results). Sometimes sites might add meta directive tags such as "noindex" if they don't want certain content to show up in Google, such as a landing page with thin content that isn't meant to rank and could hurt other pages. However, if you noindex images, you won't have images show up in rich results. If you are using Yoast for WordPress, make sure you didn't noindex media (which includes images) in the settings.
Bottom line: Don't block your structured data pages to crawlers like Googlebot using robots.txt, noindex, or other access control methods.
You can use the URL Inspection Tool in Google Search Console to check if a URL is indexed or if not, possible issues.
After you implement schema markup on a page of your site, always check it was configured correctly with the Google Structured Data Testing Tool Rich Result Test by Google Search Console (update: Google is now recommending the Rich Result Test over the Structured Data Testing Tools, which is being deprecated. They function similarly.).
Simply enter the URL you want to check and choose whether you want to test with a smartphone or desktop Googlebot. The result displays what structured data types were found on your site and what properties in schema it recognized. Most importantly, it will also highlight errors and warnings.
Errors are important as those are missing properties that are required by Google to create a rich result. Warnings are important to monitor but often there are perfectly valid reasons not to have included these optional fields in your schema. But generally, the more complete the markup, the better.
So the bottom line is to monitor and fix any errors found in Google's SDTT to make sure your structured data includes required fields.
Google doesn't typically display the rich result for the keywords you are targeting
As mentioned, just adding schema markup doesn't guarantee a rich result in Google. One reason is Google may not feel that the schema markup type you included in your page will add value to the search or meet their intent. Maybe you have a video with correct structured data on a page of your site. But when you search that topic keyword in Google, no video carousel or video rich results are shown from any site.
So the reason your rich result isn't showing may not be that your site's structured data is incorrect but that it's not a topic or keyword that Google is showing that structured data you wish to be on the page. On the flip side, if you see other ranking listings with schema markup shown and your result is still without a rich result, there is an issue with your implementation.
"Using structured data enables a feature to be present, it does not guarantee that it will be present. The Google algorithm tailors search results to create what it thinks is the best search experience for a user, depending on many variables, including search history, location, and device type. In some cases it may determine that one feature is more appropriate than another, or even that a plain blue link is best."
If you violate a guideline, you may become ineligible for a rich result or, worse, receive a manual action (Google penalty).
Here is a synopsis of the main general guidelines:
Above all, make sure your structured data markup reflects the content of the page. This is in different ways repeatable several times in the guidelines. Don't try to game the system by having structured data on the backend that doesn't match the page's true content.
Google typically prefers that content is open and public for all users. It is a violation of your schema to describe the content that is not publicly available (gated, behind a paywall, etc). I imagine the one exception to this is the paywall/subscription schema as that is its entire purpose.
Structured data that misleads readers like including schema markup of a fake 5-star review of your local shop. Also, reviews and rating schema content (like aggregated ratings) have to have been completed on your site (can't just use Yelp or Google ratings for your aggregate score).
Make sure the structured data doesn't reference out of date content (like stating a live stream is a life when it isn't).
The schema should describe the original content that your organization created.
Must not cover inappropriate subjects like sexual violence or hate speech.
If your markup is part of a list, mark up the whole list (for example don't just include the first 2 of 10 recipe steps in your structured data).
There are also dos and don't for each individual schema type. For example, the Q&A schema markup is not for FAQs, but for Overflow Q&A type question sites.
If you are really into guidelines, check out the more high-level Google webmasters quality guidelines for general good practices.
The occurrences of rich results vary greatly by device type: mobile, tablet, and desktop. For example, a single site carousel is usually seen only on mobile and rarely on the desktop. So before banging your head against the wall about what you did wrong, check mobile (and a tablet).
You may see that your rich snippet is showing up beautifully in other device types. In this case, Google is probably not likely to show your rich snippet on other device types if they aren't already doing so. The reason is we now know they are viewing the schema as corrected marked up so there must be another reason they feel it isn't necessary to show the result elsewhere.
This is a new one. Google announced an update to Reviews Rich Results in September of 2019. Google is now only showing review stars for a limited set of content. For example, article schema used to be able to have review stars show up in search but no longer. Now Google will only show review stars for the following structured data types:
The purpose of this change was to limit abusive uses of review rich results.
Google also clarified their stance against "self-serving reviews." Basically, you can't receive a rich result for schema markup on your site if the review stars are referring to your own entity.
Lastly, this update stated that "name" is now a required property so make sure your schema markup includes this.