If a competitor keeps outranking you and you don’t know why, guessing won’t fix it. An SEO competitor analysis tells you who you really compete with in search. It shows what Google rewards on the searches you care about, and which gaps you can close soonest. I do it per group of keywords, not per company. That’s because the sites beating you in search are often not the businesses you compete with for customers.
In this guide I walk through the method I use, step by step. It works with free sources: the live search results, your own Search Console data, competitors’ public pages, and a spreadsheet.
What an SEO Competitor Analysis Is (and Is Not)
An SEO competitor analysis is a planned comparison of your pages against the pages that rank for the searches you want. The goal is to understand why they rank. Then you turn that into a short list of changes you can make.
It is not a list of every keyword a rival ranks for. It is not copying their pages either. Google’s ranking systems are built to reward content that adds something new. So matching a competitor point for point usually makes you “also ran” at best. You are looking for three things: what the results expect, what the leaders do well, and where everyone is weak.
Step 1: Find Your Real Search Competitors
Start with keywords, not company names. Your business rival down the road may barely rank. Meanwhile a publisher, a marketplace or a forum thread takes the top spots for your most valuable terms.
Group Your Keywords First
Split your target keywords into sets that share an intent (the goal behind the search) and a page type. A plumbing company might have four sets:
- Emergency service: “emergency plumber near me”, “burst pipe repair”.
- Specific jobs: “boiler installation cost”, “replace kitchen tap”.
- DIY problems: “why is my toilet running”, “how to bleed a radiator”.
- Brand and reviews: your name plus “reviews”, “prices”, “opening hours”.
Each set will have a different competitor list. Local businesses and directories lead the emergency set. Home improvement publishers and videos lead the DIY set. Treat them as separate battles.
Find Who Ranks for Each Set
- Pick 10 to 20 typical keywords per set. Mix high-value terms and long-tail terms (longer, more specific searches).
- Search each one in a private browser window, set to the location your customers search from.
- Write down the domains in the top 10 organic results. Also note who appears in the map pack, featured snippets and AI Overviews.
- Count how often each domain appears across the set. The domains that show up again and again are your search competitors for that set.
Your own Search Console data helps here. The Performance report shows the queries where you already get impressions. Those are the queries where you are closest to winning, and they’re where I look first. If you haven’t used it this way before, the Search Console reports that matter are a good place to start.
Sort Competitors Into Types
Label each domain as one of these: a direct business rival, a publisher, an aggregator or marketplace, a forum or community, or a government or official source. This matters for what you do next. You can realistically outwrite a thin rival page. You are unlikely to beat an official source on a legal or rules question, so you may target a narrower angle instead.
Step 2: Study the Results Page and Search Intent
Before you look at any competitor page, look at the results page itself. It shows you what Google thinks the searcher wants.
For each keyword set, note:
- Main page type: guides, category pages, product pages, tools, local listings, videos or discussions.
- Main format: step-by-step how-to, list, comparison, calculator, pricing page.
- SERP features (extra boxes on the results page): AI Overview, featured snippet, People Also Ask, local pack, image or video results, shopping results, forum results.
- Freshness signals: visible dates and how recent they are.
Say eight of the top ten results for “boiler installation cost” are pricing guides with tables. Your service page will struggle there however well it is optimised. That is an intent mismatch, and no amount of links fixes it. The fix is a different page type. In my experience, this is the most common reason a page won’t move.
Mixed results are worth noting too. When the top ten blends guides, product pages and forum threads, Google is unsure what most searchers want. That’s often an opening for a page that serves the main intents clearly.
People Also Ask questions are free research. Copy them into your sheet for each set. They show the follow-up questions a good page should answer.
Step 3: Run a Content Gap Analysis
A content gap is a topic your competitors cover, and searchers want, that you don’t cover at all or cover badly. There are two levels to check. I go deeper on the method in my guide to content gap analysis.
Site-Level Gaps
Look at the main sections of each search competitor’s site: their menu, category pages, blog categories and XML sitemaps (often linked from robots.txt). List the topics and page types they have that you don’t.
Then filter hard. A gap only matters if it fits your business and people search for it. A competitor’s careers advice section is not a gap for a plumbing firm.
Topic-Level Gaps
For each keyword set, compare what the top pages cover with your page. Read the top three to five results. Note the subtopics, questions and examples they share. Anything that most of them cover and you skip is a likely gap.
Also note what none of them covers. I think these are the most valuable gaps: the question every forum thread asks but no guide answers, the cost breakdown nobody gives, the local rule they all ignore.
Before you create new pages, check that you won’t end up with two of your own pages targeting the same thing. If a gap belongs on an existing page, expand that page instead. The guide to finding and fixing keyword cannibalization shows how to spot overlap.
Step 4: Compare Pages Side by Side
Now pick the top three ranking pages for one important keyword and put them next to yours. This is where most of the useful findings come from.
| What to compare | What to look for |
|---|---|
| Depth and coverage | Subtopics covered, questions answered, whether the main question is answered early |
| Format | Steps, tables, calculators, comparison charts, video, original images |
| Freshness | Published and updated dates, current prices, current rules and product names |
| E-E-A-T signals | Named author with relevant experience, first-hand evidence, sources, business details |
| On-page basics | Title, headings, intro, internal links in and out, structured data |
| Page experience | Speed, intrusive pop-ups, ads, readability on mobile |
Depth Is Not the Same as Length
Long pages don’t rank because they are long. Count the questions a page answers, not its words. A 900-word page that answers the main question in the first paragraph and covers the next three questions can beat a 4,000-word page padded with history.
Look for Proof of Experience
Google’s guidance on creating helpful, reliable, people-first content asks who created the content, how it was created and why. Check how the leading pages answer those questions. Do they show real photos of the work, original measurements, a named author with a relevant background, or clear business details? (E-E-A-T stands for experience, expertise, authoritativeness and trust.)
Where competitors show no first-hand experience, that’s a gap you can fill honestly with what you actually know and do. Do not invent it.
Write Down Why Each Page Ranks
For each competing page, finish this sentence in your sheet: “This page ranks because…”. For example: “It answers the cost question with a clear table, it was updated this year, and the site has many pages on the topic.” That guess drives your actions later. I never skip this step, because it stops me from fixing the wrong thing.
Step 5: Compare Technical Foundations
Technical problems rarely explain why one strong page beats another. They often explain why a whole site does badly. Keep this comparison focused.
- Indexing: search
site:competitor.complus a topic to see roughly how many of their pages Google shows for it. Then check your own coverage in Search Console’s Page Indexing report. - Speed and Core Web Vitals: run your key page templates and theirs through PageSpeed Insights. Compare the field data (from real users) where it exists, since lab scores alone can mislead.
- Mobile experience: load both on a phone. Look for pop-ups covering content, tiny tap targets and layouts that jump around.
- Site structure: how many clicks from the homepage to key pages, whether they use breadcrumbs and clear category hubs, and how they link related pages together.
- Structured data: view the source or use Google’s Rich Results Test to see which schema types they use, such as Product, LocalBusiness, Article or BreadcrumbList.
If a competitor’s category pages are two clicks from the homepage and yours are five, that’s a priority fix. The same goes if theirs are cleanly indexed while a third of yours are excluded.
Step 6: Compare Links and Mentions
Links still help Google find pages and judge how important they are. But the useful question isn’t “how many links do they have”. It is “where do their links come from, and could we earn similar ones”.
Free ways to see a competitor’s links and mentions:
- Search their brand name in quotes, leaving out their own site, to find articles, directories and reviews that mention them.
- Look at their “press”, “as featured in” and partner pages.
- Check which industry groups, suppliers, local organisations and events list them.
- Note which of their pages others cite. These are usually original data, tools, guides or local news.
Group what you find into types: industry directories, local press, supplier and partner pages, sponsorships, resource pages, and content that earns links naturally. Then ask which types are open to you.
Brand mentions without a link count for more than they used to. Reviews, forum talk and press coverage shape how both search engines and AI assistants describe a brand, even with no link.
Don’t fall into the trap of trying to copy every link. Paid links and link schemes break Google’s spam policies. A competitor’s links may also include ones you shouldn’t want. Honestly, I’d rather earn a handful of relevant local links than chase a rival’s whole list.
Step 7: Check Local Competitors and Google Business Profiles
If you serve customers in a certain area, the map pack is a separate contest with different rules. Google says local results are based mainly on relevance, distance and prominence, as explained in its tips to improve your local ranking.
You can’t change distance, so compare what you can change. For the businesses in the map pack for your main terms, write down:
- Primary and secondary categories.
- Number of reviews, average rating and how recent the reviews are.
- Whether they reply to reviews.
- How complete the profile is: hours, services, products, attributes and description.
- Photos and posts, and how recent they are.
- Whether their website has a matching location page with the same name, address and phone number.
Run your searches from different points in your service area, because the map pack changes with the searcher’s location. A competitor that leads near your office may be missing five miles away.
For finding the right local keywords to test, see how to research what nearby customers search.
Step 8: See Who Gets Cited in AI Answers
AI Overviews and AI Mode in Google, and assistants such as ChatGPT search, Perplexity and Copilot, now answer many questions before anyone clicks. So an SEO competitor analysis should check who those answers cite and mention.
- Take the main questions from each keyword set, including the People Also Ask questions you collected.
- Run them in Google (note any AI Overview) and in two or three AI assistants your customers are likely to use.
- Write down which sites are linked as sources and which brands are named in the answer.
- Repeat for a sample each month, because these answers change between runs and over time.
Then look at the cited pages. They often share a few things: a direct answer near the top, clear headings that match the question, specific facts such as prices, steps or definitions, and a source the assistant can trust. Sites that rank well in normal results are often cited, but not always. A clear, specific page on a small site can be cited ahead of a vague page on a big one.
Brand mentions matter here too. If assistants name three competitors when asked for “the best” provider in your area or niche, find where that view comes from: review sites, comparison articles, forum threads and press coverage.
Treat this as a rough check, not an exact metric. There is no stable ranking to track, and results differ by user, location and wording.
Step 9: Turn Findings Into a Prioritised Plan
A competitor analysis that ends as a long spreadsheet is wasted effort. Finish by turning findings into a small number of actions with owners and dates.
Score Each Opportunity
For every finding, give a simple score of 1 to 3 on three questions:
- Impact: how valuable is the keyword set to the business, in leads or sales, not just traffic?
- Effort: how much work is the fix: an edit, a new page, a technical project or a long link campaign?
- Winnability: can you beat the top results? Thin rival pages and outdated content are beatable. Official sources and giant brands on big head terms often are not.
High impact, low effort and high winnability go first. In practice the first wave is often updates to existing pages that already sit on page one or two, because they are closest to moving. That’s where I’d put my first week of work.
Build the Plan in Layers
- Quick fixes (this month): intent mismatches, missing answers on existing pages, outdated facts, weak titles, broken internal links, missing Business Profile fields.
- New content (next quarter): the real gaps from Step 3, starting with those that support your money pages.
- Technical work: indexing and structure issues that affect many pages at once.
- Authority building (ongoing): the link and mention types from Step 6 that fit your business, plus a steady process for getting reviews.
Set a Baseline and a Review Date
Record current positions, clicks and impressions for each keyword set in Search Console, plus your AI citation sample from Step 8. Rerun the competitor check every quarter for your most important sets, and sooner after a major Google update. Competitors change their pages too, and the results you studied won’t stand still.
A Worked Example
Say an independent bike shop wants to rank for “e-bike servicing” in its city. The keyword check shows the top results are two national chains’ service pages, one local rival and a forum thread about servicing costs. The map pack shows three local shops.
The page comparison shows the chains list prices clearly and answer “how often should an e-bike be serviced”. The local rival has a thin page with no prices. Nobody explains which motor and battery brands they can work on, and that’s the main question in the forum thread.
The plan writes itself. Add a price table and a brand list to the existing service page. Answer the servicing interval question. Add photos from the workshop. Ask recent customers for reviews. Add “e-bike repair” services to the Business Profile. All of it can be done in a few weeks.
Conclusion
A good SEO competitor analysis is narrow and practical. Work one keyword set at a time. Let the results page tell you the intent. Compare the leading pages honestly. Finish with a short plan you will actually carry out. The point is not to copy anyone. It is to understand what the search results reward, and then do it better for your own customers.
If AI answers turned out to be a big part of your findings, a sensible next step is learning how ChatGPT search finds and cites websites.



