One of my clients is a digital gaming marketplace. For about 1.5 years, he enjoyed aggragateRating star markup on Google SERP. I implemented nested aggragateRating within their product markup (without offers markup). Their 6 other competitors also have similar markup on SERP.
My client has 3.5 star ratings on TrustPilot and overall 4.9 rating from their website's rating system. For JSON code, I used his website's rating system for markup. Now suddenly, my client's aggragateRating markup is dropped from Google, however his 6 competitors markup is still valid.
I made following Hyphothesis but all of them seems to be void as it works for competitors:
Hypothesis 1: Google only displays markup from third party (such as TrustPilot, Reviews.io). We have markup from our own rating system.
- 3 out of 6 competitors have markup from Trustpilot
- 1 out of 6 competitors has markup from Reviews.io
- 2 out of 6 competitors are using their own rating system.
Hypothesis 2:
Google only allows JSON code in <head>...</head>
(not in <body>
tags). We have in <body>
tags
- 3 out of 6 competitors has markup in HTML
<head>...</head>
tags - 3 out of 6 competitors has markup in HTML
<body>...</body>
tags
Hypothesis 3: Google only allows JSON code with aggragateRating + offer Markup.
- 4 out of 6 competitors have aggragateRating + offer markup
- 2 out of 6 competitors have only aggragateRating
Hypothesis 4: Google shows either inline sitelinks or product markup. We have inline sitelinks in rich results for a selected pages.
- 4 out of 6 competitors have only product markup
- 2 out of 6 competitors have product markup and inline sitelinks as well.
Hypothesis 5: The Warnings are affecting to display Rich Snippets. I haven't provided recommended values such as brand, offers, review, sku and global identifier. Total there are 5 warnings.
- 4 out of 6 competitors have 6 similar warnings
- 2 out of 6 competitors has 5 similar warnings
Hypothesis 6: Technical Implementation (we have server side rendering)
- 4 out of 6 competitors implement using server side rendering
- 1 out of 6 competitors implement using GTM
- 1 out of 6 competitors implement using node.js
Hypothesis 7: Our ranking. We rank between 4 to 6 in organic search results.
- Competitors above than us are having rich results
- Competitors below than us are having rich results
Hypothesis 8: There is a techical error in the code.
- This code is implemented on 65 pages
- I checked Google Search Console and found they all are valid with Warnings
- I checked some pages on Google Structured Data Testing tool and found code is valid.
- I checekd some pages on Google Rich Results Test and found code is valid.
- There is no manual action or any other messages in Google Search Console.
Hypothesis 9: FAQ Markup v/s aggragateRating Markup: Earlier, site implemented FAQ markup on each of these pages. They marked up same FAQs on each of these pages, which is against Google's guidelines. So we removed FAQ markup to see the results. We found that aggregateRating markup was back for one or two days for 3 of the 65 pages, but then again they are gone.
I am going to move JSON code from <body>...</body>
to <head>...</head>
tags. What else could have gone wrong?**
Here is the structured data JSON code This is one of the pages: https://www.playerauctions.com/osrs-gold/
<script type="application/ld+json">
{
"@context": "https://schema.org/",
"@type": "Product",
"image": ["https://d5aq5zygke863.cloudfront.net/product/images/listing/osrs-gold.jpg"],
"name": "OSRS Gold",
"description": "Buy RuneScape - Old School Gold – OSRS Market",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "5.0",
"ratingCount": "2639",
"bestRating": "5",
"worstRating": "1"
}
}
</script>
There are similar other pages on this website where I am not getting ratings markup.