SEO
Structured data: what it does and what it no longer does
How the data block for machines is built, which enhanced search results Google has retired, which mistakes are most common and how to check your own site in four steps.
8 min read
By Timo Wessels Published
Structured data is a small block of data in your page's HTML that tells a machine explicitly what it is looking at: this string is the name of a business, this date is the publication date, this address belongs to this company. Google uses it to understand content and to build enhanced search results from it — a path instead of a bare address, for example, or event dates. It is not a ranking trick and it guarantees no particular display, but it is clean, one-off work that then quietly does its job. What matters: the right format, the right types, no duplicates and a realistic expectation.
What structured data is, technically
To a person, a page explains itself. They see a number with stars next to it and know it is a rating. A machine at first sees only characters. Structured data supplies the meaning — in a shared vocabulary called Schema.org, founded by Google, Microsoft, Yahoo and Yandex. According to Schema.org, over 45 million domains mark up their pages with it.
There are three formats: JSON-LD, Microdata and RDFa. Google recommends JSON-LD, because it is the easiest to add and maintain. A JSON-LD block is a separate <script type="application/ld+json"> element that may sit in the <head> or the <body> and stays apart from the visible HTML:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Example Ltd",
"url": "https://www.example.com/"
}
</script>
@context says which vocabulary applies, @type what is being described. If either is missing, the block is, to a machine, a collection of strings with no defined meaning — even if it looks right to you.
What you can expect from it — and what no longer
Structured data makes a display possible; it does not force it. Google states explicitly that correct markup enables a search feature but does not guarantee that it will appear.
On top of that, Google has cut the list of supported result types considerably in recent years.
| Type | What happened |
|---|---|
| How-to | limited to desktop in August 2023, removed entirely since 13 September 2023 |
| FAQ | from August 2023 only for well-known government and health sites, discontinued entirely since 7 May 2026 |
| Sitelinks search box | removed in November 2024 |
| Course info, estimated salary, learning video, special announcement, vehicle listing | discontinued in 2025, documentation removed in September 2025 |
| Practice problems | documentation removed in January 2026 |
The good news: markup that is no longer used does no harm. Back in 2023 Google wrote of FAQ data that there is no need to remove it proactively — it causes no problems, but it has no visible effect either.
And there are no review stars for your own business. If the business being reviewed controls the reviews about itself — directly on its own website or through an embedded widget — the page is not eligible for the star display.
And AI answers?
A lot is promised here, so it is worth looking at what Google itself says: structured data is not required for the AI features in Google Search, and there is no special Schema.org markup for them. Google still recommends it as part of good search engine optimisation — and stresses that it has to match the visible text on the page.
For other AI systems there is one technical condition: the block has to be in the HTML the server delivers. Google can read JSON-LD injected afterwards by JavaScript. According to an analysis by Vercel, the large AI crawlers cannot — they do not execute JavaScript. Whatever a script writes into the page in the browser, they do not see.
The common mistakes
The mistakes in this field are unspectacular and repeat themselves:
- The block is only injected by JavaScript. Usually fine for Google, invisible to AI crawlers.
- The block is duplicated. Many SEO plugins output their own data graph. If your own markup runs alongside it, there are two organisations or two websites on the same page.
- The block is empty. The plugin is active but nothing has been filled in. A valid, empty shell passes every presence check and says nothing.
@contextor@typeis missing. Then it is unclear which vocabulary applies and what is being described.- The syntax breaks. A missing comma, one bracket too many — and the whole block is invalid without you noticing anything on the page.
- The data is not on the page. Google requires that only what readers can see is marked up. Violations can lead to a manual action; the page then loses eligibility for enhanced results.
The formal errors nobody suspects
These look harmless in the source and still make the value unusable.
Dates in local notation. For datePublished and dateModified Google requires ISO 8601, so 2026-09-26, or with time and time zone 2026-09-26T09:00:00+02:00 — not 26.09.2026.
A breadcrumb trail that starts at zero. Every step carries a position, and position 1 is the start of the trail. Every step except the last needs its address as a full URL with protocol and domain — /contact is not enough.
A rating without a scale. If you leave out bestRating, Google assumes 5 as the highest value, and 1 as the lowest. Output scores on a ten-point scale without stating the scale, and the values fall outside the assumed scale.
How to check it yourself
Step one — is there anything at all. Open the page source with Ctrl+U and search with Ctrl+F for application/ld+json. If you find nothing, there is no structured data in the delivered HTML — even if a plugin claims to generate it.
Step two — is it duplicated. Count the hits and check whether several blocks declare the same type. Two Organization nodes on one page are a finding.
Step three — is it valid. There are two tools for this, with different purposes:
- Google's Rich Results Test checks whether the markup qualifies for a result type Google supports. "No rich results detected" often just means: valid Schema.org, but no type Google displays. That is not an error.
- Schema.org's Schema Markup Validator checks the whole vocabulary, including types Google does not use, without Google-specific warnings. It is the successor to Google's former Structured Data Testing Tool.
Step four — what does Search Console report. The rich result status reports show valid and invalid items per type. The URL Inspection tool shows whether Google found the markup on a given page.
What to do if it is missing
Start with the basics, not with volume. Google itself writes that fewer but complete and accurate properties matter more than trying to fill every possible one. For a typical service business that means:
- Organisation — an
Organization, or aLocalBusinessfor a business with an address. Google recommends placing it on the home page or a page about the company, not on every page. WithsameAsyou point to your profiles elsewhere. This information can appear in Google's knowledge panel beside the search results. - Website — a
WebSitefor the site as a whole. - Breadcrumb — a
BreadcrumbListon each subpage. - Posts — an
Articlewith author, publication date and modification date.
For a business with premises Google requires name and address and recommends the most specific matching subtype — for example Restaurant or DaySpa rather than the general LocalBusiness. Also write name, address and phone number exactly as in your Google Business Profile and your imprint. Different spellings of the same business only make matching harder.
And the most important practical rule: either the data graph belongs to the plugin or to you. If you output your own markup, switch off the SEO plugin's. Running both in parallel is the most common cause of errors nobody can explain afterwards.
What it has to do with your loading time
Nothing. A <script> with a type that is not JavaScript counts as a data block for the browser and is not processed. It weighs a few hundred characters and blocks nothing. It is one of the few things on a website that cost work once and then quietly function.
Sources
- Google Search Central, Introduction to structured data — JSON-LD recommended, head or body, dynamically injected JSON-LD, fewer complete properties, Rich Results Test and URL Inspection tool: developers.google.com
- Google Search Central, General structured data guidelines — mark up only visible content, no guarantee, manual actions: developers.google.com
- Google Search Central, Search gallery — currently supported types, organisation and local business in the knowledge panel: developers.google.com
- Google Search Central Blog, Changes to HowTo and FAQ rich results (August 2023, with the 13 September 2023 update) — FAQ only for government and health sites, how-to removed, no need to remove markup: developers.google.com
- Google Search Central, Latest Google Search Documentation Updates — FAQ discontinued from 7 May 2026, sitelinks search box, the types discontinued in 2025, practice problems: developers.google.com
- Google Search Central, Guide to optimising for generative AI features — structured data not required, no special markup: developers.google.com
- Google Search Central, AI features and your website — no special Schema.org markup, match the visible text: developers.google.com
- Vercel and MERJ, The rise of the AI crawler — AI crawlers do not execute JavaScript: vercel.com
- Google Search Central, Review snippet — no stars for self-controlled reviews, default 1-to-5 scale: developers.google.com
- Google Search Central, Article — ISO 8601 for publication and modification dates: developers.google.com
- Google Search Central, Breadcrumb — position 1 as the start, full URL: developers.google.com
- Google Search Central, Organization — no required properties, home or about page, sameAs, knowledge panel: developers.google.com
- Google Search Central, Local business — name and address required, most specific subtype: developers.google.com
- Google Search Central Blog, An update on the Structured Data Testing Tool — move to the Schema Markup Validator, distinction from the Rich Results Test: developers.google.com
- Schema.org, home page and About — founders, over 45 million domains: schema.org
- MDN, script type — data blocks are not processed by the browser: developer.mozilla.org