SEO Competitor Analysis: Find What Your Rivals Win and You Don't
A step-by-step SEO competitor analysis: find your real search rivals, keyword gaps, the pages they win with and AI answers, then rank what to do first.

SEO competitor analysis is the work of finding which sites win the searches and AI answers you want, then working out which keywords and pages let them win. Done well, it ends with a short list of pages to build or fix this month, not a 40-tab spreadsheet.
This guide gives you a five-step method you can run by hand in an afternoon, plus a way to turn every finding into a ranked move. It stays on search. Pricing pages, sales battlecards and feature comparisons belong to broader competitor research, which is a different job.
What SEO competitor analysis is (and what it is not)
SEO competitor analysis compares your site with the sites that rank for your target keywords, to find the keywords, page types and sources that give them traffic you don't get. The unit of analysis is the search result, not the company.
That distinction changes who you study. Your sales team's competitor list is a guess about who buyers compare you with. Google's results page is a record of who actually takes the clicks. The two lists overlap, but rarely match.
It also changes what you produce. A business competitor review ends in positioning notes. An SEO competitor review should end in a backlog: a comparison page to publish, a cluster of articles to write, a stale page to refresh, a list of third-party pages to get onto.
| Business competitor research | SEO competitor analysis | |
|---|---|---|
| Who you study | Companies that sell to your buyers | Sites that rank or get cited for your keywords |
| Main inputs | Pricing, features, reviews, sales calls | Search results, keyword rankings, sitemaps, AI answers |
| Typical output | Positioning and battlecards | Pages to build, refresh or get listed on |
| How often | Quarterly | Monthly, plus alerts for new pages |
Step 1: Find the competitors Google actually shows
Your search competitors are the domains that appear most often in the top 10 for the keywords you want, whatever they sell. Start there, not with the rivals you already know.
The results for "seo competitor analysis" itself show why. The top nine include a rank-tracking vendor's guide, a Reddit thread, a SitePoint forum post, an agency blog and a free checker tool. Only some of them sell anything a buyer would compare. All of them take clicks.
Here is the manual method:
- Pick 15 to 20 keywords you want to rank for. Mix your core product terms with two or three buyer questions.
- Search each one in a clean browser window, set to your target country.
- Log every domain in the top 10 in a spreadsheet, one row per keyword.
- Count how many of your keywords each domain appears for, and note its average position.
- Label each domain by kind.
The labels matter more than the counts. Use these:
| Kind of site | What it is | What to do with it |
|---|---|---|
| Direct competitor | Sells the same thing to the same buyer | Deep analysis (steps 2 to 4) |
| Indirect competitor | Solves the same problem another way, or as one module of a bigger product | Deep analysis if it ranks often |
| Publisher or blog | Media, course or community site, sells nothing competing | Study its format; pitch it for coverage |
| Review site or directory | Lists and ranks many vendors | Get listed; check how you are described |
| Forum or Q&A | Reddit, community threads | Answer honestly where you have something to add |
| Marketplace or platform | App stores, code hosts | Make sure your listing exists and is current |
Keep three to five direct or indirect rivals for the deep work in the next steps. More than five and you will drown in rows you never act on. The publishers, review sites and forums go on a separate list: they are distribution targets, not rivals to out-write.

Step 2: Find the keyword gap
A keyword gap is the set of keywords a competitor ranks for, usually in the top 10 or top 30, where your site does not rank at all. It is the most direct answer to "what do they win that we don't".
Any keyword tool with a gap or "competing domains" report will give you the raw list. Without one, you can approximate it: take each rival's top pages from step 3, note the head term each page targets, and check whether you rank for it in Search Console.
The raw list is the easy part. It usually runs to hundreds of rows, and most of them are wrong for you. Filter every row with three questions:
- Would your buyers search this? A keyword can share your vocabulary and still attract students, job seekers or people using a different product.
- What does the searcher want? Informational, commercial or ready to buy. This tells you which page you need.
- What kind of page wins it today? An article, a comparison, an alternatives list, an integration page, a free tool. Look at the top three results.
Then group what survives. Keywords that share intent and would be answered by the same page belong to one cluster, and one cluster becomes one page. Writing a separate post for "competitor analysis seo" and "seo competitor analysis" would split your own rankings for no gain.
Check Search Console before you build anything new. Queries where you already get impressions at positions 10 to 30 are often cheaper wins than fresh gap keywords, because Google already connects your site to the topic. A refresh can beat a new page. If you are building a content plan from scratch, our SaaS SEO page covers which page types buyers compare.
Step 3: Study the pages they win with
The fastest way to see why a rival outranks you is to sort its pages by type and compare that inventory with yours. Most startups lose buyer-intent searches not because their articles are worse, but because they never built the page type that wins.
Start with each rival's sitemap. It usually lives at /sitemap.xml or is listed in /robots.txt. Sort the URLs by path and type:
- Comparison pages ("X vs Y")
- Alternatives pages ("X alternatives")
- Integration pages
- Use case or industry pages
- Glossary and definition pages
- Free tools and calculators
- Blog articles and guides
Now build a simple matrix: page types down the side, your site and each rival across the top, counts in the cells. Any row where a rival has 20 pages and you have zero is a gap worth more than a dozen single keywords.
Then open the ranking page for your best gap clusters and read it like an editor. Note four things:
- Format: list, step-by-step guide, comparison table, tool.
- Depth: rough word count and how many subtopics it covers.
- Angle: who it is written for and what it argues.
- Freshness: the last update date, and whether the examples are current.
Match the format first. If the top five results for a keyword are all comparison tables, a narrative essay will not rank, however good it is. Then beat it on something specific: a sharper angle, data the others lack, or a clearer answer at the top.
Step 4: Watch new pages and pages aimed at you
Competitor analysis is a monthly check, not a one-off audit. The most useful signal between checks is what a rival just published.
Save each rival's sitemap URL list and compare it with last month's. New URLs tell you where they are investing: a new integrations section, a burst of comparison pages, a glossary. Pages that disappear tell you what didn't work.
Pay special attention to pages that name you. An "alternatives to [your brand]" or "[rival] vs [your brand]" page is written to catch your buyers at the moment they compare. If it ranks and you have no page of your own for that search, the rival is the only voice in that result. Publish your own comparison page, keep it fair, and make it the best answer for someone actually choosing.
Also note what they refreshed. A rival updating the date and examples on an old guide is often a sign it started slipping. If you compete for that keyword, a refresh of your own may be due too.
Step 5: Check who wins the AI answers
Your competitors in AI answers are the brands ChatGPT, Gemini and Google AI Overviews name and the pages they cite when buyers ask about your category. They are often not the same as your Google competitors, and this step is missing from almost every competitor analysis guide.
It matters because fewer searchers reach the results at all. Pew Research found that Google users who saw an AI summary clicked a traditional result in 8% of visits, against 15% for users who did not see one (Pew Research Center). Links inside the summary itself were clicked in just 1% of visits. And even before AI summaries spread, SparkToro measured that 58.5% of US Google searches and 59.7% of EU searches in 2024 ended with zero clicks (SparkToro).
So if a rival is the brand the answer recommends, it can win the buyer without anyone clicking a link.
To check by hand:
- Write 10 to 15 questions your buyers ask before choosing, such as "best [category] for startups" or "[rival] alternatives".
- Ask each in ChatGPT and Gemini with web search on, and search it in Google to see the AI Overview.
- For every answer, log the brands named, which one is recommended first, and every page cited.
- Repeat monthly. Answers change more often than rankings.
Then read the sources. Each pattern points to a different move:
| What you see | What it means | Move |
|---|---|---|
| A cited third-party list names rivals but not you | The engine trusts that source for your category | Ask to be included; give the author something worth adding |
| A rival's own page type gets cited (comparison, guide) | You have no equivalent page | Build that page type |
| Your page is cited but you are not named | Your content helps, your brand is unclear on the page | Name your product and what it does near the answer |
| You are named but other sites are cited | Engines know you but cite others as proof | Publish a page that directly answers the question |
| One engine ignores you, the others don't | Source coverage differs by engine | Check which sources that engine favours |
The page-level work is the same as for any AI visibility goal: a clear answer near the top, your product named in plain words, and sources an engine can trust.
Turn findings into prioritised moves
Every finding from steps 1 to 5 should become a move: one concrete page, refresh, outreach or fix, with the evidence that justifies it. Then rank the moves against each other and do the top three.
Use this mapping to convert findings:
| Finding | Move | Usually high priority when |
|---|---|---|
| Rival ranks for "[rival] vs [you]" or "[you] alternatives" | Publish your own comparison or alternatives page | Buyers search it and you have no page |
| Page type gap (they have 20 integration pages, you have 0) | Build the page type, starting with your top integrations | The keywords have commercial intent |
| Keyword cluster gap | Write one article per cluster | The cluster has real volume and fits your buyer |
| You rank 10 to 30 on a gap keyword | Refresh and expand the existing page | Impressions are already there |
| Third-party list cited in AI answers omits you | Outreach to the list owner | The list is cited across several prompts |
| Rival page outranks you on format | Restructure your page to match the winning format | Your page is otherwise strong |
To rank them, rate each move on three signals: impact (traffic or pipeline if it works), confidence (how strong the evidence is) and effort (days of work). Then compare moves in pairs. "If we can only ship one this week, the vs page or the integration pages?" is an easier and more honest question than giving each a score out of 100 in isolation.
Bottom-of-funnel pages that name a rival usually win the first round. Buyers searching "[rival] alternatives" are ready to choose, and the page is quick to write. Broad informational clusters come later, unless you already rank close.
Measure each shipped move. Check rankings and clicks at about four weeks, then again at three months, and keep what worked as a pattern.

Doing it by hand vs with a tool
You can run this whole method with free tools: a browser, Google Search Console, each rival's sitemap and a spreadsheet. For three rivals and 20 keywords, expect a few hours the first time and about an hour a month after that.
The manual route breaks down in three places. Keyword gap data is hard to approximate without a tool. Sitemap diffs are tedious to repeat every month. And asking AI engines the same 15 questions across three products, then logging every citation, takes longer than most teams will keep doing.
| Manual | Paid SEO suite | LogNorm | |
|---|---|---|---|
| Find search competitors | SERP checks in a spreadsheet | Competing domains report | Discovered from search data, sorted by site kind |
| Keyword gap | Approximate via Search Console | Full gap report | Gap per tracked rival, grouped into articles |
| Page types | Read sitemaps by hand | Partial, via top pages | Page-type matrix and pages aimed at you |
| AI answers | Ask each engine by hand | Varies by tool | ChatGPT, Gemini and AI Overviews tracked by prompt |
| Turns findings into a plan | You do it | You do it | Ranked moves in a weekly plan |
Free works when you track two or three rivals and a short keyword list. Paid starts paying for itself when you need gap data across many keywords, or when the monthly re-check keeps slipping.
LogNorm is built for the second half of the job: deciding what to do. Its competitor analysis finds rivals from search data, reads their sites, classifies their pages by type, flags new pages and pages aimed at you, pulls the keyword gap, and turns each gap into a move ranked against everything else in your plan. AI visibility tracking follows the same rivals through ChatGPT, Gemini and Google AI Overviews. If you are weighing it against other tools, you can compare LogNorm with them directly.
FAQ
How do you analyse competitor content?
Sort a rival's pages by type from its sitemap, then read the pages that rank for your gap keywords. For each, note format, depth, angle and last update. Match the format that ranks and beat it on one specific thing, such as a clearer answer, newer examples or data the others lack.
Why analyse competitors' websites?
Their sites show which page types and keywords bring them search traffic you don't get. That turns "we need more content" into a specific list: this comparison page, that cluster of articles, this refresh. It also shows pages written to catch your own buyers.
Free vs paid competitor analysis software: which is better?
Free is enough for two or three rivals and around 20 keywords, using Search Console, sitemaps and manual searches. Paid is better once you need full keyword gap data or want the monthly re-check to happen without someone doing it by hand. Neither replaces deciding what to build first.
How often should you run an SEO competitor analysis?
Run the full analysis once a quarter and a lighter check monthly: new pages in rivals' sitemaps, ranking changes on your top keywords, and what AI answers say about your category. React within weeks when a rival publishes a page that names you.
How many competitors should you track?
Three to five direct or indirect competitors is enough for most startups. Track the ones that rank most often for your keywords, not the biggest names in your market. Publishers, review sites and forums go on a separate list as places to be featured.


