Skip to content
← All field guides

Field guide

Map Competitor Coverage With Public SERP and Schema Data

You can reverse-engineer a competitor's SEO from artifacts they publish for free. Here is how to read the search results, their sitemap, and their schema, then build a coverage-gap map you can attack.

By John Cravey with Elevi12 min read

You do not need a paid tool to understand how a competitor ranks. Everything you need is already published in the open: the live search results page, their XML sitemap, their robots.txt file, and the schema.org markup baked into every page. Read those four artifacts in order and you can reconstruct which queries a competitor owns, which page types they built to win them, and where their coverage runs thin. That last part is the point. The thin spots are the map of where you attack. Here is the whole method, done by hand, in an afternoon.

Most competitor research stops at a gut sense that the other firm ranks better. That is not a plan you can act on. It does not tell you which pages are doing the work, which terms are contested, or where the other side simply never showed up. The good news is that a website hands you the answers for free, because the same signals that help search engines index a site are readable by anyone. This guide teaches you to read them. It is the fourth phase of the five-phase system we run before we build anything, and it pairs with the earlier phases: you already sized the market, now you find out who is standing in front of it.

One rule before we start. You are reading public artifacts a site publishes on purpose. A sitemap, a robots.txt, and schema markup all exist so search engines can read them, and you are looking at the same files Google looks at. No logins, no private data, no tricks. Keep it to what the open web serves you and the whole method stays clean.

Step one: read the live search results page

Open a fresh browser, ideally a private or incognito window so your own history does not personalize the results, and search the exact query your buyer types. Not a vanity phrase you wish they used. The real one. Then read the whole page slowly, because the search results page is a scoreboard the search engine already built for you. Four things are worth writing down:

  • Who ranks. List the domains in the top ten and note which ones are direct competitors, which are directories or marketplaces, and which are informational pages. If the first page is all marketplaces, that is a signal about how hard the term is to win directly.
  • What page type wins. Click into the top results and name the template: a service page, a location page, a long guide, a product page, a comparison page. The winning page type is the format the search engine has decided answers this query, and it tells you what you need to build.
  • What the titles and meta descriptions promise. These are the competitor's own words for what each page delivers. Read them for the angle they chose, the proof they lead with, and the phrases they repeat. That is their positioning, stated in the one place they optimized hardest.
  • Which SERP features appear. Note the map pack, the featured snippet, the People Also Ask box, image results, video, and any FAQ rich results. Each feature is a different slot you can compete for, and each one changes how much room the plain blue links actually get.

Do this for your top ten to fifteen money queries and you already have a picture no dashboard would have handed you: which terms are owned by real competitors versus directories, which page types you have to build to compete, and which SERP features are on the table. If you want to go deeper on the map pack specifically, the Google Business Profile guide covers that slot on its own.

Step two: pull the competitor's XML sitemap

The search results show you the pages that rank today. A competitor's XML sitemap shows you every page they built, ranking or not. It is the single richest public artifact for understanding a competitor's content strategy, and almost nobody looks at it. The sitemaps.org protocol is an open standard, and most sites serve their sitemap at a predictable location.

  1. Start at the front door: type the competitor's domain followed by /sitemap.xml into the address bar. Many sites answer there directly. If it loads, you are looking at their full page inventory.
  2. If that is empty, check /robots.txt on the same domain. The robots file almost always lists the sitemap location with a Sitemap: line, even when the sitemap sits at a non-standard path or is split across several files.
  3. Follow the index. Large sites use a sitemap index that points to child sitemaps, often split by section: one for services, one for locations, one for blog posts, one for products. That split is itself a map of how they organize their content.
  4. Read the URL patterns. You do not need to open every page. The URL slugs alone reveal the page types: a run of /locations/ URLs is a location strategy, a run of /guides/ or /blog/ URLs is a content engine, a deep tree of /products/ URLs is a catalog. Count them by type.
  5. Read the lastmod dates if the sitemap includes them. The lastmod field records when each URL was last changed. Line the dates up and you can see their publishing cadence: whether they ship a new page a week or last touched the site two years ago.

Step three: read robots.txt for what they hide

The robots.txt file did more than point you at the sitemap. It also tells you what a competitor does not want indexed, and that is often as informative as what they do. Read the Disallow lines. A blocked /staging/ or /admin/ path is routine housekeeping and tells you nothing. But a competitor who disallows a whole /promotions/ or /old-pricing/ directory has just shown you where they park content they would rather bury, and a competitor who blocks their internal search results is telling you they had a thin-content problem there once. None of this is a smoking gun on its own. It is context you fold into the coverage map, and it costs one file view to collect.

Step four: inspect their schema.org structured data

Structured data is the machine-readable summary a page hands the search engine. It is how a page qualifies for rich results such as star ratings, FAQ drop-downs, breadcrumb trails, and business info panels. A competitor's schema.org markup tells you which of those slots they are trying to win, and reading it is a two-minute job with no tooling beyond a browser.

  1. Open the competitor's page in the Google Rich Results Test, paste the URL, and let it run. It lists exactly which structured-data types the page carries and which rich results it is eligible for. This is the same validator the search engine's own guidance points site owners to.
  2. Cross-check with view-source. Right-click the page, choose View Page Source, and search the text for the word schema or for a script tag of type application/ld+json. The JSON-LD block is the raw markup, and reading it directly shows you the exact type names and the fields they filled in.
  3. Name the types they use. LocalBusiness or Organization tells you how they describe the company. Service or Product tells you how they mark up offerings. FAQPage tells you they are chasing the FAQ rich result and the People Also Ask box. Article or HowTo tells you their content is built to be cited. BreadcrumbList tells you their site structure is legible to the crawler.
  4. Note the gaps. A competitor with no FAQPage markup has left the FAQ rich result unclaimed on those pages. A local competitor with no LocalBusiness schema is not feeding the search engine the clean business signal it wants. Every missing type is a slot you can take.

Schema is one of the highest-return, lowest-effort gaps you will find, because adding correct markup is a build task, not a content project. If a competitor ranks above you but carries no FAQ or Article schema, you can often earn the richer result they left on the table. For the how-to on writing that markup yourself, see the schema markup guide, which covers the types that also help you get cited by AI answer engines.

Step five: read their Google Business Profile categories

If your competitors show up in the map pack, their Google Business Profile is public, and the primary category they chose is visible on the profile. That category is the single biggest lever in local ranking, and reading a competitor's choice is free intelligence. Open the profile from the map result and note the primary category and any secondary categories. If a competitor you keep losing to picked a more specific primary category than you did, you just found a fix that costs nothing but a profile edit. The map-pack guide linked above goes deep on category selection; here it is one more input into the coverage map.

Turn the findings into a coverage-gap map

You now have five stacks of notes: who ranks and how, their full page inventory, what they hide, their schema, and their local categories. A pile of notes is not a plan. The move that converts it into one is a simple grid. List your money queries down the left. Across the top, put a column for each competitor and one for you. In each cell, mark whether that competitor has a page built for that query, whether it ranks, and how strong it is. The grid does the thinking for you the moment it is filled in.

  • A query where every competitor has a strong page and you have nothing is a gap you must close to be in the game at all. These are table stakes, not opportunities.
  • A query where competitors rank with thin or generic pages is your best attack. You can out-cover a weak page far more cheaply than you can dethrone a strong one, and the search results already showed you the ceiling you have to clear.
  • A query where nobody has built a real page yet, but your buyers clearly search it, is open ground. Whoever builds the first genuinely useful page usually takes it, and the sitemap counts told you it is unclaimed.
  • A page type a competitor uses at scale and you do not use at all, such as location pages or buyer guides, is a strategy gap, not a single-page gap. That is a program decision, not a one-off.

Rank the gaps by two things: how much your buyers want that query and how weak the current winner is. A high-demand query defended by a thin page is the first thing you build. A low-demand query defended by a fortress is the last, if ever. That ranking is your content roadmap, and you built it from public data alone. Pair it with the query data in your own Search Console guide to confirm which of these terms you are already close on.

What changes by who you are

The method is the same for everyone, but the gap that matters most shifts with your business:

  • Retail and manufacturing brands should read the sitemap for product and dealer-locator coverage, and read the schema for Product markup. If a competitor marks up every product and you mark up none, you are ceding the rich product results. Pair this with the way you read the public market on price to decide where to compete on the catalog.
  • Professional-services firms should read the SERP for how much the local pack and directories dominate, and read the schema for FAQPage and Article types. Research-first buyers reward the firm whose pages answer questions directly, and that is a schema-and-content gap you can close.
  • Logistics and industrial-services companies should read the sitemap for how deep a competitor's capability and process pages go, and read the titles for the technical query language they target. A long-cycle buyer vets for weeks, so a competitor who spelled out capabilities across twenty pages is the coverage you have to match.

Common mistakes to avoid

  • Reading rankings for terms your buyer never types. Start from the real query, not the flattering one, or the whole map points at demand that does not exist.
  • Confusing page count with page quality. A competitor with 200 thin pages is more vulnerable than one with 20 strong ones. Read a sample, do not just count the sitemap.
  • Treating a schema gap as a content gap. Missing markup is a build fix you can ship this week. Do not put it in the same bucket as a missing content program.
  • Doing the teardown once and never again. Sitemaps grow, schema changes, and the search results move. A stale map sends you at a gap the competitor already closed.
  • Copying a competitor's structure instead of beating it. The goal is not to match their pages. It is to build the more useful version of the pages that already win, and to take the ground they left open.

Keep it repeatable

The whole point of doing this from public artifacts is that it is repeatable without a subscription. Save your query list, your sitemap counts, and your schema notes in one document. Next quarter, re-pull the same four sources and diff them against last quarter. A competitor whose sitemap grew by thirty location pages is expanding into new geography, and you want to know that the quarter it starts, not the year it finishes. A competitor who just added FAQ schema across their service pages is chasing the answer-box slot you were about to take. The diff is where the early warning lives, and it is free every time.

Targeting comes from real public data scoped to your geo and industry, not the competitive picture a brief assumed.
The Frontend Horizon engagement standard

That standard holds here too. A competitor's own published files tell you more about their SEO than any secondhand estimate, and reading them is a skill, not a purchase. Search the real query, pull the sitemap and robots file, read the schema, check the profile categories, and build the grid. Then attack the thin pages and the open ground first. When you are ready to turn the coverage-gap map into a build and a channel plan, see who we serve for how the work is priced by your industry and your stage, or start with the SEO program that runs the plan.

Questions this raises

Is reading a competitor's sitemap and schema allowed?

Yes. A sitemap, a robots.txt file, and schema.org markup are things a site publishes on purpose so that search engines can read them. You are looking at the same public files Google looks at. There is no login, no scraping of private data, and no gray area. If it is served to the open web, it is fair to read.

Do I really not need a paid SEO tool for this?

Not to start. Paid tools estimate traffic and speed up the pull, but every input here is a public artifact you can open in a browser: the search page, the XML sitemap, robots.txt, and the schema in the page source. The method is the value. A tool only makes the same reads faster once you have decided they are worth doing.

How often should I redo this?

Once a quarter for your main two or three competitors, and any time you are about to open a new service line or region. Sitemaps change as they publish, schema changes as they retag, and the search results shift as pages move. A quarterly re-pull catches a competitor moving into your space before the ranking is already theirs.

Keep reading

More field guides.