What is schema markup, in plain English?
It is a block of hidden code on your web pages — usually a few dozen lines — written in a shared vocabulary called schema.org that Google, Microsoft and the other big search companies agreed between them. Your visitors never see it. Search engines read it every time they crawl the page.
Schema markup and structured data mean the same thing in everyday use. Google’s own documentation calls it “a standardized format for providing information about a page and classifying the page content”.
Think of the printed label on a suitcase. A human at the airport could probably work out whose case it is from the stickers and the ribbon on the handle. The printed label removes all doubt, in exactly the format the baggage system expects. Schema is that label for your website. It says, unambiguously: this is an electrician, based in Basingstoke, covering Basingstoke, Andover and Winchester, open Monday to Friday 8am to 6pm, reachable on this number.
Without it, search engines infer all of that from your wording. They are good at inferring. But inference is guesswork, and guesswork occasionally gets it wrong — the wrong town, an old phone number, a business type that does not match what you actually do.
Google supports three formats: JSON-LD, Microdata and RDFa. Its documentation recommends JSON-LD “if your site’s setup allows it, as it’s the easiest solution for website owners to implement and maintain at scale”. JSON-LD can sit in either the <head> or the <body> of the page, which matters later when we get to website builders that will not let you touch the head.
Does schema markup improve your Google rankings?
No — it makes a page eligible for a richer-looking result, which is a different thing. The clearest statement in Google’s own documentation is in the general structured data guidelines, which explain what happens when markup breaks the rules: a structured data manual action “means that a page loses eligibility for appearance as a rich result; it doesn’t affect how the page ranks in Google web search”. Ranking and rich results are two separate systems, and structured data belongs to the second one.
Eligibility is not a promise either. The same page carries this, in bold, as an official note:
Google, in its general structured data guidelines: “Google does not guarantee that your structured data will show up in search results, even if your page is marked up correctly according to the Rich Results Test.” It goes on: “Using structured data enables a feature to be present, it does not guarantee that it will be present.”
So the honest framing is a raffle ticket. Markup enters you; the draw is Google’s. Reasons it may not show include the structured data not representing the main content of the page, the marked-up content being hidden from the reader, or Google simply deciding a plain text result suits the searcher better that day.
There is one indirect effect worth knowing: rich results can win clicks from wherever you already rank. Google publishes case studies to that effect on its introduction to structured data — Rotten Tomatoes measured a 25% higher click-through rate on 100,000 pages with structured data, and Nestlé measured an 82% higher click-through rate on pages showing as rich results. Those are big publishers with product, recipe and review markup, not a plumber in Hampshire, so read them as proof the mechanism exists rather than as a forecast for your own site.
Which schema types still produce a rich result in 2026?
Twenty-five, according to the gallery of supported features on Google Search Central, checked on 15 September 2026. Most of them are irrelevant to a local service business — the list covers datasets, films, maths solvers, vacation rentals and job postings. These are the ones a small UK business might actually use:
| Type | What Google says it can do | Worth it for a local business? |
|---|---|---|
| Local business | Business details in the Google knowledge panel, including opening hours, ratings, directions and booking actions | Yes — the main one |
| Organization | Logo, legal name, address, contact details and company identifiers in knowledge panels and other visual elements | Yes — pairs with the above |
| Breadcrumb | Shows where the page sits in your site structure. Desktop results only since 22 January 2025 | Usually automatic |
| Article | Larger images and headline treatment for news, sports and blog articles | Only if you publish guides |
| Review snippet | Star ratings in the result — but for local business, only for sites that collect reviews about other businesses | No, not on your own site |
| Event | A list of organised events people can attend at a time and place | Only if you run events |
| Product | Price, availability and review ratings | Only if you sell online |
| Video | Video in results, with play, key moments and live-stream support | Only if you host video |
That fifth row catches people out, and it is worth being blunt about. Google’s review snippet documentation says local business and organisation reviews are supported “only for sites that capture reviews about other local businesses”, and the local business page repeats it for both review and aggregateRating. Putting your own five-star average into your own markup is the definition of a self-serving review, and it will not produce stars in Google. Anyone selling you “star ratings in search results” for your own testimonials page is selling something that does not work.
What happened to FAQ and How-to rich results?
Google retired both, and the dates are worth having exactly right, because a great deal of advice still online was written before them.
| Date | What changed |
|---|---|
| 8 August 2023 | Google announced FAQ rich results would only be shown for “well-known, authoritative government and health websites”, and limited How-to rich results to desktop |
| 13 September 2023 | How-to rich results stopped appearing on desktop too. Google called the result type “now deprecated” in its update of 14 September |
| 8 May 2026 | Google added a deprecation notice to the FAQ documentation: the feature “will no longer appear in Google Search starting May 7, 2026” |
| 15 June 2026 | Google removed the FAQ rich result documentation entirely. Both the FAQ and How-to documentation URLs now redirect to the changelog entries announcing their removal |
A correction to an earlier version of this page. This guide previously said schema could unlock “little FAQ dropdowns” in your search results. That was already wrong when it was published in July 2026: the feature had stopped appearing the previous May, and we did not catch it. It has been corrected above. If you paid someone for FAQ markup in 2024 or 2025, you did not get a bad deal at the time; the feature simply no longer exists.
You do not need to rip out FAQ markup you already have. Google’s guidance when it first reduced FAQ results was explicit: “While you can drop this structured data from your site, there’s no need to proactively remove it. Structured data that’s not being used does not cause problems for Search, but also has no visible effects in Google Search.” A good FAQ section on a page is still worth having for the reader. It just will not change what your result looks like.
Does schema markup help with AI assistants like ChatGPT and AI Overviews?
Not in the way the SEO industry usually claims, and Google says so directly rather than leaving it to interpretation. Its AI optimisation guide lists “overfocusing on structured data” among the things to ignore:
Google, AI optimisation guide: “Structured data isn’t required for generative AI search, and there’s no special schema.org markup you need to add. However, it’s a good idea to continue using it as part of your overall SEO strategy, as it helps with being eligible for rich results on Google Search.” Its separate page on AI features puts it the same way: “You don’t need to create new machine readable files, AI text files, or markup to appear in these features. There’s also no special schema.org structured data that you need to add.”
That covers AI Overviews and AI Mode in Google Search, which is where most UK local businesses will meet AI search first. It is the same position Google takes on llms.txt files, which it says it ignores entirely.
Two honest caveats. First, Google’s list of ordinary SEO practices that still matter for AI features includes “making sure your structured data matches the visible text on the page” — so markup is not useless there, it is just not a special lever. Second, Google speaks only for Google. ChatGPT, Copilot and Perplexity are separate systems, and none of them publishes a commitment either way about schema.org markup. Anyone telling you confidently that schema is what gets you cited by ChatGPT is telling you something that no vendor documentation supports. What does reliably help is having pages that plainly state what you do and where, which is the subject of getting your business mentioned by ChatGPT.
What does LocalBusiness markup actually do — and what does it not do?
It tells Google facts about your business in a form it cannot misread: name, address, phone, opening hours, and which kind of business you are. Google’s local business documentation says that with it “you can tell Google about business hours, different departments within a business, reviews (if your site captures reviews about other businesses), and more”, and that those details may appear in the knowledge panel.
Here is what it does not do, which matters more:
- It does not create or update your Google Business Profile. Nothing in Google’s documentation says markup feeds a profile. Its guide to establishing your business details with Google lists claiming your Business Profile as the step that “enables your local business information to show up in Google Maps and Google knowledge panel”, and lists structured data separately.
- It does not put you in the map pack. The block of three local businesses above the blue links is built from Business Profiles, not from website markup.
- It does not rank you. See the section above.
- It does not fix a site with nothing on it. Markup describes the page it sits on. If your site has one vague “Services” page, labelling it accurately will not create the pages you are missing.
Only two properties are required for the rich result: name and address. Google recommends telephone, url, openingHoursSpecification, geo, priceRange and a few others. Note what is not on Google’s supported list: areaServed and description are perfectly valid schema.org properties, and plenty of generators emit them, but Google does not document them as supported for this feature. Include them if you like — they do no harm and other systems may read them — just do not expect them to do anything in Google.
A LocalBusiness example a UK trade can paste and adapt
This is a complete, valid block for a one-van electrician. Change every value to your own, then test it before you believe it. The one clever bit is the type: Google’s documentation gives exactly this pattern for a business offering several trades, with the note that additionalType is not supported.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": ["Electrician", "LocalBusiness"],
"name": "J Hollis Electrical",
"url": "https://www.example.co.uk/",
"telephone": "+441256123456",
"image": "https://www.example.co.uk/images/van.jpg",
"priceRange": "££",
"address": {
"@type": "PostalAddress",
"streetAddress": "14 Winchester Road",
"addressLocality": "Basingstoke",
"addressRegion": "Hampshire",
"postalCode": "RG21 8XX",
"addressCountry": "GB"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 51.26330,
"longitude": -1.08730
},
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"],
"opens": "08:00",
"closes": "18:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Saturday",
"opens": "09:00",
"closes": "13:00"
}
],
"areaServed": ["Basingstoke", "Andover", "Winchester", "Alton"]
}
</script>
Points to get right. The coordinates need at least five decimal places — that is Google’s stated precision requirement, and the ones above are the centre of Basingstoke, not your yard, so replace them. Times are 24-hour hh:mm. The phone number wants the country code, so a UK landline written as 01256 123456 becomes +441256123456. And priceRange must be under 100 characters or Google will not show it.
The rule that catches people is this one from Google’s introduction to structured data: “Don’t create blank or empty pages just to hold structured data, and don’t add structured data about information that is not visible to the user, even if the information is accurate.” If your markup says you open at 8am, the page should say so too. Keep the name, address and phone identical to the ones on your Google Business Profile and in your directory listings — not nearly identical, identical.
How do I add schema markup on WordPress, Wix, Squarespace or Shopify?
Every one of these platforms already emits some structured data without being asked, and none of them gives a service business full LocalBusiness detail for free. Where they differ is how hard it is to close that gap.
| Platform | What it adds on its own | How you add or extend LocalBusiness |
|---|---|---|
| WordPress | Core WordPress adds none. Yoast SEO outputs Organization, WebSite, WebPage, BreadcrumbList and ImageObject on every page, plus Article on posts | Rank Math’s free version covers business type, address, opening hours and phone. Yoast’s Local SEO features come with Yoast SEO Premium |
| Wix | Creates Local Business markup for your homepage automatically from the name and address in Business Info, and preset markup on product and blog pages | SEO panel per page, where you can edit or replace the preset structured data with your own |
| Squarespace | Automatically generates structured data for blog post, event, local business, organisation, product and website. You cannot edit or remove it | Code injection into the site or page header — available on the Core, Plus and Advanced plans and some legacy plans, not the entry-level one |
| Shopify | Themes can output Product, ProductGroup and Article through the structured_data Liquid filter. Nothing for a service business | Editing theme code by hand, or an app. There is no settings box for it |
| GoDaddy Websites + Marketing | Not documented | An HTML section inside the page. GoDaddy documents no way to add code to the head — JSON-LD in the body is still valid to Google, so it may work, but test it rather than assume |
Where this gets genuinely awkward
Squarespace is the honest problem case. Its own markup covers local business, so you may already have the basics — but you cannot edit it, and adding your own means code injection, which is not on the cheapest plan. If you are on that plan and the automatic markup is wrong or thin, your options are upgrade or live with it.
Shopify is awkward for a different reason: it is built for products, and a service business on Shopify is off the beaten track. Adding LocalBusiness means opening the theme code editor, which is the point at which most owners should stop and ask someone.
WordPress is the one where doing it yourself is realistic. Installing an SEO plugin and filling in the business details honestly takes an evening.
Platform documentation goes stale too. Wix’s help article on structured data, read on 15 September 2026, still says markup can “help improve your website’s search results and ranking” and mentions rich results “like product previews and FAQs”. FAQ rich results stopped appearing in May 2026 and Google does not describe structured data as a ranking factor. Check claims about Google against Google.
How do I test schema markup, and which tool should I use?
Two free tools, and they answer different questions, which is why people get confusing results from them.
- Google’s Rich Results Test (search.google.com/test/rich-results) answers: will this produce a rich result in Google? It only reports on features Google supports, so valid markup for something Google has retired shows nothing at all. You can test a live URL or paste a code snippet. It fetches the page as Google-InspectionTool, so a page blocked in robots.txt cannot be tested, and it defaults to the smartphone user agent.
- The Schema Markup Validator (validator.schema.org) answers: is this valid schema.org, whatever Google does with it? It is run for the schema.org community, built on the retired Google Structured Data Testing Tool, and it extracts JSON-LD, RDFa and Microdata and shows you the whole graph plus any syntax mistakes. Use it when the Rich Results Test says nothing and you want to know whether that is because your code is broken or because the feature no longer exists.
There is a third check that takes ten seconds and needs no tool: on a computer, right-click your homepage, choose View Page Source, and press Ctrl+F (Cmd+F on a Mac) for application/ld+json. That is the wrapper JSON-LD sits in. Plenty of business owners who are certain they have no schema turn out to have some, added quietly by their platform or a plugin. Do this before you pay anyone for anything.
One more thing to know: the Rich Results Test tool ignores comments inside JSON-LD blocks, but the JSON-LD standard does not. If you leave a // note in your live markup because the tester accepted it, it can still break in the wild. Take comments out.
Is schema markup worth it, and where does it sit on your list?
Worth doing once, and nowhere near the top. In the order things actually move the needle for a UK local service business, schema comes after all of this:
| Do this first | Why it beats schema | Cost |
|---|---|---|
| Claim your Google Business Profile | Google’s own documentation names this as what puts you in Maps and the knowledge panel. Markup does not do it | Free |
| One page per service | Search matches pages to questions. Markup labels a page that already exists; it cannot invent one | Your time |
| Search Console | Tells you whether Google holds your pages at all, and reports any structured data problems it finds | Free |
| Real page titles | The title is the blue line a person reads and clicks. Markup is invisible to them | Your time |
| LocalBusiness and Organization markup | Removes ambiguity about your details, and makes you eligible for the knowledge panel treatment | An evening, or a small one-off job |
If your site does not yet appear for its own business name, schema is not your problem — why isn’t my website showing on Google is the guide you want instead.
When it is a paid job, know what you are buying. A fair piece of work is: correct LocalBusiness and Organization markup on your main pages, matching your visible text and your Business Profile, tested with both tools, and the passing results shown to you on your screen. Done once. It needs revisiting only when your details change.
Red flags. A monthly fee for “schema management” — markup is set once and edited when your phone number changes. A promise of rankings from schema — Google’s documentation does not support that. FAQ or How-to markup sold as a way to take up more space in the results — both features are gone, with dates in the table above. And star ratings promised from your own testimonials, which Google’s review snippet rules do not allow.
We could not establish a defensible UK market rate for having schema added, and we are not going to invent one. There is no published survey of what UK freelancers and agencies charge for it, and the figures circulating in blog posts have no sample behind them. What is verifiable is the cost of doing it through a plugin: Rank Math’s free version covers local business details on WordPress, and Yoast’s Local SEO features come inside Yoast SEO Premium at $118.80 a year excluding VAT, listed on 15 September 2026. An earlier version of this page quoted a range of £50 to £250 for the work; we could not trace that to anything, so it has been removed.
Common questions
- What is schema markup in simple terms?
- Hidden code on your web pages, written in a shared vocabulary called schema.org, that states plainly what your business is, where it is based, what it offers and when it is open. Visitors never see it. Google and Bing read it to state facts about you with confidence instead of inferring them from your wording. Google's recommended format is JSON-LD, a block of code that can sit in either the head or the body of the page.
- How do I check if my website has schema markup?
- Paste your address into Google's Rich Results Test at search.google.com/test/rich-results, which is free and needs no account. Or open your homepage on a computer, right-click, choose View Page Source, and search for application/ld+json. If either finds something, you already have schema, and the question becomes whether it says the right things. Many platforms add some quietly without telling you.
- Is schema markup a ranking factor?
- No. Google's general structured data guidelines state that a structured data manual action "means that a page loses eligibility for appearance as a rich result; it doesn't affect how the page ranks in Google web search". Markup makes a page eligible for a richer-looking result, and Google adds that even correct markup is no guarantee one will appear. Rich results can win more clicks from the position you already hold.
- Why are my FAQ rich results no longer appearing in Google Search?
- Because Google switched the feature off. It first limited FAQ rich results to well-known, authoritative government and health websites on 8 August 2023, then added a deprecation notice on 8 May 2026 saying the feature would no longer appear from 7 May 2026, and removed the documentation on 15 June 2026. You do not need to strip out the markup. Google says unused structured data causes no problems, it simply has no visible effect.
- How do I add local business schema to WordPress?
- WordPress core adds none, so you need a plugin. Rank Math's free version has a Local SEO section covering business type, address, opening hours, phone and email, which it turns into markup for you. Yoast SEO outputs Organization, WebSite, WebPage and BreadcrumbList by default, with its Local SEO features included in Yoast SEO Premium at $118.80 a year excluding VAT. Fill the details in once, then test the result.
- How do I add schema markup to Squarespace?
- Squarespace already generates structured data for blog post, event, local business, organisation, product and website automatically, and you cannot edit or remove it. To add your own you use code injection into the site header or a page header, which is available on the Core, Plus and Advanced plans and some legacy plans. On the entry-level plan there is no supported route, so your choice is to upgrade or to live with the automatic markup.
- Does schema markup help with AI search like ChatGPT and AI Overviews?
- Not as a special lever, and Google says so plainly: "Structured data isn't required for generative AI search, and there's no special schema.org markup you need to add." It still recommends keeping structured data as part of ordinary SEO, and lists making your structured data match the visible text as a practice that matters. ChatGPT, Copilot and Perplexity publish no commitment either way, so nobody can honestly promise you citations from markup.
- What does "no local business schema identified on the page" mean?
- It means the tool you ran found no LocalBusiness structured data on that particular URL. That is usually because your platform adds it only to the homepage, or adds Organization instead, or adds none at all. Check the homepage as well as the page you tested, and run validator.schema.org alongside Google's Rich Results Test, since the Google tool only reports features Google still supports.
Related guides
Sources, all checked 15 September 2026. Count of supported types, and what each can do: Google Search Central, “Structured data markup that Google Search supports” (25 features listed). No guarantee of a rich result, the manual action wording and the three supported formats: Google Search Central, “General structured data guidelines” and “Introduction to structured data markup in Google Search”, which is also the source of the JSON-LD recommendation, the placement rule, the rule against marking up invisible information, and the Rotten Tomatoes (25% higher click-through rate) and Nestlé (82%) case studies. FAQ and How-to: Google Search Central blog, “Changes to FAQ and HowTo rich results”, 8 August 2023 with its update of 14 September 2023; and the Search Central documentation updates log entries of 8 May 2026 and 15 June 2026. Breadcrumb desktop-only: documentation updates log, 22 January 2025. AI features: Google Search Central, “AI features and your website” and the “AI optimization guide”. LocalBusiness required and recommended properties, the multi-type array, the five-decimal-place rule and the self-serving review restriction: Google Search Central, “Local business (LocalBusiness) structured data” and “Review snippet”. Business Profile as the route into Maps and the knowledge panel: Google Search Central, “Establish your business details with Google”. Rich Results Test behaviour: Search Console Help, “Rich Results Test”. Schema Markup Validator: schema.org, validator documentation page. Platforms: Wix Help Center, “About Structured Data Markup” and “Creating Local Business Markup for Your Site’s Homepage”; Squarespace Help Center, “How does Squarespace optimize my site for search results?” and “Using code injection”; Shopify, structured_data Liquid filter reference on shopify.dev; Yoast developer portal, “Yoast SEO for WordPress: Schema output”, and yoast.com for the Premium price; Rank Math knowledge base, “Local SEO”; GoDaddy Help UK, “Add HTML or custom code to my site”. Could not be sourced, and therefore removed from this page: the £50 to £250 range for having schema added, which appeared in the earlier version — there is no published UK survey of what this work costs, and we would rather say so than repeat a figure with nothing behind it. We also found no vendor documentation from OpenAI, Microsoft or Perplexity making any claim about schema.org markup and citation in their assistants, in either direction.