How to analyze a competitor's schema markup
A competitor's structured data is one of the few ranking inputs they publish in plain sight. Every type they mark up, every entity they connect, and every review snippet they claim sits in their page source waiting to be read. Inspecting it tells you what they have taught search engines about their business, and where you can teach the engines more.
Competitor schema analysis is reading a rival's structured data, the JSON-LD in their pages, to see which schema types they mark up, how they connect entities, and how they use review and rating markup. You compare it with your own, find the types and connections they cover that you do not, and build a plan to match or exceed them without faking anything.
What is competitor schema analysis, and why does it matter?
Competitor schema analysis is reading the structured data a rival has published to describe their business to search engines, then comparing it with yours. It matters because schema is public: it sits in the page source. A competitor who marks up their organization, services, and locations has handed the engines a clearer machine-readable picture than one who has not.
Structured data is the code, usually JSON-LD, that labels the meaning of a page for machines: this is a business, this is its address, these are its services, this is an article by this author. Search engines use it to understand entities and, sometimes, to show enhanced results. Because it lives in the HTML a browser downloads, anyone can read a competitor's schema as the engines do.
That transparency is the opportunity. You cannot see a competitor's backlink outreach or their analytics, but you can see precisely how they described themselves in structured data. If they mark up their organization, service pages, FAQs, and team, and you mark up nothing, their markup shows you what a thorough implementation looks like in your industry.
This post covers the narrow task of inspecting a competitor's schema. It is not a guide to writing your own from scratch, which our schema markup services page covers, and it is not general competitor benchmarking, which our competitor analysis services page covers across keywords, content, and links.
How do you view a competitor's schema markup?
Four free methods, in rising order of detail. View the raw page source and search for the JSON-LD block. Paste the URL into Google's Rich Results Test to see what it detects. Run it through the Schema.org validator for a full parse. Use browser extensions or the DevTools console to extract it quickly. Each shows the same markup from a different angle.
Start with view-source. Load the competitor's page, open the page source (right-click, "View page source", or Ctrl+U), and search the text for "application/ld+json". Most modern schema is JSON-LD, delivered inside a script tag with that type. What you find there is the literal structured data the page ships: labelled key-value pairs describing the organization, the page, the products, or whatever the site marks up.
For a parsed, human-readable view, use two tools. The Rich Results Test at Google's developer site reads a live URL and reports which structured data it detected and whether any items are eligible for rich results (Google, 2026). The Schema.org validator, run by Schema.org itself, lays out every type and property it finds, useful when you want the complete picture rather than only rich-result-eligible items (Schema.org, 2026).
Browser extensions and the DevTools console round out the toolkit for speed, surfacing a page's structured data in one click. Whichever route you take, you read the same source; the tools differ only in how much they parse and validate, so check a competitor in more than one to catch what a single view glosses over.
Which schema types should you look for on a competitor's pages?
Map the types to page purpose. On the homepage and contact page, look for Organization or LocalBusiness with address, phone, and hours. On service pages, look for Service or Product. On articles, look for Article with an author. On listings, look for FAQPage and BreadcrumbList. The pattern of what they mark up, and where, is the finding.
Begin with the identity types. A well-implemented site marks its homepage with Organization, or LocalBusiness for a physical location, carrying name, address, phone, opening hours, and often a logo and social profiles. This is the anchor entity for the whole site. If a competitor has a complete LocalBusiness block and you have none, our schema markup services can build one to the same standard.
Then move page by page. Service pages may use Service or Product, blog posts and guides should carry Article or BlogPosting with an author and date, and landing pages sometimes use FAQPage or BreadcrumbList. A competitor with schema on every service page and article has been systematic in a way a one-off homepage block is not.
Record the types as a simple inventory: page type in one column, schema types found in another, for each competitor and for you. The goal is not to copy every type they use, some may be irrelevant or even risky, but to spot the templates where you are silent and they are not.
How do you read a competitor's entity connections?
Look past individual types to how they link. Strong implementations connect entities with @id references: an Article whose author points to a Person, an Organization with sameAs links to its verified profiles, a Product tied to its Organization. These connections build a coherent entity graph. A competitor who wires theirs together has told the engines a fuller, more consistent story than one listing disconnected items.
The sameAs property is the easiest connection to read and one of the most telling. It links an entity to authoritative external references: a business's LinkedIn, its Wikipedia entry, its verified social profiles, its Crunchbase page. A competitor using sameAs helps engines confirm the entity on the page is the same one known elsewhere, which supports the entity disambiguation that increasingly underpins both classic and AI-driven search.
The @id property is how a site stitches its own graph together. Instead of repeating the full organization block on every page, a careful implementation defines the Organization once with an @id and references it from articles, products, and service pages. Consistent @id use signals a deliberately architected graph rather than a scatter of standalone snippets, a coherence harder to copy than any single type.
Read author and publisher connections too, because they carry weight on content that touches expertise. An Article that names a real Person as author, links that person to their credentials, and names the Organization as publisher gives engines an authority signal a bare headline does not. If a competitor connects authorship cleanly and you publish anonymous posts, that gap is worth closing, and one our technical SEO services address.
How do you tell if a competitor's review and aggregateRating markup is legitimate?
Check whose reviews they are marking up. Google's policy makes a business ineligible for review star features when it controls the reviews about itself, so first-party ratings a site collects and marks up on its own pages break the rules (Google, 2026). If a competitor shows self-serving aggregateRating, that is a liability, not a model to copy.
Review markup is where you will most often see competitors doing something they should not. Google's review snippet guidance is explicit: if the entity being reviewed controls the reviews about itself, pages using LocalBusiness or other Organization structured data are ineligible for the star review feature (Google, 2026). A business that scrapes its own testimonials into an aggregateRating block is marking up self-serving reviews the policy disallows.
So when you find aggregateRating on a competitor, do not treat it as a target to beat by inventing your own. Ask where the ratings come from. Markup tied to an independent review platform is defensible; a star rating a business simply asserts about itself on its own site is a policy violation waiting to be caught, and Google does issue manual actions and remove rich results for it.
The honest move is the one we hold ourselves to: never fabricate or self-collect review markup to manufacture stars. If a competitor is doing it, note it as a risk they carry, not an advantage you must match. The legitimate path is to earn real reviews on independent platforms, which is a reputation problem, not a schema trick.
How do you spot gaps and errors in a competitor's structured data?
Run their key pages through the validators and read the warnings. Gaps are types or properties they omit: no author on articles, no address on the local block, no service markup. Errors are what the tools flag: missing required fields, wrong types, malformed values. Their gaps are your openings; their errors remind you to validate your own before you ship.
Finding gaps is a comparison exercise. With your type inventory in hand, read down each competitor's column and your own. A competitor missing author markup on their guides, or shipping a homepage with no LocalBusiness block, has left the engines less to trust there. Those are the openings you convert into a plan, prioritizing the types that fit your pages.
Finding errors means letting the tools do the reading. The Rich Results Test and the Schema.org validator both report problems: required properties left empty, values in the wrong format, types that do not nest correctly, references that point nowhere. A competitor whose markup is full of warnings may be getting little benefit despite the effort. Presence alone is not the goal; valid, complete markup is.
Turn the finding on yourself before you finish. Every error you see in a competitor's markup is one you could ship too, so validate your own pages in the same tools and fix what they flag. A rich result earned on invalid or dishonest data can be pulled the moment Google notices.
How do you turn the analysis into a schema plan that matches or exceeds theirs?
Convert findings into a ranked task list. Add the identity and page-level types competitors have and you lack, wire your entities together with @id and sameAs the way the strongest competitor does, and mark up only what is genuinely on the page. Exceed them by being more complete and accurate, not by claiming types or ratings you have not earned.
Start with the foundation the best competitor already has. If they carry a complete LocalBusiness or Organization block and you do not, that is task one, because it is the anchor entity every other reference hangs from. Then work through the templates: Article with real author connections on your content, Service or Product on your offerings, BreadcrumbList on your navigation. You are closing the specific gaps your inventory exposed, in impact order.
Exceeding a competitor is usually a matter of coherence rather than volume. Wire your graph together with @id references so your organization is defined once and cited everywhere, add sameAs links to your verified profiles, and connect authors to real credentials. A tightly connected, accurate graph beats a larger pile of disconnected snippets, and our schema markup services build exactly this.
Hold the line on honesty as you build. Mark up only content that actually appears on the page for users, never invent an aggregateRating, and do not claim a type just because a competitor did. The aim is structured data more complete and more truthful than the competition's, a durable advantage. Manufactured markup is a borrowed one Google can repossess.
What are the honest limits of schema, and what should you not expect it to do?
Schema helps engines understand and, sometimes, display a page, but it is not a ranking lever you pull for guaranteed lift. In a controlled study, adding schema moved AI citations +2.4% in AI Mode and +2.2% in ChatGPT, both indistinguishable from zero, and −4.6% in AI Overviews (Ahrefs, 2026). Treat it as clarity and eligibility, not a growth hack.
The evidence counsels modesty. Ahrefs tracked 1,885 pages that added JSON-LD against roughly 4,000 matched controls and found the change in AI citations was +2.4% in Google's AI Mode and +2.2% in ChatGPT, both statistically indistinguishable from zero, with a −4.6% move in AI Overviews that was small, significant, and possibly not caused by the schema at all (Ahrefs, 2026). Adding markup to pages already being seen did not lift them.
That does not make schema pointless. Its real jobs are helping engines parse and disambiguate your entities, and making pages eligible for the enhanced results Google still supports. But eligibility is not a guarantee: Google decides when to show a rich result, and it has restricted or retired several rich result types over the years, so marking up a type never promises the feature.
So set expectations before you invest. Analyze competitor schema to understand your niche, close real gaps, and build a clean, well-connected graph, because those are worthwhile on their own terms. Do not expect the markup itself to move rankings or manufacture AI visibility. If a competitor is winning, structured data is one input to check, not the explanation, and the broader work in our technical SEO services and local SEO services usually matters more.
Turn on what makes AI recommend you.
AI recommends the businesses it can read, trust and quote. Flip on the four signals we engineer, and watch your visibility climb and the answer rewrite itself.
Illustrative · the four signals are the real system we build
This article, answered.
The questions readers ask about this topic, answered the way an answer engine would. No forms, no sales pitch.
Pick a question on the left — you'll get the direct answer, the way an answer engine would give it.
LAST UPDATED July 10, 2026 · WRITTEN BY JAMIE KLONCZ, FOUNDER · SEO ELITE AGENCY, NAPLES FL
Enter a path and click verify.