How to Fix Rich Snippet Issues
Rich snippets โ the stars, FAQ accordions, prices, recipes and other enhanced visual elements in Google search results โ take 30-80% more screen space than standard results and have 2-3x higher click-through rates. This guide walks through every Rich Snippets audit finding: choosing the right schema type, adding valid JSON-LD with required fields, ensuring content matches schema, fixing validation errors and recovering from coverage drops. Tested against current Google rich result eligibility rules.
1. Identify which rich snippet type you should target
Not every page is eligible for rich snippets. The schema type must match the content type, and Google supports only a defined list of rich result types. Adding schema for content you don't have wastes effort and can trigger a manual penalty.
Step 1
Match content to rich result type
Use this mapping table to pick the right schema:
| Your content | Schema type | Rich result |
| Blog post / news article | Article | Top stories carousel, author byline |
| Product page | Product | Price, stars, availability |
| Recipe page | Recipe | Image, time, rating in carousel |
| FAQ with visible Q&A | FAQPage | Expandable accordion |
| Step-by-step guide | HowTo | Step carousel (mobile only) |
| Local business | LocalBusiness | Map pack, knowledge panel |
| Event listing | Event | Event card with date/location |
| Job posting | JobPosting | Google for Jobs listing |
โ ๏ธ Don't add schema for content you don't have. FAQ schema on a page with no visible FAQs is treated as spam by Google. Recipe schema on a non-recipe page violates structured data guidelines and risks manual action.
2. Add valid JSON-LD with all required fields
Every rich result type has required fields. Missing a required field disqualifies the page entirely โ no warning, no rich result. Use the Schema Builder to ensure every required field is populated.
Step 1
Generate JSON-LD
Open the
Schema Builder. Pick your schema type. Fill in every field โ required and recommended. Copy the generated JSON-LD output.
Step 2
Paste into the page head
Paste between <script type="application/ld+json"> and </script> tags in the page <head>. WordPress: use Yoast, Rank Math, or a custom-field plugin. Static sites: paste directly into the template.
Step 3
Validate before publishing
Run Google's Rich Results Test on the page. Confirm three things: (1) schema parses without errors, (2) page is eligible for rich results, (3) no warnings beyond cosmetic ones. If errors remain, fix them before publishing.
๐ก Use the
JSON Validator first to catch syntax errors (trailing commas, unescaped quotes) before running the Rich Results Test. JSON syntax errors are silent killers โ Google ignores invalid JSON-LD with no warning.
3. Ensure schema content matches visible page content
Google's structured data guidelines explicitly require schema to describe what is actually visible on the page. Hidden content, content behind tabs without proper expansion, and "schema-only" content (described in JSON-LD but not visible to users) all violate the rules.
Common violation
FAQ schema with invisible questions
Adding FAQPage schema with 10 questions when the page only shows 3 visibly to users. Google detects this and disqualifies the rich result. Either make all 10 questions visibly accessible (in an expandable accordion is fine) or reduce the schema to match what's visible.
Common violation
Product schema with stale prices
Product schema cached with old price while visible page shows new price. Mismatch demotes the page in shopping results. Force schema cache invalidation on every product update; verify with the Rich Results Test post-update.
Common violation
Aggregate rating without real reviews
Product schema with aggregateRating 4.9 stars and 200 reviews when the page shows no visible reviews. This is a manual-action-risk violation. Either add visible reviews or remove the aggregateRating from schema.
4. Fix validation errors and warnings
Google Search Console's Enhancement reports list every schema error and warning per page. Errors block rich result eligibility entirely; warnings reduce quality but don't block.
Step 1
Open Search Console Enhancement reports
Search Console โ Enhancements (sidebar). You'll see one report per schema type detected on your site. Click into each to see affected URLs and specific errors.
Step 2
Fix errors before warnings
Sort by "Error" first. These block rich result eligibility. Common errors: missing required fields (name, image, author), invalid date format, unsupported type. Fix and re-validate.
Step 3
Mark fixed and request validation
In the Enhancement report, click "Validate Fix" after fixing each error type. Google re-crawls a sample of affected URLs. Validation typically completes in 1-7 days.
5. Request re-indexing of fixed pages
Schema changes don't appear in search results until Google re-crawls the page. By default, Google re-crawls high-traffic pages every few days, low-traffic pages every few weeks. Request re-indexing to skip the wait.
Per-page
URL Inspection in Search Console
Paste the URL in the top search bar of Search Console. Click "Request Indexing". One-by-one โ there's no bulk option. Rich results typically appear within 1-7 days of successful re-index.
For sitemap-wide updates
Re-submit your sitemap
Search Console โ Sitemaps. Click your sitemap, then "Submit" again. Google re-discovers all URLs in the sitemap, prioritising recently changed ones.
6. Monitor for coverage drops
Rich snippet coverage drops are usually caused by external changes: CMS updates that broke the schema generator, plugin updates that stripped fields, Google policy changes that reduced eligibility for a schema type. Set up weekly monitoring to catch these within days.
Weekly check
Search Console Enhancement trend
Each enhancement report shows a trend chart. A sudden drop in "Valid" pages or spike in "Error" pages means something broke. Investigate immediately โ most drops are caused by a recent CMS or plugin update.
Continuous monitoring
Schema Drift Detector
For ongoing coverage protection, use the
Schema Drift Detector. It probes your top pages hourly and alerts on baseline diffs โ catching coverage breaks within 1 hour rather than 1-4 weeks.
7. Common rich snippet recovery scenarios
Three patterns cover most coverage drop recoveries:
- Plugin update broke schema: roll back the plugin, or patch the schema generation. Coverage returns on next crawl (1-7 days).
- Google policy change: check Search Central blog. Some schema types have been retired (HowTo on desktop, FAQ in some contexts). If retired, accept it and focus on other rich result types.
- Quality threshold demotion: schema still valid but rich results stopped appearing. Improve content quality, E-E-A-T signals, and page experience. Recovery is slower (4-12 weeks).
Frequently Asked Questions
My schema validates but no rich result appears. Why?
Three common causes. (1) Schema describes content that isn't visibly on the page โ Google detects this and silently disqualifies eligibility. (2) Recent Google policy change reduced eligibility for that schema type (HowTo on desktop was reduced in 2023). (3) Page quality threshold not met โ even with valid schema, low-quality pages don't get rich results.
Do I need both microdata and JSON-LD?
No, and you shouldn't have both. Google explicitly recommends JSON-LD as the preferred format and using two formats on the same page can cause conflicts. Pick JSON-LD, remove any inline microdata or RDFa from the same page.
Can I add FAQ schema to any page?
Only to pages that actually contain a visible FAQ section with questions and answers. Adding FAQPage schema to a page without visible FAQs violates Google's structured data guidelines and risks a manual action penalty. The visibility requirement is strict.
How long until rich snippets appear after I add schema?
Typical timeline is 1-7 days after Google re-crawls the page. New sites with low authority may wait longer or never get rich results. Established sites with high authority sometimes see rich results within hours. Request re-indexing via URL Inspection to speed up the crawl.
Why did my rich snippets disappear suddenly?
Most common cause is a recent CMS or plugin update that broke schema output. Check the dateModified on your schema โ if it doesn't match recent content changes, the generator stopped emitting. Run the Rich Results Test to confirm. Less common causes: Google policy change retiring a rich result type, or a quality demotion.
๐ฌ Validate your schema now
After applying these fixes, run the Schema Debugger to confirm every rich snippet type validates and is eligible for rich results in Google.
Run free schema audit โ