Why Your Rich Results Disappeared (And How to Get Them Back)
You wake up, check Search Console, and your stomach drops. Those beautiful star ratings, FAQ dropdowns, or review snippets that used to grace your search listings? Gone. Not reduced — completely absent. Your click-through rate has tanked and you have no idea why.
I've been through this twice with client sites, and both times the cause was hiding in plain sight. Rich results disappearing overnight isn't random bad luck — it's almost always one of four specific problems. Let's diagnose each one and fix it properly.
First: Stop Panicking and Pull the Right Data
Before you change a single line of markup, open Google Search Console and navigate to Enhancements in the left sidebar. You'll see individual reports for each rich result type your site had — FAQ, Product, Review snippets, HowTo, etc. Click into the one that's dropped off and look at the timeline. Did it fall off a cliff on a specific date, or was it a gradual decline over weeks?
That distinction matters enormously. A cliff-drop suggests a manual action, a policy change, or a sudden technical break. A slow fade usually points to content quality signals eroding over time, or Google quietly tightening eligibility criteria.
Also run your affected pages through the Rich Results Test. This is your ground truth — if the tool finds your schema valid and shows a preview, the markup itself isn't broken. If it throws errors or warnings, start there.
Cause #1: Your Schema Markup Has Structural Errors
This is the most common culprit I see, especially after a site redesign or CMS migration. The schema that was working fine in your old theme might have been duplicated, fragmented, or partially stripped during the move.
Specific things to check:
- Nested types are mismatched. If you have a
Productschema with a nestedAggregateRating, make sure the@typevalues are exactly right —AggregateRating, notRatingoraggregate_rating. Typos here are silent killers. - Required fields are missing. Google's requirements changed for several types in 2023 and again in 2024. For
Productrich results, you now neednameplus at least one of:review,aggregateRating, oroffers. Check the current documentation — not a blog post from 2021. - Duplicate schema blocks. Some page builders and review plugins inject their own JSON-LD alongside your manually added schema. When Google sees two competing
Productblocks on the same page, it often ignores both. Use "View Source" and search forapplication/ld+json— there should be exactly one block per entity type.
The fix: Clean up your JSON-LD in a validator like Schema.org's own validator or the Rich Results Test before assuming anything else is wrong. Fix structural errors first. Only after your markup validates cleanly should you move to the next suspects.
Cause #2: Content Mismatch — Your Schema Says One Thing, Your Page Says Another
Google is not just parsing your structured data in isolation. It's cross-referencing what your markup claims against what's actually visible on the page. If your AggregateRating schema says you have 847 reviews with a 4.8 average, but users visiting your page see maybe 12 reviews in a widget that loads via JavaScript — that's a mismatch. Google's crawler may not execute the JS to see those 12, but it also doesn't trust your schema claim of 847.
This scenario plays out constantly with:
- Review counts pulled from third-party platforms (Trustpilot, Google Reviews) embedded via iframes or async scripts
- Prices in schema that don't match the rendered price (currency differences, sale prices not reflected)
- FAQ markup where the questions and answers aren't present in the actual page HTML — just in the JSON-LD
That last one is worth emphasizing. Google's official stance on FAQ schema is that the content must be visible on the page. If your FAQ schema is serving as a shortcut to get rich results without actually showing users the Q&A content, expect the eligibility to be revoked. They've been enforcing this more aggressively since mid-2023.
The fix: Use Google's URL Inspection tool in Search Console — fetch the page as Googlebot and examine the rendered HTML. Does the content your schema references actually appear there? If it's hidden behind a tab, an accordion, or a JS render, make sure Googlebot can access it. Structured data must describe content users can see, not metadata that exists only in the background.
Cause #3: Policy Violations — You Broke a Rule You Didn't Know Existed
Google's structured data policies are surprisingly specific, and they update them without much fanfare. Some common violations that trigger rich result removal:
Review schema abuse. Self-serving reviews — where a business reviews itself, or uses schema to highlight only hand-picked positive reviews while suppressing negative ones — is a direct policy violation. Google got much stricter about this starting in 2022. If you're using Review schema and your reviews are only showing 5-star content, that's a red flag.
Breadcrumb spam. Breadcrumb schema that doesn't reflect the actual URL structure of your site, or that fabricates a category hierarchy that doesn't exist, will get your breadcrumbs yanked from SERPs.
Event schema on non-events. Some sites were tagging promotional pages, blog posts, or product launches as Event types to get calendar-style rich results. Google now actively filters these out.
The fix: Check Search Console's Manual Actions report first. If there's a manual action listed, the fix depends entirely on what it says — you'll need to address the specific violation and submit a reconsideration request. If there's no manual action but you suspect a policy issue, review the structured data policies page against your implementation. Be honest with yourself about whether your markup is genuinely useful to users or just a SERP decoration.
Cause #4: The "Eligible But Not Shown" Problem
Here's the one that frustrates people most: your schema is valid, your content matches, there are no policy violations — and Google still won't show rich results. This is technically possible and more common than you'd think.
Google explicitly says that passing the Rich Results Test doesn't guarantee rich results will appear. Eligibility is just the first gate. After that, Google evaluates whether showing the rich result would actually improve the search experience for that particular query and user. For highly competitive queries, Google often suppresses rich results entirely to keep the SERP cleaner. For queries where the intent is ambiguous, they might test rich results intermittently.
There's also a page authority component. New pages, pages with thin link profiles, or pages on sites that Google doesn't crawl frequently tend to get rich results less reliably even with perfect markup.
The fix: This one requires patience rather than a quick fix. Focus on building the page's overall authority — internal linking from stronger pages, earning external links to the specific URL, improving content depth and engagement signals. Make sure your page is indexed and crawled frequently by checking the URL Inspection tool and keeping your sitemap current.
Your Diagnostic Checklist
When rich results disappear, work through these steps in order:
- Check Search Console Enhancements — identify which rich result type dropped and when.
- Check Manual Actions — if something's listed, start there, not with your markup.
- Run the page through the Rich Results Test — fix any errors before anything else.
- Use URL Inspection → Fetch as Googlebot — verify your schema content is actually visible in rendered HTML.
- Cross-check your schema claims against visible page content — prices, ratings, review counts, FAQ text.
- Review your implementation against current Google policies — not tutorials from two years ago.
- If everything checks out, strengthen the page's authority and give Googlebot time to re-crawl and re-evaluate.
Rich results are not a permanent feature Google owes your site. They're eligibility-based, and that eligibility can be revoked, re-granted, and fluctuate based on factors both within and outside your control. The sites that maintain rich results consistently are the ones treating structured data as a way to make their content more useful to users — not as a trick to dress up SERP listings.
Fix the real problem, and the stars come back.