How do you fix schema drift?
What is schema drift?
Schema drift is not a term Google uses. It describes structured data that slowly moves away from what you intended, so markup that once passed validation starts to fail or goes missing. Common causes include a theme or plugin update that changes the output, a template edit that removes a required property, or content changes that leave the markup describing something that is no longer on the page. Because structured data is not visible to visitors, this kind of change can go unnoticed for weeks.
How do you spot it in Search Console?
Search Console has a rich result report for each supported type. The chart on each report shows how many valid and invalid items Google found over time, so a fall in valid items or a rise in invalid ones is the clearest sign that something has changed. Counts are per item, not per page, and the reports show a sample rather than every item.
Issues come in two levels. Critical issues make an item invalid, which stops it appearing as a rich result. Non-critical issues are listed under Improve item appearance and do not block eligibility. Open an issue to see the affected pages, and use the First detected date to work out when the problem began. That date usually points to the release or update that caused it.
Not every change is drift. Google stopped showing FAQ rich results on 7 May 2026 and removed the documentation in June 2026. FAQPage remains valid schema.org markup, but a change in FAQ reporting reflects Google's decision, not a fault on your site.
How do you fix it at the source?
Google says fixes must be applied to your site's source code, and Search Console has no button that fixes an issue for you. Find where the markup is generated. On most sites that is a template, a theme or a plugin, so fixing it once corrects every page that uses it.
Then test the fixed page. The Rich Results Test accepts a live URL or a code snippet, reads JSON-LD, RDFa and Microdata, and lists the rich result types it detects with any errors. The URL Inspection tool's live test does the same for a page on your verified property. Note that the Rich Results Test ignores comments inside JSON-LD blocks, so remove comments before publishing, because they can cause errors in real use.
A short checklist after any theme, plugin or template change helps catch drift early:
- test one page of each template in the Rich Results Test
- compare the detected item types with what you expect
- check the rich result reports in Search Console a few days later
How does Validate fix work?
Once your fix is live and confirmed, open the issue's details page and select Validate fix. Google first checks a sample of pages. If they pass, it goes on to the other affected pages. If the error is still present in the sample, validation stops, and you need to fix the remaining pages and start again.
The validation state shows as Not started, Started, Looking good, Passed, Failed or N/A. Google says validation can take two weeks or more, depending on how often it crawls your site. It may also pick up fixes during normal crawling even if you never start validation. An issue stays open until 90 days pass without new instances.
Sources
- Search Console Help: Rich result status reports
- Search Console Help: Fix structured data issues
- Search Console Help: Rich Results Test
- Google Search Central: Latest documentation updates
Frequently asked questions
Why did my valid FAQ items disappear in 2026?
Google stopped showing FAQ rich results in Search on 7 May 2026 for all sites, deprecated the feature on 8 May and removed the documentation in June 2026. That is a change on Google's side, not a fault in your markup. FAQPage is still valid schema.org vocabulary, so you can keep it, but it will no longer produce a rich result in Google Search.
Can Google pick up a structured data fix without Validate fix?
Yes. Search Console Help says Google may detect fixes during its normal crawling even if you never start validation, and such issues can show a validation state of N/A. Starting Validate fix asks Google to check a sample of affected pages and then the rest, which gives you a status to track. Either way, timing depends on crawl frequency.