Missing structured data (JSON-LD)
Answer engines and rich-result crawlers pull entities, facts, and answers out of schema.org JSON-LD — an author, a price, a rating, a FAQ. Without it they fall back to guessing from your prose, which is lossy and easy to get wrong. As AI assistants become how people find things, a page with no machine-readable summary is one they’re more likely to skip or misquote.
Symptoms
How VibeCheck catches it
In your widget · Problems
To your coding agent · MCP
The same string in your widget and in your agent’s context — no screenshot, no copy-paste.
Root causes
The fix
Add a <script type="application/ld+json"> describing the page with the schema.org type that fits — Article/TechArticle for content, Product for a product, FAQPage for a Q&A, Organization for the site. Include a @context of https://schema.org and the fields relevant to that type.
- Pick the
schema.orgtype that matches the page (Article,Product,FAQPage, …) - Emit a
JSON-LDscript with@context"https://schema.org"and the key fields - Validate with Google’s Rich Results Test and
schema.orgvalidator
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "How to fix cumulative layout shift",
"author": { "@type": "Person", "name": "Jane Dev" },
"datePublished": "2026-01-15"
}
</script>FAQ
- Which
schema.orgtype should I use? - Match the page:
Article/TechArticle/BlogPostingfor content,Productfor a product,FAQPagefor Q&A,Organization/WebSitefor the site itself. You can include several types on one page. - Does
JSON-LDhelp with AI answer engines specifically? - Yes. Assistants like ChatGPT, Perplexity, and Google’s AI Overviews extract structured facts far more reliably than prose. Clean
JSON-LDmakes your page easier to cite accurately. JSON-LD, Microdata, or RDFa?- Google recommends
JSON-LD— it’s a single script block separate from your markup, so it’s the easiest to add and maintain, and it’s what VibeCheck checks for.