1. Missing Required Properties
For a Google-supported rich result type, required properties are release blockers. Do not infer the requirement from a generic schema generator: compare the live implementation with the current documentation for the specific feature. For Recipe, fields such as name, image, and recipeIngredient may be part of the documented implementation requirements. For Product, name is fundamental, and the page may need an appropriate Review, AggregateRating, or Offer relationship depending on the supported search appearance being evaluated. The fix is to supply only data the page genuinely contains, then rerun the live test.
2. Content Mismatch Between Markup and Page
Structured data should describe what the user can verify on the rendered page. A rating in JSON-LD that has no corresponding review content, a price that differs from the displayed value, or a description copied from another template is a content-to-markup mismatch. Validators cannot reliably judge every semantic mismatch, so compare important properties directly with the page and the underlying CMS field. If the page cannot support the value, remove or correct the property rather than hiding the discrepancy.
3. Applying Schema to Noindex Pages
If a page is intentionally excluded from indexing, rich-result debugging on that URL is misplaced. Confirm the indexability decision, canonical context, robots directives, and the status reported for the live URL before spending time on feature eligibility. If the page should remain excluded, treat the structured data as low priority. If the exclusion is accidental, correct the indexing configuration first and validate the markup after the page is eligible to be processed normally.
4. Using Deprecated or Unsupported Schema Types
Schema.org vocabulary and Google's supported search features do not move in lockstep. A type can remain valid vocabulary without creating the search appearance a team expects. Before replacing working markup, identify the exact feature objective and compare it with Google's current documentation. Use the most specific accurate type supported by the page content, but do not add a type merely because it once appeared in an older rich-result example.
5. Duplicate or Conflicting Markup Blocks
CMS environments often generate structured data from more than one source: a theme, an SEO plugin, a commerce extension, a tag manager, or custom template code. Multiple blocks are not automatically wrong, but they become a problem when they describe the same entity with incompatible names, URLs, prices, identifiers, or relationships. Trace each block to its generator, choose a source of truth, and consolidate or reconcile the output before retesting.
6. Incorrect Context URL or Type Casing
Small syntax and vocabulary errors can make an otherwise sensible implementation unusable. An incorrect @context, a misspelled @type, malformed JSON, or a property name with the wrong casing should be treated as a direct implementation defect. These are exactly the kinds of problems automated validators are good at finding. Fix the literal output first, then retest the live page rather than assuming the corrected snippet is what production serves.
7. Structured Data on Thin or Low-Quality Pages
Do not use schema as a substitute for useful page content. Even technically valid structured data does not guarantee a search feature, and a page with little unique information, unclear purpose, or content copied across many URLs can have broader search-quality issues that markup will not solve. Diagnose the page on its own merits, confirm that the structured data accurately reflects what is there, and avoid claiming that adding more properties will overcome an unrelated quality problem.
8. Not Updating Markup After Site Migrations
Domain moves, URL restructuring, CMS replacements, and template migrations can leave stale absolute URLs, identifiers, canonicals, or entity relationships in JSON-LD. Compare the post-migration rendered markup with the current page URLs and entity model, then trace any stale value back to its template or data source. Correct the generator, validate representative migrated pages, and only then request another crawl. Migration defects are implementation problems, not evidence that Google has stopped supporting the underlying schema type.