Key takeaways
- Use JSON-LD. It is the format Google recommends and the easiest to maintain.
- Mark up what is visible on the page, never more.
- Organization or WebSite on the home page, BreadcrumbList on nested pages, one main entity per page.
- Valid markup makes a page eligible for rich results. It does not guarantee them.
On this page
What structured data does
Search engines read the HTML and guess what a page is about. Structured data removes the guessing: it states in a fixed vocabulary, schema.org, that this page is an article written by this person, or a product with this price, or the home page of this organisation.
That enables rich results such as product prices and ratings, breadcrumbs and article details in search, and it feeds the knowledge graphs search engines and assistants use to connect entities.
JSON-LD, the format to use
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Example Inc.",
"url": "https://example.com",
"logo": "https://example.com/logo.png",
"sameAs": [
"https://www.linkedin.com/company/example",
"https://x.com/example"
]
}
</script>
JSON-LD sits in its own script block, separate from the visible markup, so templates stay readable and the data is easy to change. Microdata and RDFa also work but tangle the data with the HTML.
Which types on which pages
| Page | Type | The properties that matter |
|---|---|---|
| Home page | Organization (or LocalBusiness), WebSite | name, url, logo, sameAs |
| Article, post, guide | Article, BlogPosting or NewsArticle | headline, author, datePublished, dateModified, image |
| Product page | Product with an Offer | name, image, offers.price, offers.priceCurrency, offers.availability |
| Shop, office, practice | LocalBusiness | name, address, telephone, openingHours, geo |
| Nested pages | BreadcrumbList | itemListElement with name and item for each step |
| Questions and answers | FAQPage | mainEntity with Question and acceptedAnswer |
The schema markup generator writes each of these with the right properties.
The rules that keep markup working
- Mark up what people can see. Reviews, prices and questions in the markup must be on the page. Hidden or invented data breaks search engine policies and can lead to a manual action.
- Be specific. Use the most precise type that fits, such as
BlogPostingrather thanCreativeWork. - Use absolute urls for
url,imageandlogo. - Keep it in the server HTML. Markup injected by a tag manager may be read late or not at all, and AI crawlers that do not render will never see it.
- One truth per entity. Plugins and themes often both emit Organization markup with different values. Keep one.
Validate
- The structured data checker parses every block, lists the types, and reports missing required and recommended properties.
- Google’s Rich Results Test shows whether a page is eligible for specific rich results.
- Search Console’s enhancement reports show errors across the whole site over time.
Common mistakes
- A syntax error such as a trailing comma. One error makes the whole block unreadable.
- The wrong page. An Organization block on every page is fine. A Product block on a category page is not.
- Dates in the wrong format. Use ISO 8601, for example
2026-10-27or2026-10-27T09:00:00+00:00. - Ratings without reviews. An aggregate rating needs real reviews shown on the page.
- Breadcrumbs that do not match the visible trail.
Check your own site
The Structured Data Checker runs the checks from this guide on any public page, free and without an account.
Open the Structured Data CheckerFrequently asked questions
Where should JSON-LD go in the page?
Anywhere in the HTML, usually the head. It must be in the server response to be read reliably, not injected later by a script.
Can I use several JSON-LD blocks on one page?
Yes. Several script blocks or a single @graph both work. Avoid describing the same entity twice with different values.
Does structured data help AI assistants?
It helps any machine understand the entities on a page and who stands behind it. It is not a guarantee of being cited, but it is cheap and also serves classic search.
Are FAQ rich results still shown?
Google now shows them only for a limited set of authoritative sites. The FAQPage markup is still valid where the content really is a list of questions.