I am looking to use JSON-LD for schema on a website. (Schema meaning schema.org data.) I know how to write the data but my question is is there a prefered location in my code to insert this data? In other words, should the JSON-LD always be in the head
, body
, etc.?
The data can be placed anywhere. From Google's documentation:
The data, enclosed within the
<script type="application/ld+json">
...</script>
tags as shown in the examples below, may be placed in either the<HEAD>
or<BODY>
region of the page that displays that event.
You can also use data dynamically fetched using AJAX:
JSON-LD markup inserted by Javascript that runs upon initial page load can be recognized.
Update (as pointed by Antony in the comments)
The latest documentation says:
[JSON-LD is a] JavaScript notation embedded in a tag in the page head or body... Google can read JSON-LD data when it is dynamically injected into the page's contents, such as by JavaScript code or embedded widgets in your content management system.