Structured data
What is schema markup and does my website need it?
A search engine reads your page as text. Schema markup adds a second layer that names what the text is: a business, a service, an article, a set of opening hours.
What is schema markup and does my website need it?
Schema markup is structured data added to a web page using the shared schema.org vocabulary, usually as a block of JSON-LD in the page source. It labels the things on the page so a machine can read them precisely: this string is a phone number, this one is a price, this business is open until six.
It does not directly boost rankings: what it does is make a page machine-legible and eligible for rich results such as review stars, event details or product information, and eligibility is never a guarantee that Google will show them.
A shared vocabulary for describing things
Schema.org is a vocabulary maintained collaboratively by the major search engines. Schema markup is that vocabulary written into your page so software can read it without guessing.
Take a dental practice page. A human reads Open until 6pm, Mondays to Thursdays and understands it instantly. A parser sees a string of characters that might be opening hours, might be a promotion, might be a quotation. Structured data removes the ambiguity by tagging it as an opening hours specification with a day and a time, in a format every consumer of that data agrees on.
The recommended format is JSON-LD: a self-contained block of JavaScript Object Notation that sits in the page source, separate from the visible HTML. It does not change how the page looks and nothing in it is visible to a visitor, which is both its convenience and its main risk.
The vocabulary is large and most of it is irrelevant to any given site. A local business typically needs a handful of types. A publisher needs a different handful. Almost nobody needs more than six.
It does not directly boost rankings, and that is fine
This is the claim most pages on this subject get wrong, usually by implication rather than outright. Adding structured data does not push a page up the results. Google's own introduction to structured data describes it as a way to help Google understand content and make a page eligible for particular search features, not as a ranking signal.
Understanding is still worth having. A search engine that can parse your address, service area, hours and services without inference is less likely to get any of them wrong, and being described accurately is the floor of every other kind of visibility.
Read the full breakdown: It does not directly boost rankings, and that is fineHide the full breakdown: It does not directly boost rankings, and that is fine
The second benefit is eligibility. Certain result formats, the ones with images, ratings, prices, event dates or step-by-step instructions attached, require structured data before they can appear at all. Without the markup the page cannot be considered for them. With the markup it can be considered, and Google still decides.
That distinction matters when someone is selling you schema work. Eligible is an honest word. Guaranteed is not, and neither is the implication that a rich result follows automatically from valid code.
Where markup can change what your listing looks like
A results page is made of blocks, and several of them cannot be entered without structured data.
The practical effect of a rich result is not position, it is size and specificity. A listing showing a rating, a price range or a set of steps takes up more space and answers more of the question before anyone clicks. On a crowded results page that changes behaviour even when the ranking is unchanged.
Which enhancements exist depends on the content type. Recipes, events, products, job postings, courses, videos and local businesses all have documented formats. Service businesses have fewer options than they expect, which is a reason to be sceptical of a proposal that promises a transformed listing.
Google also chooses. Eligibility means the page qualifies for consideration. Whether the enhanced format appears for a given query on a given day is Google's decision, and it changes.
The types most businesses actually need
A short, correct set beats an exhaustive one. These are the types that earn their place on an ordinary business site.
- Organization: who you are, your logo, your official name and your links to other profiles you control.
- LocalBusiness, or a more specific subtype such as Dentist or HomeAndConstructionBusiness, carrying the address, phone number, opening hours and service area for each real location.
- WebSite: the site as an entity, which is also where an internal search action is declared if you have one.
- BreadcrumbList: the trail from the home page to the current page, which helps Google display the path rather than a raw URL.
- Service: what you actually provide, described as a thing rather than inferred from a paragraph.
See the full checklist: The types most businesses actually needHide the full checklist: The types most businesses actually need
- Article: for guides, explainers and posts, with an author and a genuine publication or update date.
- FAQPage: for pages with a real question and answer structure, which stays worth doing for clarity even where no rich result follows.
- Person: for named practitioners, which is how a bio page becomes a describable entity rather than a block of text.
Every one of those should describe something a visitor can see on the page. Structured data that references content the visitor cannot find is a guidelines violation, not a clever shortcut.
What schema can do, and what it cannot
Setting this out flatly saves a lot of disappointment three months after the markup goes live.
| Item | Realistic | Not realistic |
|---|---|---|
| Ranking | Helps a search engine describe the page correctly | Moves the page up the results by itself |
| Appearance | Makes a page eligible for documented rich results | Guarantees stars, images or an accordion appear |
| FAQ markup | Still useful for clarity and for describing question and answer content | A safe bet for the expandable FAQ display, which Google narrowed to a small set of well-known authoritative sites |
| Reviews | Marking up reviews your own business collected, on your own site | Marking up ratings pulled from third-party platforms, which is against Google's guidelines |
| AI and assistants | Makes the facts about your business unambiguous to any system reading the page | Guarantees a citation, since how assistants choose sources is not fully documented |
Nothing in the left column is small. It is just quieter than what schema is usually sold as.
Machine legibility is the actual product
More systems than Google now read web pages in order to answer questions about businesses.
Assistants, voice search, aggregators and directory importers all parse pages looking for facts. When the facts are tagged, they are read correctly. When they are buried in prose, they are inferred, and inference is where wrong phone numbers and outdated hours come from.
We are deliberately not claiming more than that. There is no public documentation showing exactly how any assistant weighs structured data when selecting or citing sources, and anyone presenting a mechanism with confidence is filling a gap with invention. The defensible statement is narrower: a page whose facts are unambiguous is easier to reproduce accurately than one whose facts must be guessed.
That is a good enough reason on its own. Being described correctly is worth having whether or not it ever earns a citation.
How to add it and how to check it
On most platforms you do not hand-write it. A well-built theme or an SEO plugin will generate Organization, WebSite, BreadcrumbList and article markup from fields you fill in, which is safer than pasting code because it stays in step when the content changes.
Hand-written JSON-LD is appropriate where the generated version is wrong or missing, typically for multiple locations, individual practitioners, or services that need describing precisely. Keep it in one block per page and keep it consistent with what is on screen.
Read the full breakdown: How to add it and how to check itHide the full breakdown: How to add it and how to check it
Test it three ways. Google's Rich Results Test tells you whether the page qualifies for a rich result and reports errors that would block it. The schema.org validator checks whether your markup is valid against the vocabulary, which is a different question. Search Console then reports what Google found across the whole site once it recrawls, including an unparsable structured data report that catches syntax errors.
Then watch for the failure nobody notices: the site changes and the markup does not. Hours updated on the page but not in the JSON-LD, a location closed but still described, a price changed everywhere except the structured data. Stale markup is worse than none, because it is confidently wrong.
The mistakes that make markup useless or risky
Most schema problems fall into one of these, and most are introduced by well-meaning plugins rather than by hand.
- Describing content that is not visible on the page, which Google's guidelines treat as a violation rather than a technicality.
- Marking up review ratings gathered from other platforms and presenting them as your own site's reviews.
- Two competing blocks on the same page, usually a theme and a plugin both emitting Organization data with different values.
- A LocalBusiness block whose address or phone number does not match the Google Business Profile and the footer of the site.
- Claiming a type that does not fit, such as tagging a service page as a Product to try for a price display.
- Leaving markup in place after the underlying fact changed, especially hours, staff and locations.
- Treating valid as finished: markup can validate perfectly and still describe the page inaccurately.
The test that catches nearly all of these is simple. Read the JSON-LD aloud as if it were a description of the page. If any sentence would be untrue, fix that first.
Related answers
Structured data sits between the technical layer and the answer layer. These pages cover both sides of it.
What is technical SEO?
The crawl, index and serve pipeline that has to work before any markup on the page can matter.
What is technical SEO?What is answer engine optimization?
What AEO actually involves, and the parts of it nobody can promise, stated plainly.
What is answer engine optimization?How do I get cited by AI?
The GEO guide: what is documented, what is inferred and what is marketing.
How do I get cited by AI?The GEO optimization guide
How structured data, content and reputation combine when the answer is assembled rather than listed.
The GEO optimization guideNot sure whether your markup describes your business correctly?
We will read what is actually being emitted on your pages and tell you what is wrong, duplicated or out of date.
Straight answers.
Does schema markup improve my rankings?
Not directly. Google describes structured data as a way to help it understand your content and as the requirement for certain search features, not as a ranking signal.
The indirect case is real but modest: a page that is understood correctly is more likely to be matched to the right query, and an enhanced listing can attract more clicks at the same position.
Will FAQ markup give me the expandable FAQ in search results?
Probably not. Google narrowed FAQ rich results so they appear only for a small set of well-known, authoritative sites, which excludes most businesses.
The markup is still worth adding where a page genuinely has questions and answers, because it describes the structure accurately. Just do not budget for it on the basis of a display change.
Do I need a developer to add schema markup?
Often not. Most content platforms and SEO plugins generate the common types from fields you fill in, and that generated markup updates itself when the content changes.
A developer earns their fee on the harder cases: multiple locations, practitioner profiles, service catalogues, or untangling two plugins emitting conflicting blocks.
Can schema markup get my site penalised?
It can cause a manual action for structured data issues if the markup is misleading, for example describing content that does not appear on the page or marking up reviews that are not genuine first-party reviews.
Accurate markup describing visible content carries no such risk. The line is honesty, not complexity.
How do I check what schema my site already has?
Run a page through Google's Rich Results Test to see what Google can parse and whether the page qualifies for any enhancement. Run it through the schema.org validator to check the markup against the vocabulary itself.
Then open Search Console and look at the enhancement reports and the unparsable structured data report, which show what Google found sitewide rather than on one page.
Does schema help with ChatGPT or other AI assistants?
It plausibly helps by making the facts on a page unambiguous, and we will not claim more than that. No assistant publishes enough detail about source selection for anyone to describe the mechanism honestly.
Nobody can guarantee a citation in an AI answer. What is defensible is that accurate, machine-readable facts are harder to get wrong than facts a system has to infer from prose.
Where this comes from.
Primary documentation and published research behind the guidance on this page.
- Google Search Central: Introduction to structured data markup (opens in a new tab)
- Google Search Central: FAQ (FAQPage) structured data (opens in a new tab)Read the eligibility notes: FAQ rich results are restricted to a narrow set of sites.
- Google Search Central: Local business (LocalBusiness) structured data (opens in a new tab)
- Schema.org: FAQPage (opens in a new tab)
- Schema.org: LocalBusiness (opens in a new tab)
Talk to the team
A short call, a look at how the business currently shows up, and a straight answer on what we would do first.
