Schema describes content not visible on the page
Google prohibits marking up content readers can't see. Find pages where a schema name or headline is missing from the visible text free and align your markup to avoid a spam signal.
What it means
A name or headline value in a top-level JSON-LD block on this page does not appear in the page's visible text. Crawlinx performs a case-insensitive substring match between the markup value and the static HTML text. A mismatch suggests the structured data describes something other than what readers see — a potential violation of Google's structured-data policies.
Why it matters
Google's guidelines are explicit: "Don't mark up content that is not visible to readers of the page." Violations are treated as a form of cloaking or spam and can escalate beyond missing rich results. Google's Search Quality team issues manual actions specifically for misleading structured data, which strip all rich-result eligibility site-wide until a reconsideration request is approved. Even without a manual action, markup describing phantom content reduces Google's confidence in the site's markup overall, and a schema whose name cannot be verified against visible content is unlikely to generate a valid rich result. Common causes: JSON-LD populated from a database while the page shows a different or truncated name, a template that hard-codes a brand name, JavaScript-rendered content the static crawl can't see, and CMS-migration drift between the schema feed and the content.
How to fix it
- Compare the JSON-LD
name/headlineto the page's H1 and primary visible title — they should match, or one should be a substring of the other. - If a template feeds structured data from a different source than the page content, align the data sources.
- If the content is JavaScript-rendered, verify what Googlebot actually sees with the URL Inspection tool's Test Live URL option, which renders JS.
- Update the JSON-LD value to match the visible heading.
When it's not a problem
This is a heuristic with medium false-positive risk, which is why it is a warning, not an error. JavaScript-rendered content will not appear in static HTML text; brand-name abbreviations, trademark symbols, and punctuation differences can prevent a substring match even when content is genuinely aligned. Investigate before removing markup. If the page is fully server-rendered and the name still does not appear in visible text, treat it as a genuine issue.
How common is it?
1881 audited sites in our corpus currently show this issue. The breakdowns below show which platforms, gatekeepers, verticals and countries are most exposed.
Audit your own site — free
157 checks, internal PageRank, render-diff. No signup, results in ~30s.