Fix "No Machine-Readable Metadata": JSON-LD Guide
This page was flagged because it has no machine-readable metadata: no structured data (JSON-LD) telling search engines and AI answer engines what the page is, who published it, and how its facts connect to known entities. The fix is to add a JSON-LD script block using schema.org types like Article, Organization, FAQPage, or Product. It's a warning, not a critical error. Resolving it makes your page eligible for the rich results Google still supports, and removes ambiguity for anything that parses the page. It is not a route to being cited in AI answers — no AI engine documents structured data as something it uses to decide what to cite.
·
What this means
"Machine-readable metadata" means structured data: a block of code that describes your page's meaning in a format machines can parse without inferring it from the visible text. The audit flags this when a page has no recognizable structured data, most commonly no JSON-LD (JavaScript Object Notation for Linked Data) using the schema.org vocabulary.
Your HTML already carries readable content and basic meta tags like title and description. But a crawler reading raw HTML still has to guess the rest. Is this an article or a product page? Who is the author? When was it published? What organization stands behind it? Structured data answers those questions explicitly.
JSON-LD is the format Google recommends and the one AI engines parse most reliably. It lives in a single <script type="application/ld+json"> block, usually in the <head>, and stays separate from your visible markup. Older formats like Microdata (inline itemscope/itemprop attributes) and RDFa still work, but they interleave data with HTML, which is harder to maintain. This check is satisfied by having valid structured data present; JSON-LD is the recommended way to add it.
Note that Open Graph and Twitter Card tags are a related but different kind of metadata. They control how a link previews when shared on social platforms and do not count as schema.org structured data. A page with only Open Graph tags can still be flagged here.
Why it matters
For classic Google ranking, structured data is not a direct ranking signal, but it is the eligibility gate for rich results: review stars, breadcrumb trails, article bylines with dates, product price and availability, and more. A page with no structured data cannot earn these enhanced listings, so it shows a plainer, less clickable result next to competitors who mark up their pages. Google also says structured data helps it understand what a page is about, though it does not publish which sources feed its Knowledge Graph.
What it does for AI answers is narrower than most advice claims, so here is where the evidence actually stands. Google's AI optimization guide states that structured data is not required for its generative AI features and that there is no special markup to add (updated 2026-07-10, read 2026-09-23). Microsoft is the one operator claiming a benefit, saying schema helps its systems read content with more confidence for Copilot and AI answers in Bing (Microsoft Advertising blog, 2025-10-08, read 2026-09-23). OpenAI and Perplexity publish nothing either way. A May 2026 difference-in-differences study by Ahrefs (an SEO tool vendor) found no citation uplift from adding schema — though every page it measured was already cited heavily, so it says nothing about pages AI has not found yet.
What markup reliably does is remove ambiguity. A crawler reading raw HTML has to infer who wrote the page, what kind of thing it is and when it was published; JSON-LD states all three outright, and crawlers that do not run JavaScript read it straight from the static HTML. That is worth having on its own terms. Treat it as machine-readability, not as a citation lever.
How to fix it
- 1
Pick the schema type that matches the page
Structured data only helps when it accurately describes the page. Use Article (or BlogPosting / NewsArticle) for editorial content, Product for a product page, FAQPage for a genuine Q&A page, LocalBusiness for a physical location, and Organization or WebSite for your homepage. A single page can carry more than one type. Don't mark up content that isn't visible on the page; mismatched or invisible schema violates Google's structured-data policies, can trigger a manual action, and is ignored by AI crawlers.
- 2
Add a JSON-LD block to the page
Insert a
<script type="application/ld+json">block containing your schema, ideally in the<head>. JSON-LD is Google's recommended format and the one AI crawlers parse most reliably because it sits separate from your HTML. Start with the schema.org context, declare the@type, and fill in real values from the page. Keep every value factually identical to what a visitor sees. See the code example below for a complete Article block you can adapt. - 3
Add Organization schema site-wide
Beyond per-page types, publish one Organization block (typically on the homepage or in a shared layout) with your legal name, logo URL, and a
sameAsarray linking to your official profiles: LinkedIn, Wikipedia, Crunchbase, X, and so on. This is the anchor that lets Google's Knowledge Graph and AI engines resolve your brand to a real-world entity, which strengthens every citation of your content. Reuse the same name and logo everywhere so the entity stays consistent. - 4
Validate before you ship
Paste your URL or code into Google's Rich Results Test (search.google.com/test/rich-results) to confirm eligibility for specific rich features, and use the Schema Markup Validator (validator.schema.org) for general syntax and vocabulary errors. Fix every error and review the warnings. A trailing comma, invalid JSON, or a wrong property name can cause Google to skip the whole block, so a clean validator pass is non-negotiable.
- 5
Make sure crawlers see it in the raw HTML
Ideally the JSON-LD is present in the server-rendered HTML so crawlers see it without executing scripts. Googlebot renders JavaScript, but many AI crawlers (including GPTBot) primarily read static HTML and may miss schema injected client-side. On Next.js, output it in a server component or via the Metadata API; on WordPress, Yoast and Rank Math both inject it server-side. If you inject with JavaScript, view the page source (or fetch it with curl) and confirm the block is in the raw response, not just the rendered DOM.
- 6
Confirm the fix and re-audit
After deploying, use the URL Inspection tool in Google Search Console to request indexing, then watch the Enhancements reports over the following days for detected structured-data types. Re-run this audit to clear the warning. After any content edit, spot-check that the schema values still match the page; stale dates or prices in JSON-LD are worse than none because they actively mislead both Google and AI engines.
Example
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "How to Add Machine-Readable Metadata",
"description": "A practical guide to adding JSON-LD structured data.",
"image": "https://example.com/images/cover.jpg",
"datePublished": "2026-07-07T09:00:00+05:30",
"dateModified": "2026-07-07T09:00:00+05:30",
"author": {
"@type": "Person",
"name": "Jane Doe",
"url": "https://example.com/authors/jane-doe"
},
"publisher": {
"@type": "Organization",
"name": "Example Co",
"logo": {
"@type": "ImageObject",
"url": "https://example.com/logo.png"
}
},
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://example.com/guides/metadata"
}
}
</script>A complete JSON-LD Article block. Place it in the page <head>. Replace every value with your real data; the fields must match what's visible on the page.
Platform-specific steps
Both plugins output schema.org JSON-LD server-side automatically. In Yoast, set the content type per post under the Schema tab (Article vs Web Page) and configure your Organization/Person under Yoast SEO > Settings > Site representation. In Rank Math, use the Schema Generator on each post and set the site-wide entity under Titles & Meta. Avoid running two schema plugins at once, which produces duplicate or conflicting blocks.
Most themes emit Product and Organization JSON-LD, but coverage varies. Check theme.liquid and the product template for an existing ld+json block before adding your own. If you add schema in the theme, pull values from Liquid objects (product.title, product.price) so they stay in sync with the store, and validate a live product URL rather than the code alone.
Render the JSON-LD in a server component or via the Metadata API so it lands in the initial HTML response, not the client-rendered DOM. A common pattern is a <script type="application/ld+json" dangerouslySetInnerHTML={{ __html: JSON.stringify(data) }} /> in a server component. Confirm it appears in view-source or a curl fetch, since AI crawlers like GPTBot may not execute JavaScript.
Both add some basic schema automatically but give limited control. Wix lets you add custom JSON-LD via the Custom Code / Velo (page code) settings; Squarespace supports code injection in the page header for site-wide blocks like Organization. Because their built-in markup can be incomplete, validate each key page in the Rich Results Test and add only the missing types to avoid duplicates.
Frequently asked
No. Open Graph and Twitter Card tags control how your link previews when shared on social media (the title, image, and description in the card). They're useful, but they aren't schema.org structured data and won't satisfy this check or make you eligible for Google rich results. You still need a JSON-LD block using schema.org types like Article, Product, or Organization.
Not directly. Structured data is not a ranking factor on its own. What it does is make you eligible for the rich results Google still supports (review stars, article dates, product pricing), which can raise click-through. E-E-A-T is Google's quality guidance for its human raters, not a field you fill in with markup, and no AI engine documents it as a citation factor. The click-through gain is real; you won't see a rank jump from schema alone.
Use JSON-LD. Google explicitly recommends it, AI crawlers parse it more reliably, and it keeps your structured data in one clean script block separate from your HTML, so it's far easier to maintain. Microdata and RDFa still work but embed data inline across your markup, which is harder to manage and more prone to errors.
It helps. AI answer engines read JSON-LD to understand what your page is, who wrote it, and which facts are quotable, and a FAQPage or Article block maps directly onto the format a model uses to build an attributable answer. It's not a guarantee of a citation, but unlabeled content forces the engine to guess, which makes it less likely to cite you correctly.
Yes. Only mark up content that's actually visible on the page. Adding schema for content that isn't there, or stuffing in irrelevant types, violates Google's policies, can trigger a manual action, and is ignored by AI crawlers. Keep every value in your JSON-LD identical to the visible page, and validate before shipping so a syntax error doesn't cause the whole block to be dropped.
Does your site have this issue?
Run a free, AI-powered audit and we’ll flag this and 270+ other checks. No signup.