Structured data in 2025: what still earns rich results
Which structured data types still earn rich results in 2025, what Google has restricted or retired, and how to generate, validate and monitor your JSON-LD.
Structured data still earns rich results, but the list of types worth adding is shorter than it used to be. FAQ rich results are now limited to a small group of sites, HowTo has been retired, and businesses can’t earn stars by marking up reviews of themselves. Here is what to implement for your type of site, and how to keep the markup accurate as the site changes.
What structured data does, and what it doesn’t
Structured data describes a page in a shared vocabulary (schema.org), so Google can tell that a number is a price, a date is when an event starts and an image is your logo. Google recommends JSON-LD: a block of code that sits apart from your visible HTML and is easy to generate.
Three rules shape every decision:
- Eligibility, not ranking. Valid markup makes a page eligible for a rich result. Google doesn’t promise to show one, and the markup isn’t a ranking factor in itself. What it does is help Google understand the page.
- It must match the page. Markup has to describe content that visitors can see. Marking up hidden or misleading content breaks Google’s guidelines and can lead to a manual action that removes rich result eligibility.
- Required means required. An item that’s missing a required property isn’t eligible. Recommended properties improve what the result can show.
What’s worth implementing, by type of site
- Every site:
Organizationon the home page or about page, with your name, logo and official profiles. It helps Google identify your organisation and can influence the logo shown in results. AddBreadcrumbListwherever pages sit in a hierarchy. - Local businesses:
LocalBusiness, with an address, phone number and opening hours that match your Business Profile exactly. Our Google Business Profile checklist covers the profile side. - Online shops:
ProductwithOfferon product pages. Pages where shoppers can buy are eligible for merchant listings; other product pages, such as reviews, for product snippets. This is where our e-commerce SEO work on markup starts. - Publishers and blogs:
Article, with the headline, images, author and dates, helps Google pick up the right details. - Events, jobs and video:
Event,JobPostingandVideoObjectmake pages eligible for Google’s event, job search and video features.
What each type can earn in 2025
| Type | What it can earn | Status |
|---|---|---|
| Organization, LocalBusiness | Logo and business details that Google can show | Implement |
| Product and Offer | Merchant listings and product snippets | Implement |
| Article, BreadcrumbList | Clearer article details and a readable site path | Implement |
| Event, JobPosting, VideoObject | Event, job search and video features | Where relevant |
| FAQPage | Shown only for well-known government and health sites | Restricted |
| HowTo | Nothing: the rich result has been retired | Retired |
| Reviews of your own business | No stars: self-serving reviews aren’t eligible | Not eligible |
What changed
Three changes still catch sites out:
- FAQ rich results are shown only for well-known, authoritative government and health websites. Everyone else’s FAQPage markup earns nothing visible.
- HowTo rich results have been retired.
- Self-serving reviews aren’t eligible for stars. If a business marks up reviews of itself on its own site, using
LocalBusinessorOrganization, Google won’t show them.
Google has said that markup it no longer uses doesn’t cause problems, so there’s no need to rush to remove it. Just don’t spend new development time on it. The content itself is a separate question: a good FAQ section can still answer buyers’ questions on the page, even without a rich result. And remember that rich results are extras: for most searches, your title tags and meta descriptions still shape what people see first.
Generate it from the page’s own data
The most reliable markup is generated by the template, from the same data that renders the visible page: the product record, the CMS fields, the event listing. The price in the JSON-LD is then the price on the page, because both come from the same field. Hand-pasted snippets and plugins that guess are how markup drifts out of date.
Map each template to its types first: product pages to Product and Offer, articles to Article, pages below the home page to BreadcrumbList. Then decide which field feeds each property. Site-wide details belong in one place: Google suggests putting Organization on the home page or a single page about the organisation, and you don’t need it on every page. For product pages, Google recommends putting the markup in the initial HTML, because markup generated by JavaScript can make Shopping crawls less frequent and less reliable.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Merino crew-neck jumper",
"image": "https://example.com/images/merino-jumper.jpg",
"offers": {
"@type": "Offer",
"price": "89.00",
"priceCurrency": "GBP",
"availability": "https://schema.org/InStock"
}
}
</script>
In the template, each of those values comes from a field, never from text someone typed into a box.
Structured data as part of the build
- ModelChoose types per template and map them to visible fields
- GenerateBuild JSON-LD from the same data as the page
- ValidateRich Results Test and Schema Markup Validator
- MonitorSearch Console reports after every release
Validate and monitor
- Rich Results Test shows which Google rich results a page is eligible for and what’s missing. Test the live URL rather than pasted code, so the tool renders the page as Google would.
- Schema Markup Validator checks your markup against schema.org in general, including types that Google doesn’t use for rich results.
- Search Console’s rich result reports (the enhancement reports, plus Merchant listings and Product snippets for shops) show errors and warnings across the whole site.
We add a structured data step to release QA: a short list of URLs, one per template, goes through the Rich Results Test before each deployment, and we check the Search Console reports a few days later. Watch for quieter changes too. A theme or plugin update can drop a property without anyone noticing, and the first sign is often a new error in an enhancement report.
Common errors we find
Structured data errors we find most often
- Markup for content that isn’t visible on the page
- A price or availability that doesn’t match the page
- Missing required properties, so the item isn’t eligible
- Product markup on category and listing pages
- Review stars on pages about your own business
- Static JSON-LD left over from an old template
- Conflicting blocks from a theme and a plugin
- A logo URL that Google can’t crawl
Prices deserve special attention on online shops. Google may try to verify merchant listing data before it shows it, so markup that disagrees with the page works against you. Structured data is part of our technical SEO work, from choosing types per template to monitoring after each release.
Want to know which rich results your templates qualify for? Request a free SEO audit and we’ll review your structured data as part of it.