How to Do SEO Competitor Analysis Without Drowning in Data
To do SEO competitor analysis, pick the sites that actually outrank you, list every page they have, see which of those pages rank, then study how their site is organised, what content formats they use and who links to them. Questions first, data second.
Your search competitors are the sites Google ranks for your money terms. They are often not the businesses you lose deals to.
A competitor's XML sitemap shows what they have built. Ranking data shows what is working. Join the two on cleaned URLs to see both.
Site structure tells you as much as content: sections, menu depth, product counts and the words in their URLs reveal how they target demand.
Write the questions before pulling data, and estimate paid API costs first. Most competitor research drowns because it collects everything and decides nothing.
Most SEO competitor analysis ends the same way.
A spreadsheet with dozens of tabs. Thousands of keywords.
A dozen screenshots of a rival's homepage. And no decision.
The problem isn't a lack of data.
It's collecting data before you know what you want it to answer.
I run competitor research as a repeatable pipeline for my own projects.
These are the eight steps behind it, in the order that keeps the data useful.
Step 1: Pick Your Search Competitors
Start with who Google thinks you compete with.
That's often a different list from the one in your head.
Take five to ten of your most important money terms.
The searches that bring in paying customers.
Search each one (logged out, in the right country) and note which domains appear on page one again and again.
Then compare that list with the businesses you actually lose deals to.
You'll usually find three groups:
Direct rivals who also rank. Include them.
Rivals who don't rank. Useful for sales, not for SEO research.
Sites you've never thought about. Directories, publishers, a national chain. Include the ones that hold several of your terms.
Settle on three to five domains.
More than that adds cost and reading time without adding new patterns.
Step 2: Write Down the Questions First
This step is the one that stops you drowning.
Before you pull a single row, write the questions this research must answer.
Mine almost always come down to five:
What pages do they have?
Which of those pages earn rankings and traffic?
How is their site organised?
What kinds of informational content work for them?
Which sites link to them but not to me?
Every later step answers one of these.
If a dataset doesn't answer any, don't collect it.
Note: Ranking data from tools like Ahrefs or Semrush costs money, either as a subscription or as API usage. Before a big pull, I estimate the cost from the number of competitors and the size of their sites. Large online shops can have hundreds of thousands of URLs.
Step 3: List Every Page Each Competitor Has
You can't analyse a site you've only seen through its main menu.
The best free source is the competitor's XML sitemap.
It's the list of pages they ask search engines to crawl.
Check /robots.txt first.
Google's guide to building sitemaps tells site owners to add a Sitemap: line there, so it usually points straight to the file.
Big sites split their sitemaps.
Google limits each file to 50,000 URLs or 50MB uncompressed, so you'll often find a sitemap index pointing to many child files. Follow every one.
It also covers what to do when there's no sitemap.
Don't use a site: search as your page list. Google's own site: operator documentation says the results are not always exhaustive, and bigger sites shouldn't expect to see all their URLs.
At the end of this step you have one list of URLs per competitor.
Step 4: Join the Page List With Ranking Data
A sitemap tells you what a competitor built.
It doesn't tell you what works.
For that, export the competitor's organic pages and keywords from a rankings tool.
I pull them through the Ahrefs API, but a top pages export from any major tool does the same job.
Now join the two lists on URL.
This sounds simple.
It isn't, because the same page gets written in different ways:
With and without a trailing slash.
With tracking parameters on the end.
Under a country folder, like /en-gb/, on one list but not the other.
Clean every URL the same way before you join.
Lowercase the host, drop parameters and fragments, and strip locale folders.
Then flag each row:
Flag
What it usually means
In sitemap and ranking
A page that works. Study it.
In sitemap, not ranking
Built but ignored. Thin, new, or aimed at nobody.
Ranking, not in sitemap
Forgotten pages still earning visits. Often old guides worth a look.
That third group is my favourite.
It shows where a competitor's results have drifted away from their plan.
Step 5: Read How Their Site Is Organised
Now step back from single pages and look at the shape of the site.
Group the URLs by their first folder: /services/, /locations/, /collections/, /blog/.
Count how many pages sit in each.
Then ask:
How many sections do they have? A shop with 60 collections targets demand differently from one with 8.
How deep do pages sit? Count the clicks from the homepage to a typical product or service page.
How many items live in each section? Product counts per collection show where they've invested.
Which words repeat in their URLs? Recurring words show the vocabulary they've built the site around.
This is the step that turns a list of pages into a strategy you can read.
If their structure is much cleaner than yours, that's a finding in itself.
It belongs in a technical SEO review of your own site.
Step 6: Sort Their Content by Type
Counting blog posts tells you very little.
A calculator, a downloadable checklist and a 3,000-word buying guide do very different jobs.
So give every informational URL a type:
Tool or calculator
Lead magnet (template, checklist, download)
Guide
Blog post
Glossary entry
Comparison
Keep the ranking data next to each one.
Then look for formats that rank across several competitors.
For example, if every site above you has a cost calculator and you don't, that's a decision worth making on purpose.
This list also feeds straight into your content planning.
My guide to doing a content gap analysis shows how to turn it into topics without repeating what you already have.
Step 7: Find Sites That Link to Them but Not You
The last question is about links.
Export the referring domains for each competitor.
Then find domains that link to two or more competitors but not to you.
These are often:
"Best providers in X" listicles
Industry directories
Comparison and review sites
A site that already mentions three of your rivals writes about your category.
You have a real reason to contact it.
Check every domain by hand before outreach.
Some will be spam, some will be dead, and some will only list businesses that pay.
You don't need five rivals and a paid API to begin.
Pick the one competitor that annoys you most.
Find their sitemap, count their pages by folder, and look at which sections hold the most URLs.
That alone will show you something you didn't know about how they win.
When you're ready to do it across a whole market, my competitor analysis automation runs these steps as a pipeline and hands you the raw sheet per competitor.
How many competitors should I include in an SEO competitor analysis?+–
Three to five is enough for most businesses. Pick a mix of sites that outrank you for your main money terms and the businesses you actually lose work to. More than five rarely adds new patterns, and each extra domain adds data cost and reading time without changing the decisions you make.
Can I do SEO competitor analysis for free?+–
Partly. Competitor sitemaps are public, and you can check search results by hand for a short list of your most important terms. What free methods cannot give you is ranking data across thousands of queries. For that you need a paid tool such as Ahrefs or Semrush, at least for the month of the research.
How often should I repeat a competitor analysis?+–
Once or twice a year for most markets, and whenever a new competitor starts appearing above you. If you run the same method each time, the second run is the valuable one: it shows which pages competitors added, which started ranking and which disappeared since the first.
What is the difference between competitor analysis and a content gap analysis?+–
Competitor analysis studies what rival sites have built and what works for them: pages, rankings, structure, links. A content gap analysis uses that evidence, plus your own site, to propose topics you have not covered yet. Competitor analysis comes first; the gap analysis is one of the things you do with its output.
Independent SEO consultant · 6+ years in SEO · 60+ client websites worked on
I'm an independent SEO consultant with 6+ years in SEO. I run audits, migrations and content programmes for businesses in Europe, the UK and the USA, and I build the automation behind my own research.