rendering.structured-data-client-only
Structured data is only added by JavaScript.
What to change
Google processes JSON-LD injected by JavaScript, but other consumers do not. Prefer emitting it in the server HTML.
The documentation on developers.google.comA finding of this rule on a page carries the exact edits for that page: the markup it quotes, and what to write instead.
When it runs
Runs with --render, on the command or the local server. Info is a best practice: worth doing, rarely urgent, and --no-info leaves it out. Each finding takes 1 point off the page's score.
The severity here is the rule's usual one: a finding can be raised or lowered when the page gives a reason.
Run it, or skip it
Check a page for this rule alone, after a fix for instance:
npx @rivi-software/agentic-seo-check audit https://example.com --render --rule rendering.structured-data-client-only
Or from an assistant, with the MCP tool seo_audit_page:
{
"url": "https://example.com",
"render": true,
"rules": [
"rendering.structured-data-client-only"
]
}
To leave it out of an audit, pass --disable rendering.structured-data-client-only on the command, or disableRules: ["rendering.structured-data-client-only"] to a tool.
More in JavaScript rendering
All 12 rules- Warning
rendering.canonical-client-onlyThe canonical link only exists after JavaScript runs. - Warning
rendering.canonical-changedJavaScript changes the canonical URL after load, sending conflicting signals. - Error
rendering.noindex-client-onlyA noindex directive is injected by JavaScript. Google applies it when it renders the page, which removes the page from the index. - Warning
rendering.noindex-removed-by-jsThe server HTML says noindex but JavaScript removes it. Google honours the server noindex and skips rendering, so the page stays out of the index. - Warning
rendering.h1-client-onlyThe <h1> only exists after JavaScript runs. - Warning
rendering.content-client-onlyMost of the body text only exists after JavaScript runs. - Warning
rendering.links-client-onlyMost internal links only exist after JavaScript runs, delaying discovery of the linked pages. - Info
rendering.console-errorsThe page logged JavaScript errors while rendering.