The definition
Structured data, explained without the jargon.
Structured data is code added to a web page that labels its key facts, such as your business name, phone number, services, hours and service area, in a standard format search engines read without guessing. A person who sees “Call (503) 555-0100” knows it’s a phone number. A search engine has to infer it. Structured data tells it outright.
The labels come from Schema.org, a shared vocabulary backed by Google, Microsoft, Yahoo and Yandex. It defines types of things, like LocalBusiness, Service or FAQPage, and the properties each one can have, like telephone, openingHours or areaServed. That’s why people use “schema” and “structured data” to mean the same thing. Our marketing glossary defines both, along with the other terms in a website proposal.
The code itself usually goes in the page as JSON-LD, a block of text that visitors never see. Google supports JSON-LD, Microdata and RDFa and recommends JSON-LD, because it sits apart from the visible page and is easiest to maintain. Here’s a simplified example for a made-up plumbing company:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Plumber",
"name": "Example Plumbing Co.",
"telephone": "+1-503-555-0100",
"url": "https://www.example.com/",
"areaServed": ["Beaverton", "Hillsboro", "Tigard"],
"openingHours": "Mo-Fr 07:00-18:00"
}
</script>
Every value in that block also appears on the page where a visitor can read it. That match is the most important rule in this whole guide.
One note if you arrived here from a database or spreadsheet class: “structured data” also means information organized in tables with fixed fields. Same words, different job. This guide covers the website kind. For Google’s own introduction, see how structured data works .
Why it matters
Four reasons structured data is worth getting right.
It removes the guesswork
Google says it uses structured data to understand what a page is about. Labeled facts leave less room for a search engine to get your hours, phone or service area wrong.
It qualifies you for rich results
Breadcrumbs, logos, videos, events and other enhanced listings depend on markup. A richer listing takes more space on the page and gives searchers more reasons to pick you.
It ties your business together
Markup on every page can point to one business entity, with links to your Google Business Profile and social profiles, so search engines connect your site to the business behind it.
It gives AI search clean facts
Google lists structured data that matches the visible page among good practices for its AI features. Any system reading your page gets your facts in a format it can’t misread.
Know the limits too. Markup isn’t a shortcut in the rankings: it labels a good page, it doesn’t make a weak page strong. And Google says correct markup is not a guarantee of a rich result. It makes a page eligible; Google decides what to show.
What to use
The structured data types a service business needs.
You don’t need dozens of types. A plumber, electrician, roofer or remodeler needs a handful, placed on the right pages:
| Type | Where it goes | What it labels |
|---|---|---|
| LocalBusiness (or your trade’s subtype) | Homepage and contact page | Name, phone, service area, hours, logo, profile links |
| Organization and WebSite | Every page, through the site template | One business entity behind the whole site |
| Service | Each service page | The service, who provides it and where |
| BreadcrumbList | Every inner page | Where the page sits in your site |
| FAQPage | Pages with a visible FAQ | The questions and answers on that page |
| BlogPosting | Blog posts | Headline, author, date and image |
| VideoObject | Pages with your own videos | The video’s title, length and thumbnail |
Use the most specific business type that fits. Schema.org has Plumber, Electrician, HVACBusiness, RoofingContractor, GeneralContractor, HousePainter and Locksmith, among others. They tell search engines more than the generic LocalBusiness does.
Two cautions. Google has cut FAQ rich results back to a small set of well-known government and health websites, so don’t expect FAQ markup to add a dropdown under your listing; it still labels your questions and answers. And if you run a service-area business that hides its street address on Google, leave the address out of your markup too and use areaServed for your towns. Schema is public, and it shouldn’t publish what your profile keeps private.
Stay out of trouble
The rules your markup has to follow.
Mark up what the page shows. Every fact in your structured data must appear on the page for a visitor to read. Google’s guidelines require it, and it’s the rule we see broken most often.
Never fake reviews or ratings. Don’t copy your Google reviews into review markup to chase stars, and never invent a rating. Google doesn’t show stars for reviews a business marks up about itself, and fake review markup is spam.
Keep it current. When your hours, phone number, prices or services change, the markup changes the same day. Stale markup tells search engines one thing while your page says another.
Describe one business, once. If your theme and your SEO plugin each output their own business markup, you can end up with two conflicting entities. Pick one source.
Markup that misleads can earn a manual action in Search Console, which strips your pages of rich results until you fix it. Read Google’s general structured data guidelines before you add anything beyond the basics.
Put it on your site
Three ways to add structured data.
An SEO plugin. On WordPress, plugins such as Yoast and Rank Math output basic organization, website, breadcrumb and article markup automatically. That covers the floor. You’ll usually need to set your business type, hours and service area in the plugin settings, and add service markup separately.
JSON-LD in your templates. A developer writes the markup into your site’s templates, filling it from the same data that fills the page. This gives you the most control and the fewest conflicts. It’s how we build it.
A tag manager. You can inject JSON-LD through Google Tag Manager. Google can read it, but the markup lives apart from the page it describes, so it drifts out of date more easily.
Whichever way you choose, work template by template: decide which types each kind of page carries (homepage, service page, city page, blog post), fill them from your real facts, then test.
Check your work
How to test structured data.
Use two tools, because they answer different questions. Google’s Rich Results Test tells you whether a page qualifies for the rich results Google supports, and flags missing required fields. The Schema Markup Validator at validator.schema.org checks all Schema.org markup, including types Google doesn’t turn into rich results, like Service.
After launch, watch the enhancement reports in Search Console. They list pages with markup errors or warnings as Google crawls them, so you catch a broken template before it spreads across the site. URL Inspection shows what Google found on any single page.
A clean test result means the code is valid. It doesn’t mean the facts are right. Read the markup against the page once more, with someone who knows the business, before you call it done.
Common problems
Mistakes we find on service business sites.
Someone else’s details
Markup copied from a template or a previous site, still carrying the wrong phone number, town or business name.
Self-serving review stars
Google reviews pasted into review markup in hopes of stars, which Google won’t show and may treat as spam.
The generic type
Plain LocalBusiness where Plumber or RoofingContractor would say more.
Stale hours and prices
Markup that still lists old hours or a discontinued service.
A leaked address
A service-area business whose markup publishes the home address its Google profile hides.
Two businesses in one
A theme and a plugin each outputting their own business markup, with different details.
How we do it
Structured data on every page we build and manage.
Lithium Marketing builds structured data into every website we design , typically a $5,000 project, and maintains it as part of every SEO program , which typically runs $1,300 to $3,000 a month. Each page carries one connected set: the business, the website, the page itself, its breadcrumbs, and service or FAQ markup where the page has them. All of it is filled from the same facts the visitor reads.
Structured data is also one piece of AI search readiness. For the rest of that picture, read the answer engine optimization guide and how to appear in Google AI Overviews .
