Check 2.2 · Brand identity

Is your structured data in the HTML, or added by a script?

Structured data is in the raw HTML, not injected by scripts. Structured data exists to be read by machines, and many of those machines do not execute scripts.

check 2.2Brand identityagent switches it

What the check looks at

The check compares the JSON-LD present in the raw HTML with the JSON-LD present after rendering. Schema that appears only after JavaScript runs — injected by a tag manager or a client-side framework — is absent for every pipeline that reads raw HTML.

Why it matters

Structured data exists to be read by machines, and many of those machines do not execute scripts. Schema injected by Google Tag Manager is a common case: valid in the browser, invisible in the fetch.

How to see it on your own site

View source — not the inspector — and search for application/ld+json. If it is in the inspector but not the source, it is injected.

Schema & entity check → — free, no signup.

How to fix it

  • Emit the JSON-LD from the server template or the static build.
  • Remove the tag-manager copy once the server copy exists, so the two cannot disagree.

What the agent does: the Organization block the agent serves is written into the HTML the site sends — it is there in the raw fetch.

Related checks

Part of the 23 checks · group: Brand identity — JSON-LD on the page, entity links (@id, sameAs), Wikidata record, consistent external profiles.

Questions people ask

Google reads my injected schema — why does it matter?

Google renders; most AI retrieval fetchers do not. Server-side schema is read by both.

Start with the free check. Then tell the agent what you need.

The free check runs the 23 checks on your public pages. Nothing is installed, nothing changes until you press it.

Free check from outside in minutes · the report by email · nothing installed yet