Structured data markup matches visible page content
Why it matters
Structured data that contradicts visible page content is treated as deceptive markup under Google's Structured Data Policies, and offending pages lose rich result eligibility or get manual actions applied. When an Article's JSON-LD headline is hardcoded while the H1 renders from post.title, every new post ships a schema lie. Findability collapses for the affected templates because rich snippets disappear and crawlers downrank the URL.
Severity rationale
Medium because impact is per-template loss of rich results, not site-wide deindexation or data exposure.
Remediation
Populate JSON-LD from the same variables that render the visible DOM. In app/products/[slug]/page.tsx, bind name and description to the product object you already fetched for the template, and never hand-write static strings in a dynamic context.
const product = await getProduct(slug)
const schema = { '@type': 'Product', name: product.name, description: product.description }
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the Marketing SEO Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
Taxons
History
- 2026-04-18·v1.0.0·Initial import from marketing-advanced-seo·automated