Skip to content
Back to the glossary

Structured data

Machine-readable markup that tells a search engine what the things on a page are, rather than leaving it to infer them.

How it works

A search engine reads your HTML and guesses what it describes. Structured data removes the guess. A JSON-LD block in the page declares entities and their properties using the schema.org vocabulary: this is an organization, this is its address, this is a service, these are the questions and answers on the page.

For a service business, the types that matter most are Organization, LocalBusiness, Service, FAQPage, BreadcrumbList and Article. Google uses them to decide whether a page is eligible for rich results. AI systems that assemble answers (AI Overviews, ChatGPT search, Perplexity) lean on the same entity signals, plus the sameAs links that connect your site to your other profiles, to confirm who your brand is before citing it.

It does not improve rankings on its own. What it changes is eligibility and clarity, and both matter more as search becomes generative. It also has one hard rule: the markup must describe what is actually visible on the page. Marking up reviews that are not shown, or an FAQ that does not exist, is the fastest route to a manual action.

Structured data vs metadata

People often mix up structured data and meta tags, because both live in the code and visitors never see them. They do different jobs. Meta tags such as the title tag, the meta description and meta robots tell a search engine how to display or treat one page. Structured data describes the things the page is about and how they relate to each other.

AspectStructured data (schema.org)Metadata (meta tags)
What it describesEntities: an organization, a service, an address, a set of questionsThe page itself: its title, its summary, its indexing rules
FormatA JSON-LD block (the format Google recommends), microdata or RDFaHTML tags in the head, such as title and meta name
Main effectEligibility for rich results and clearer entity signalsHow the snippet looks and whether the page gets indexed
Who reads itSearch engines and AI systems that assemble answersSearch engines and social platforms (Open Graph tags)
Typical checkRich Results Test and Schema Markup ValidatorScreaming Frog and URL Inspection in Search Console

The two have to agree. A page whose title says “SEO agency in Buenos Aires” while its markup declares a different name or city sends two versions of the same fact, and the search engine has to choose one.

A real example from our own site

In October 2026 we crawled northblueagency.com with Screaming Frog and validated every schema block. Our Buenos Aires location pages declared LocalBusiness but left out the address. Validators only raised a warning, the pages technically “had schema”, and nothing looked broken.

A LocalBusiness with no address is a weak entity, though. Google cannot match it to our Business Profile, and an AI answer about agencies in a neighborhood has nothing on the page to confirm we are there. The fix adds address, telephone, coordinates and opening hours, written exactly as they appear on the profile.

The same audit confirmed something that was working: our Organization markup points through sameAs to our LinkedIn company page, which is how a model ties the website and the company together as one entity. The lesson we now apply to every client: passing validation and being useful are two separate checks.

How to add and check structured data, step by step

This is the order we follow on a WordPress site, whether the markup comes from a plugin, from the theme or from a JSON-LD block written by hand.

  • List the entities each template represents. A home page usually carries Organization, a service page Service, a location page LocalBusiness, a blog post Article, and almost every page BreadcrumbList.
  • Check what already prints. Read the page source or run a Screaming Frog crawl with structured data extraction turned on, so you find duplicates from plugins before adding anything new.
  • Write or configure the JSON-LD with real values: the name exactly as it appears on your Google Business Profile, the full address, the phone, opening hours and sameAs links to active profiles. Give the Organization a stable @id and reference it from the other entities.
  • Test one URL per template in Google’s Rich Results Test to confirm eligibility, then in the Schema Markup Validator to catch syntax and vocabulary problems the first tool ignores.
  • Publish and request indexing for a few key URLs with URL Inspection in Google Search Console.
  • Watch the Enhancements reports in Search Console over the following weeks. They cover the whole site, which is where template problems show up.
  • Crawl again after every theme, plugin or content model change. Schema breaks silently when a template changes.

What we check on every site

  • The markup describes only what a visitor can see on the page.
  • Name, address and phone match the Google Business Profile character for character.
  • sameAs points only to real, active profiles of the brand.
  • There is one Organization entity, referenced by the same @id on every page.
  • FAQPage appears only where the questions are visible on the page.
  • Schema is re-tested after every theme or plugin update, because updates silently remove or duplicate it.

Structured data in AI search and local results

AI Overviews, ChatGPT search and Perplexity build answers from pages they can retrieve and trust. Markup does not guarantee a citation, and no AI provider publishes a rule saying it does. What it offers them is a clean, machine-readable statement of who you are, where you are and what you offer, which they can cross-check against your Business Profile, LinkedIn and directory listings.

In local search the connection is more direct. A LocalBusiness entity with the same name, address and phone as your Google Business Profile reinforces the link between your website and your map listing. When someone asks an assistant for an agency, a dentist or a repair service in a specific neighborhood, the pages that state their location clearly, in the text and in the markup, are the easiest ones to confirm.

When it matters for your business

  1. Small service business.Organization, LocalBusiness and FAQPage on a handful of pages cover most of the value. Getting the address and phone exactly right matters more than adding many types.
  2. E-commerce.Product markup with price, availability and reviews that are visible on the page makes product listings eligible for richer results. With thousands of products the markup has to come from the template and stay in sync with stock and price data, or it becomes wrong at scale.
  3. Multilingual site like ours.Each language version needs its own markup in its own language, pointing to the same Organization @id. We keep one entity for North Blue across the English and Spanish pages, so search engines see two versions of one agency instead of two agencies.
  4. Local business serving several areas.Each location page should describe a real place with a real address. If you serve an area where you have no office, describe that service area in the text instead of declaring a LocalBusiness that does not exist.

If none of these fits yet, start with Organization and BreadcrumbList. They are easy to get right, and every type you add later builds on them.

Common mistakes

  • Marking up reviews or ratings that are not shown on the page.
  • Two plugins (or a theme and a plugin) each printing their own Organization block, sometimes with different names.
  • Stale data: an old phone number or old opening hours left in the markup after they changed everywhere else.
  • Adding schema and expecting positions to jump. It makes a page eligible for features; content and links still decide rankings.

If your business serves a specific area, structured data is part of local SEO; if you want to be quoted in AI answers, it is part of answer engine optimization.

Structured data: common questions

We answer the most common questions about our services

Does structured data improve rankings?

Not directly. It makes pages eligible for rich results and makes your entities easier to identify, which can raise click-through rate and the odds of being cited in AI answers.

Do I need it to appear in AI search?

It is not a requirement, but it helps. AI systems cross-check who you are across your site and your profiles, and structured data with sameAs links makes that check easy.

JSON-LD, microdata or RDFa?

Google supports all three and recommends JSON-LD, because it lives in one block and does not depend on the HTML layout.

How do I test it?

Google’s Rich Results Test for eligibility, the Schema Markup Validator for syntax, and the Enhancements reports in Search Console to catch errors across the whole site over time.

Which schema types should a small business start with?

Organization on the home page, LocalBusiness on the contact or location page if you have a physical address, and BreadcrumbList across the site. Then add Service, FAQPage or Article where the page content supports them.

Can a plugin handle structured data for me?

Yes, plugins such as Yoast SEO generate a solid base. Check the output anyway: plugins only fill in the fields you configure, and two plugins running together often print duplicate entities.

Why do I not see rich results after adding markup?

Eligibility does not guarantee display. Google decides on each query whether to show a rich result, and some types are only shown for certain kinds of sites. Confirm there are no errors in Search Console and give Google time to recrawl the pages.

Chat with us!