Can Google read JSON-LD in the body of a page?

The Citead team, updated

In short. Google supports JSON-LD script elements in both the head and body of an HTML page when the markup follows its structured data guidance.

Definition: JSON-LD is structured data written as JSON inside an HTML <script> element. Google Search documents JSON-LD in both the <head> and <body> elements, provided the markup is valid and follows the relevant structured data guidance.

Key facts

  • Google's structured data introduction lists JSON-LD in the <head> and <body> elements of an HTML page.
  • Google says it can read JSON-LD that JavaScript or an embedded widget injects into the page contents, according to the same structured data documentation.
  • The JSON-LD 1.1 specification defines an application/ld+json script as an embedded data block in HTML.
  • The HTML Living Standard lists the script element in metadata, flow, phrasing, and script-supporting categories.
  • Google says structured data belongs on the page to which its information applies, and advises against blank pages created only to hold structured data.

Yes. Google's documentation, last updated 10 December 2025, describes JSON-LD as a JavaScript notation in a <script> tag in the <head> and <body> elements of an HTML page. A body placement therefore fits Google's documented placement for this format.

<body>
  <script type="application/ld+json">
  {
    "@context": "https://schema.org/",
    "@type": "Recipe",
    "name": "Non-Alcoholic Piña Colada"
  }
  </script>
</body>

The same page recommends JSON-LD in general because it is usually easier to implement and maintain. It also says that the markup must be valid and properly implemented for the relevant Search feature.

What does application/ld+json mean in HTML?

The W3C JSON-LD 1.1 specification describes embedding JSON-LD by placing it in a script element whose type attribute is application/ld+json; this creates a data block. The script element is the HTML container, while the type value tells a JSON-LD processor what the block contains.

The W3C specification also says that, unless a specific script is targeted, all application/ld+json script elements must be processed and merged into one dataset. Multiple blocks can therefore form one JSON-LD dataset at the processing level. This is a statement about JSON-LD processing, while Google's placement statement is the relevant product documentation for Google Search.

The HTML Living Standard gives the script element metadata, flow, phrasing, and script-supporting categories. Its documented contexts include places where metadata, phrasing content, or script-supporting elements are expected.

What else must the page satisfy?

Placement alone is only one part of implementation. Google says structured data is in-page markup for the page that the information applies to. It tells site owners not to create blank or empty pages only to hold structured data and not to add information that is hidden from users, even when that information is accurate.

Google also states that an object needs all required properties to be eligible for an enhanced display in Google Search. The relevant feature documentation and Google's general structured data guidelines therefore remain necessary when a body script is used.

How can you check a body script?

Google recommends the Rich Results Test during development and the Rich result status reports after deployment to monitor validity. A check should cover the delivered HTML, the application/ld+json value, the JSON syntax, the structured data type, and the required properties for the selected feature.

FAQ

Can a site put JSON-LD directly in the body?

Yes. Google documents JSON-LD in both the <head> and <body> elements. The body script still needs valid markup and the properties required by the relevant structured data feature.

Can a page use more than one JSON-LD script?

The JSON-LD 1.1 specification says that, unless one script is specifically targeted, application/ld+json script elements are processed and merged into one dataset.

Does body placement alone make a page eligible for an enhanced result?

No eligibility conclusion follows from placement alone. Google requires the object's required properties and adherence to its structured data guidelines.

Sources

  1. Google Search Central, "Introduction to structured data markup in Google Search", 2025-12-10
  2. W3C, "JSON-LD 1.1: A JSON-based Serialization for Linked Data", 2020-07-16
  3. WHATWG, "HTML Living Standard", 2026-10-16

Check how a page reads to answer engines. Open the GEO score analyzer

Test a page and see what to fix first

The analysis usually takes less than 10 seconds and needs no account.

400,000+ pages scored in the public benchmark