Skip to content

This translation has not been editorially reviewed yet. The German version is authoritative. Deutsche Fassung →

SEO

What is structured data, and what does JSON-LD do for my website?

Structured data is machine-readable additional information in the source code that tells search engines what a page is — a business, a product, an event, or a list of frequently asked questions. The common format for this is called JSON-LD. This information is the foundation for enhanced search results with rating stars, opening hours, or expandable questions — and, increasingly, for AI answer engines drawing on a page as a source.

Structured data translates your page for machines

A person immediately recognises on your website that "Mon–Fri 8am–5pm" are opening hours, and "Huber Joinery" is the company name. A machine initially sees only text. Structured data solves this: it names, in a fixed, globally agreed vocabulary, what the individual values mean — this is an organisation, this is its name, this is its address, this is its opening hours. The JSON-LD format bundles these assignments into a dedicated, invisible block in the source code, with no change to the visible content. The type declaration is what matters: it says what kind of thing this is — without it, the block stays worthless.

Enhanced search results are built from these values

Google uses structured data to enrich results: rating stars under the title, opening hours next to the address, expandable questions and answers right in the results list. Results enriched like this stand out and take up more space than a competitor's standard entry. There's a second benefit on top, one that's gaining weight: AI answer engines prefer to draw on pages that say, in machine-readable form, what they are and who's behind them. A page with no structured data can only get the plain result in either case — our check therefore treats its absence as a serious shortcoming in the SEO audit area.

How we check structured data in three stages

The check verifies every JSON-LD block on a page in three stages. First: is a block present at all? If every one is missing, the report reports a serious shortcoming. Second: is the block technically valid? A typo can render the entire block unreadable — search engines then silently ignore it, and the values have no effect, even though they're in the source code. Third: does the block contain a type declaration, meaning does it say what kind of thing this is? Only once all three stages are passed does the page reach this check point's full marks.

  • Ask your agency to set your company data as JSON-LD on the homepage: name, address, phone number, and opening hours.
  • Choose the type to match the page — a local business, an event, and a list of questions each have their own types.
  • Also mark up existing question-and-answer sections with FAQ structure.
  • Have it checked after every change whether the blocks stay technically valid — a typo switches off the whole block.
  • Keep the values up to date: changed opening hours belong in the structured data too.

FAQ

What is JSON-LD, explained simply?

JSON-LD is a format a website uses to tell search engines, in machine-readable form, what's on it — this is a business, this is its name, here's the address, these are the opening hours. The information sits in an invisible block in the source code, and doesn't change the page's appearance. Google builds enhanced search results from it.

Do structured data produce better search results?

It's the precondition for enhanced results: rating stars, opening hours, or expandable questions right in the results list. Results like these stand out more and take up more space than plain entries. AI answer engines also prefer to draw on pages that say, in machine-readable form, what they are. Without structured data, both stay out of reach — that's why we check it on every page.

Why isn't my structured data having any effect?

The most common cause is a technical error in the block: even a typo invalidates the JSON-LD, and search engines then silently ignore it — with no error message to you. The second cause is a missing type declaration, leaving unclear what's being described. Our check verifies both per page, and names in the report which blocks are affected.

Deutsche Fassung dieser Seite