Two plugins, two conflicting blocks
A site runs Rank Math and also has schema output from the theme, or from a second plugin installed for one page and never removed. Both emit structured data and the two disagree.
Check the rendered HTML rather than the plugin settings, because what the browser receives is what search engines read. Search the page source for the JSON-LD script tag and count how many appear.
Duplicate FAQPage blocks
This one is specific and costly. A page that emits two FAQPage blocks, typically one from a plugin and one from a template, gets both ignored rather than one accepted.
The correct pattern is a single block containing all the questions on the page. On this site the answer-first question leads and the page FAQs follow, all inside one block, which is handled in the template so it cannot drift.
Marking up content that is not visible
Review markup where no reviews are displayed, FAQ markup for questions the visitor cannot see, and aggregate ratings assembled from nothing are all guidelines violations, and Google does issue manual actions for them.
The rule is that structured data must describe what is actually on the page. This catches out stores that add rating markup hoping for stars in search results before they have any reviews.
Breakage after an update
Theme and plugin updates routinely alter or overwrite structured data output, and nothing alerts you. Rich results simply stop appearing and the drop looks like an algorithm change.
Validate after every theme or plugin update, and otherwise a couple of times a year. It takes minutes with the Rich Results Test and the Schema Markup Validator, and it is the only way to know.
What to check, in order
- Count the JSON-LD blocks in the rendered page source
- Confirm exactly one FAQPage block per page
- Run every template through the Rich Results Test, not just one page
- Confirm every marked-up element is visible to a visitor
- Re-run all of the above after any theme or plugin update
Key takeaways
- Schema fails silently, so validation has to be a routine rather than a one-off
- One FAQPage block per page, or Google ignores both
- Never mark up content a visitor cannot see