---
name: structured-data-regression-guard
description: Use when rich results disappear without an obvious cause, or after any CMS, template, theme or plugin change that touches page markup.
---

# Structured Data Regression Guard

Structured data fails quietly. A plugin update drops a required property, an editor leaves a field blank, and the rich result is gone long before the enhancement report registers a change. Validating one URL by hand at build time does not catch any of this, because the failure comes from data variation across the catalogue rather than from the template that was tested.

## Ce qu’il vous faut d’abord

- A list of templates that emit structured data and the schema type each one emits
- Rendered HTML, not template source, for at least 20 URLs per template chosen to include edge cases
- Search Console enhancement reports with error and warning counts by type
- The current Google documentation for required versus recommended properties for the result types you are targeting

## Méthode

1. Extract the JSON-LD from rendered HTML rather than from the template file. What ships is what the CMS produced after the fields were populated, and the gaps live in the population, not the template.
2. Sample deliberately for absence: the item with no image, the one with no reviews, the cheapest and the most expensive, one out of stock, one with an unusually long name. A uniform sample passes and proves nothing.
3. Validate against the required properties for the specific rich result you want, not against schema.org in general. schema.org accepts a great deal that Google will never display.
4. Confirm the marked-up values match what a user can see on the page. Prices, ratings and availability that appear only in the markup are a manual action risk, and the mismatch is usually caused by a stale cache rather than by anyone intending it.
5. Record a baseline count per template and per type, then re-run the same extraction after every template, theme or plugin change. A falling count is the alert, and it fires weeks earlier than Search Console does.
6. Read the enhancement report as confirmation on a lag rather than as the detector. It tells you what Google has processed, which is useful for arbitration and useless for early warning.
7. When markup is valid and the rich result is still gone, stop before rewriting anything. Eligibility is not entitlement, Google withdraws result types by query and by site, and the check is whether competitors still show that result type for the same queries.

## Ce que ça produit

A per-template structured data baseline with required-property coverage, a deliberately awkward sample set, and a re-runnable extraction that flags count drops after any markup change.

## Là où ça dérape

- Validating the template in isolation, which passes while live pages fail on the fields nobody filled in
- Marking up values the page does not display, which is the most common cause of a structured data manual action
- Adding every property schema.org permits on the theory that more markup ranks better, which adds surface area for breakage and no eligibility
- Rewriting valid markup because a rich result vanished, when the result type itself was withdrawn for those queries

---

Extrait de la bibliothèque de compétences QuQi - https://www.quqi.io/fr/skills/structured-data-regression-guard
