Yes, AI can audit your local competitors' schema and show what they use that you don't, because their markup is public. Schema means the structured data in a website's code. For UK local businesses in October 2026, an audit's most useful finds are often mistakes, theirs and yours. When an IvI SEO AI agent checked the "electrician york" map pack from York on 9 October 2026, it compared four homepages' schema in under 4 minutes, finding four mistakes and one gap worth a look.
The York check was a snapshot, not a ranking test: one search, on one day, searched from York. It read four homepages: the three that the map-pack listings link to, plus the homepage of a York electrician I work with, which wasn't in the pack. The pack's three businesses had 76, 102 and 216 Google reviews, against the 8 in that electrician's own markup, so nothing here says schema put anyone in or out of the pack. The basics (what schema is and how to add it) are in my post on LocalBusiness schema. Here, it's the competitors' code under the microscope.
Pulling the markup:
- The tool that ran it: An AI agent can open each competitor's page itself and pull out every block of structured data. In the York check, that agent was Claude Code.
- Raw and rendered: Each York page was read twice, as raw code and as the finished page a browser shows. The schema matched on all four pages, so JavaScript added nothing.
- One page per business: The York check read the page each map listing links to, not the competitor's whole website.
Mapping types and properties:
- Side by side: The AI lines up each competitor's schema types and properties next to yours. It then checks each type name on schema.org (the official list of types) and each value against the page's visible text.
- The three in the pack: In the York check, the business at the top of the map pack had no schema at all, the second had a generic
LocalBusinessplusOrganizationandWebSite, and the third had a business type that doesn't exist plus a list of six services. - The electrician outside the pack: My client's homepage had
Electricianmarkup carrying its address, phone number, opening hours, areas served, links to its other listings (sameAs) and a star rating.
Spotting the gap:
- What the others had: Set against the three pack sites, my client's markup lacked only two things: six services marked up as
Serviceitems on one competitor's site, and alegalName(the registered company name), which is trivial. - Their mistakes: The York check found three mistakes in competitors' markup: a postcode that didn't match the page and empty opening hours on one site, and a business type that doesn't exist on another.
- A mistake closer to home: The York check also found one mistake in my client's own markup: a star rating of its own business.
One search, four pages: a peek over the fence, not a survey.
Does adding your competitors' schema help you rank?
Adding your competitors' schema is unlikely to help you rank, because schema just labels details your page already shows. Schema lets search engines read your name, address, phone and hours without guessing, and can make a page eligible for a rich result, a search listing with extras. Reviews, links, distance and a properly filled-in Google Business Profile outweigh schema in the map pack. In a snapshot IvI SEO took of the "electrician york" map pack from York on 9 October 2026, the top business's homepage had no schema, while an electrician outside the pack had the fullest markup of four homepages, with 8 reviews in its own markup against the pack's 76, 102 and 216 Google reviews.
- Not a ranking shortcut. Copying a competitor's schema gets you their labels, not their spot in the map pack.
- Rich result eligibility. Filling in schema's required fields makes a page eligible for a rich result. A rich result changes how a listing looks, not where it sits.
Here's the honest bit. The York snapshot can't tell you why any of those four businesses is or isn't in the pack. Their reviews, their distance from the searcher, their profiles and their links all differ, and one search on one day can't pull those apart. To answer it properly you'd change the schema, leave everything else alone and watch the same search for weeks. I've never run that experiment, in either direction, and this snapshot doesn't pretend to be it.
So I go on judgement. IvI SEO's Local Signal Ratings are my scores out of 10 for 33 local ranking signals, and schema isn't one of the 33. That's not me calling schema pointless. It's tidying up, not a tactic.
And anyone selling schema as a quick route up the map pack is flogging you a label maker and calling it a rocket.
Worth doing properly. Not worth losing sleep over.
Which competitors should you compare your schema with?
Compare your schema with the three businesses in the map pack for your main service and town, using the page each listing links to. Search from your own town, because the map pack, the three Google Maps results shown for a local search, changes with where the searcher is. Compare page for page, each competitor's linked page against your matching one: homepage with homepage, service page with service page. What you need first is your main service-and-town search, typed the way customers type it.
In the York check, the first pack pulled for "electrician york" was set to the whole of the UK, not York. Two of its three businesses matched the York pack and one didn't, so the York pack is the one that got compared. One business sounds like nothing. But it's a third of your list, and that one wasn't in the pack a York searcher was shown.
Your own phone won't settle it either. It shows the pack from one spot, which is wherever you happen to be sitting. Checking from where your customers are shows you the pack they actually get.
In the York check, all three listings linked to their homepages, so it was homepage against homepage, with my client's as the fourth. Not every listing does that. Some go to a service page or a page for one town, and that's the page to set beside your own version. Put a competitor's rewiring page next to your homepage and all you learn is that the two pages do different jobs.
Say you're a plumber in Harrogate (a made-up example). You'd search "boiler repair harrogate" from Harrogate, note the three businesses in the pack and open the page behind each listing. If one goes to a boiler repair page, that's the page you hold up against your own. (No boiler repair page of your own? I'd write that before worrying about anyone's schema.)
Wrong pack in, wrong gap list out.
How do you check what AI finds in your competitors' schema?
Check what AI finds in your competitors' schema with the Schema Markup Validator or the page source, then compare each value with the visible page. The Rich Results Test shows only the types Google supports for rich results, the search listings with extras, while the Schema Markup Validator checks every schema.org type, so it's built to flag a type that doesn't exist. To read a competitor's markup yourself, view the page source and search for "ld+json", which marks each JSON-LD block. A local business rich result needs only a name and an address, so a "missing required" list an AI builds from blog checklists is often wrong. An Organization item, a general company label, isn't proof that a competitor's address and opening hours are in its schema.
The Rich Results Test checks the shape of the code, not the facts in it (more in how to check LocalBusiness schema). The Schema Markup Validator is the same. Both read the code, not the business. A wrong postcode in the right box still looks tidy to a machine.
The York check's useful finds came from two duller checks. Reading each value against the visible page turned up a postcode in one competitor's markup that didn't match the one printed on the page. On the same site, the opening hours field held a row of commas and nothing else. Looking up each type name on schema.org showed that another site's business type doesn't exist there (the real one is Electrician). The Schema Markup Validator is built to flag that kind of thing, but neither checker was run on those pages. The credit goes to a plain lookup.
I'd also ask the AI to read every page twice: once as raw code, and once as the page a browser shows when it's finished loading. Some sites add their schema with JavaScript (the code that finishes building a page inside your browser), so a raw-code-only read can miss it. You only know the two reads match by doing both.
Then there's the page that won't load, or that blocks the AI. The finding for that page is "could not check", not the AI's best guess at what's probably there. In a neat comparison table, a guess looks exactly like a fact, and that's what makes it dangerous. It's the same rule as in finding NAP inconsistencies with AI: trust the page, not the summary.
Want a starting brief? Here's one built from the York check's steps. It isn't the exact prompt that was used:
Here are four pages: mine, then the three map-pack competitors. Open each one yourself.
Pull every block of structured data from each page twice: from the raw code and from the page as a browser shows it.
List each page's types and properties side by side.
Check every value against the text visible on that page, and look up every type name on schema.org.
If a page won't load or blocks you, write "could not check". Don't guess.
Read the AI's findings against the live pages yourself, at least the ones you're about to act on.
AI does the legwork. You do the checking.
Which schema gaps are worth closing for a local business?
The schema gaps worth closing for a local business are usually your most specific business type and the contact details and hours your page shows. Use a type like Electrician or Plumber rather than plain LocalBusiness, and a name, address, phone number and opening hours that match the visible page and your Google Business Profile. Service markup, which lists your services, is worth adding only if those services are on your page. There's no rich result for Service markup, so it labels what you offer rather than winning a fancier search listing. Most other gaps an AI turns up are noise. IvI SEO's comparison of four York electricians' homepages on 9 October 2026 turned up just one real gap: six services listed as Service markup on one competitor's site.
Here's the York check side by side, with the names taken off. In the last column, "the usual site graph" means the standard page, website and organisation items many sites output alongside the business type.
| Pack #1 | Pack #2 | Pack #3 | The client | |
|---|---|---|---|---|
| In the map pack | Yes | Yes | Yes | No |
| Google reviews | 76 | 102 | 216 | 8 (in its own markup) |
| Schema on the linked page | None | Generic LocalBusiness, Organization, WebSite | A type that doesn't exist, WebPage | Electrician, plus the usual site graph |
| Address | None | Yes, postcode doesn't match the page | None | Yes, visible on the page |
| Opening hours | None | Left empty | None | Yes |
| Services list | None | None | Six Service items | None |
| Areas served | None | None | One county | Six places |
sameAs | None | Yes | None | Yes |
| Star rating of own business | None | None | None | Yes |
| Errors | n/a | Postcode and empty hours | Type doesn't exist | Own star rating |
Read down the client's column: it already carried everything the three pack businesses did, bar the six-service list and legalName. It carried more than they did, too: filled-in opening hours, six areas served and an address that matched its page. So if an AI hands you a long "they've got it, you haven't" list, don't be surprised when most of it shrinks like this once it sits next to your own markup.
The short list:
- Most specific type. Moving a page from generic
LocalBusinessto the most specific type that fits, such asElectrician, means changing the type named in its code to one that really exists on schema.org. - Details that match the page. A schema address, phone number or set of opening hours that's blank or slightly wrong is just one more wrong listing. A few properties that are right beat a full set that's half right.
- A services list, only if it's on your page. A services list in schema is one
Serviceitem per service you offer. For my client, a services list would name the services its own page lists, not the six a competitor happened to pick. sameAs.sameAsis a schema.org property that links to other pages about the same business, such as its Google Business Profile or a trade body listing.
One honest line before anyone gets excited. The fullest column belongs to the one business outside the pack, the one with far fewer reviews than the three inside it. Don't let anyone read the table as proof either way.
Close the short list, then stop.
Which competitor schema shouldn't you copy?
Don't copy competitor schema that Google won't show or your page can't back up: star ratings of your own business, FAQPage markup and their mistakes. Your own star rating won't show in Google, because local business stars are only for sites reviewing other businesses. Plain-text reviews on your page are fine. FAQ rich results stopped showing in Google from 7 May 2026, but an FAQ section for readers is still worth having. Mark up only what's true and visible on your page: copied hours, areas served or services that aren't yours are misleading. A postcode that didn't match the page and empty opening hours on one "electrician york" map-pack site, a business type that doesn't exist on another, and a York electrician's star rating of its own business were found by IvI SEO's AI check of four homepages on 9 October 2026.
- Star ratings of your own business: Star rating markup about your own business falls under the self-serving review rule, so it earns no stars in Google. Your reviews can still sit on the page as ordinary text for customers to read.
- FAQPage for Google: FAQPage markup copied from a competitor adds nothing to your Google listing, because FAQ rich results no longer appear in Google Search, as of 7 May 2026. The questions customers actually ask, answered in plain words on the page, still do their job for the people reading them.
- Anything not true and visible on your page: A competitor's list of areas served, pasted into your code, claims towns your page never mentions, which breaks a line in Google's structured data policies: don't mark up content that is not visible to readers of the page. Fake reviews come under a different line in the same policies, the one against misleading markup.
- Their mistakes: If you copy a competitor's markup, you copy its errors too. Your details should come from your own site, because your website is the master copy, however complete a rival's markup looks.
- Spammy or misleading markup: Spammy or misleading structured data can lead to a manual action, which takes away a page's eligibility for rich results. That costs the page the extras in its listing, not how it ranks in Google web search.
The star rating one isn't just theory. A York electrician I work with had one in its markup: a star rating of its own business, built from the Google reviews shown on its page. It had the address, hours and areas served, the lot, and still one item that earns nothing. The reviews on the page are the good half, and the rating in the code is the bit that won't show.
And don't judge markup by how much of it there is. Two blocks of markup on one page don't make it broken. It's broken when one says you shut at noon on Saturday and the other says 4pm.
Borrow an idea if it fits your page. Never the code.
All of this is a job you can do yourself, if you want to.
Can you hand the competitor schema check to someone else?
Yes, you can hand the competitor schema check to someone else, because it only needs public web pages and your main service-and-town search. IvI SEO's local SEO service checks a business's details and schema against its own pages, fixes the real errors first and leaves out what Google won't show. Running the check yourself works too, as long as every finding is compared with the live page. Whoever does the work, nobody can promise a ranking or a rich result.
The free route is everything above. Pick the three businesses in your map pack, let the AI pull and compare their markup, check what it says against each page, close the short list and skip the rest. The AI pull is the easy bit. Knowing which findings to leave alone is the part that takes judgement. (Yes, I sell local SEO and I've just handed you the checklist.)
Getting help means I run the check, make the fixes on your own site and keep them in step with the rest of your local SEO, so schema never turns into a project of its own. If you'd rather someone else did the graft, IvI SEO's local SEO service is the done-for-you version.
Either way, don't copy the neighbours' homework.