What is structured data and do I need it?
Machine-readable facts about your page. Worth adding where it genuinely describes the content, worthless — and occasionally harmful — everywhere else.
Structured data is a block of JSON-LD stating in machine-readable form what a page is about — an article, a product, an organisation, a set of questions. It can earn rich results in search and makes a page easier for assistants to attribute. Add it where it describes the page honestly; do not add types that do not apply.
What it looks like
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "How to fix duplicate title tags",
"datePublished": "2026-08-16",
"dateModified": "2026-08-16",
"author": { "@type": "Person", "name": "Jane Doe" },
"publisher": { "@type": "Organization", "name": "Example Ltd" }
}
</script>JSON-LD in a script tag is the format Google recommends. Microdata and RDFa still work but are harder to maintain because they are woven into the markup.
What it buys you
- Rich results. Star ratings, prices, FAQ dropdowns, recipe cards, event dates. These change how your listing looks and materially affect click-through.
- Unambiguous facts. A price of "£29.99" in prose has to be inferred. In structured data it is stated.
- Attribution. Author, organisation and dates in machine-readable form make a page easier for an assistant to cite responsibly.
- Entity understanding. Organisation and Person markup helps engines connect your site to the entity it represents.
What it does not buy you is a ranking boost. Structured data is not a ranking factor; it changes presentation and comprehension, both of which have downstream effects.
The types most sites should have
| Type | Use on |
|---|---|
Organization | Homepage. Name, logo, URL, social profiles, contact. |
WebSite | Homepage. Enables the sitelinks search box. |
Article / BlogPosting | Any editorial page, with author and dates. |
BreadcrumbList | Any page in a hierarchy. Improves how the URL line renders. |
FAQPage | Pages with genuine question-and-answer sections. |
Product | Product pages, with price and availability. |
LocalBusiness | Anywhere with a physical location, with address and opening hours. |
Where it goes wrong
- Marking up things that are not there. FAQPage on a page with no questions, or Review markup for reviews you wrote yourself. This is a policy violation and attracts manual action.
- Contradicting the page. A price of £10 in the markup and £15 on the page. The mismatch is checked.
- Invalid JSON. One trailing comma and the whole block is discarded silently.
- Stale data. Availability marked in stock for a product that has not been stocked in a year.
- Injected by JavaScript. It may still be picked up by Google, but crawlers that do not render will never see it.
Validating it
- Use Google's Rich Results Test for eligibility, and the Schema.org validator for correctness — they check different things.
- Watch the Enhancements reports in Search Console for errors on live pages.
- Confirm the block is in the server-rendered HTML with
curl. - Re-check after template changes, which is when it usually breaks.
What our audit reports about this
Every item below is measured directly, not inferred. Run it against your own site and the result names the exact rule or header responsible.
- Every structured data block found, its type, and whether the JSON parses.
- Whether required properties for the declared type are present.
- Whether Organization, Article or FAQPage markup exists where the content warrants it.
- Whether the markup is server-rendered or added by JavaScript.
For agents and scripts, the same measurement is at
/api/v1/seo?url=yoursite.com —
see the API documentation.
Related questions
Does structured data improve ranking?
Not directly. It affects how your result is displayed and how confidently your content is understood. Both influence traffic; neither is a ranking factor in itself.
Which format should I use?
JSON-LD. Google recommends it, it sits in one block instead of being scattered through the markup, and it can be generated from the same data that renders the page.
Can I add FAQ schema to any page?
Only where visible questions and answers actually exist on the page. Google requires the content to be present and visible; marking up questions that are not there is a violation with real consequences.
Read next
How do I add an FAQ section that search engines actually use?
Real questions, visible answers, correct markup — in that order. Schema on questions nobody asked achieves nothing.
ReadHow can I improve my SEO?
The work that actually moves rankings, ordered by effect per hour spent — and the popular tasks that do almost nothing.
ReadHow does Google AI Overviews pick sources?
What is known about how AI Overviews selects what it quotes, what follows from it, and what nobody outside Google actually knows.
ReadHow do I make my website look trustworthy?
The signals people and machines actually use — most of which cost nothing and are missing from most small sites.
Read