Skip to content
EUID Audit service & seal, Home
Get your website audited

This translation has not been editorially reviewed yet. The German version is authoritative. Deutsche Fassung

GEO / AI

Why does JSON-LD have to be in the server HTML and not come via JavaScript?

Structured data in JSON-LD is the most important lever for AI systems to map a side of an entity. However, many websites do not deliver them in the HTML that the server sends, but only insert them in the browser – via a tag manager, an SEO plugin or a script. Google’s crawler runs JavaScript and sees that. The crawlers of the AI providers usually do not do this: they read the first HTML and are ready. For them, a reloaded JSON-LD does not exist. The GEO check area therefore compares the delivered HTML with the rendered document.

How the comparison works

During the measurement, the checking area reads two versions of the same page: the first HTML that the server sends on the first call, and the state after rendering in the browser. If it finds JSON-LD in the rendered document, but no JSON-LD block in the first HTML, the specification is reloaded — and invisible to crawlers without JavaScript. The rule then costs six out of a hundred points. If there is no JSON-LD, not this rule, but the rule applies to the rich scheme; There is no double penalty for the same absence. If the first HTML could not be read, the rule remains without deduction.

The correction is usually in the editorial system

JSON-LD belongs in the page template so that the server delivers it with the HTML. Most editorial systems and SEO modules can do that; Often only the output is chosen via the tag manager, because that went without a developer. The detour via a script not only costs the AI visibility, but also delays the processing for Google because the crawler has to render the page first. If you change the output, you should then call up the page with JavaScript switched off or view the source text: If the block is there, it is visible for every crawler. The test area confirms this on the next pass.

  • View the source code of the page (not the inspector): If the JSON-LD block is there, it is delivered by the server.
  • Convert the output of structured data from the tag manager to the page template or SEO module of the editorial system.
  • After the changeover with JavaScript turned off, check if the block still exists.
  • Keep JSON-LD and visible content in sync — reloaded information drifts apart more easily.

Deutsche Fassung dieser Seite

  • Seal Digitale Barrierefreiheit
  • Seal Daten & Recht
  • Seal Technische Qualität
  • Seal Digital Excellence
  • Seal Cyberversicherung

Audited. For a better digital future.euid.com