The competitors on your battlecard are not the ones in your SERPs

The domains you lose clicks to are rarely the companies you lose deals to. How to compare a keyword set, read the list that comes back, and work out which of those results you can actually take.

How do you find out who your SEO competitors are?

Ask a founder to name their competitors and you get the sales answer: the three companies that show up in deal reviews. That list is real, and it is the wrong input for a content plan. Search does not rank companies. It ranks pages. The page you have to beat for a term you care about is frequently published by someone who is not in your market at all.

The fix is to stop naming competitors and start measuring them. Take a keyword set you genuinely want to own, compare every domain that appears across those SERPs, and rank them by how much of that result space they hold. What comes back is not a competitor list. It is a list of who currently stands between you and the clicks.

Jeremy Moser, who runs the agency uSERP, describes this as the first thing his team fixes on a new engagement:

A lot of folks will come in and say... these are the main core central themes or topics that we want to rank for long-term. But then when you actually go to the search results and you look and see what's there, sometimes it's just not even worth it.

The topic list and the SERP disagree more often than anyone expects. Measuring is what tells you which one to believe.

Why your SERP competitors are not your business competitors

Here is a real comparison across five terms in the property restoration category: the head terms, plus one city-modified term.

The top result by visibility was the national brand everyone in that industry names first. No surprise. But fifth on the list was Yelp. Tenth was Home Depot. Twelfth was YouTube.

None of those three sell restoration services. All three occupy positions a restoration company would like to hold. A directory, a big-box retailer, and a video platform were collectively taking more of that result space than most of the actual restoration firms in the comparison.

That changes what you build. You do not out-content Yelp with a better service page. You either target the terms where a directory does not belong, or you accept that a share of that SERP is structurally unavailable and price your forecast accordingly.

The reverse surprise is just as useful. On the city-modified term, the domain sitting at position one was a small local operator nobody would have listed. The national brand with millions of visits a month was at position three, on its own category term, in a single city. Scale did not decide that result. Relevance did.

The three groups every competitor list splits into

Once you have the measured list, sort it into three buckets before you plan anything.

  1. Direct competitors who sell what you sell and rank for what you want. These are the ones worth a full competitor analysis, because everything they rank for is a page you could plausibly build.
  2. Structural competitors like directories, marketplaces, review sites, and video. You will rarely displace them, but you can often join them. If Yelp holds a position on your term, being well-placed inside Yelp is a cheaper win than trying to rank above it.
  3. Accidental competitors who rank on one term because of a single strong page, usually a guide or a glossary entry. They are the softest targets on the list. One page beat you, so one better page can take it back.

Most competitive analysis fails because it treats all three as group one.

There is a fourth category worth holding in mind even though no tool will surface it. Jorge Chavez, who consults on sales process at Topaz Sales Consulting, makes the point that the competitor named in a deal review is usually not the one that wins:

You could ask anybody in any podcast you ever do, who's your biggest competitor? I suspect nine out of ten will tell you a name of a competitor... But the real answer is no change.

Search has the same problem. Plenty of the demand you are measuring ends in nobody buying anything. A competitor list tells you who takes the clicks. It does not tell you which of those clicks were ever going to become customers, which is why the intent filter matters as much as the visibility ranking.

How to run this in OpenSEO

Comparing domains across a keyword set is one of the competitive research tools in the MCP.

The OpenSEO competitive research tool group, listing Get SERP results, Find SERP competitors, Get ranked keywords, Get domain overview, Get domain keywords, Get backlinks overview, and Get backlinks profile

Note that Find SERP competitors runs through the MCP and the agent rather than through a page in the app. That is fine, and it is arguably the better shape: the useful version of this question involves a keyword set, an exclusion list, and a judgement call about each result, which is a conversation rather than a form.

Using the OpenSEO MCP, find the SERP competitors for [mydomain.com].

1. Compare these keywords: [list 5-15 terms you actually want to
   own, including at least one modified the way a real buyer
   would modify it]. Exclude my own domain from the results.

2. Return the domains sorted by visibility, and for each one show
   which of my keywords it ranks for and at what position.

3. Sort the list into three groups:
   - direct competitors who sell what I sell
   - structural results (directories, marketplaces, review sites,
     video, retailers) that I am unlikely to outrank
   - accidental competitors ranking on a single strong page

4. For group three, tell me which single URL is ranking and what
   it would take to beat it.

Flag anything in the list I would not have guessed.

That last line is the one that earns its keep. The value of this workflow is not confirmation. It is the names you did not expect.

Choosing the keyword set you compare on

The output is only as good as the terms you feed it, and the most common mistake is feeding it your own vocabulary. If you compare on the words your marketing site uses, you get back the domains that also use your words, which is a much smaller and friendlier world than the one you actually sell into.

Seed the comparison from customer language instead. The same discipline that governs seeding keywords from conversation governs this: use the terms buyers type, not the terms your category page was written around. And keep at least one modified term in the set. Head terms tell you who is big. Modified terms tell you who is beatable.

What to do first

Pick five terms you would be happy to rank for next quarter, run the comparison, and read the list without editing it. Then answer one question for each unexpected domain: is this a company, a platform, or a page?

Companies go into a full competitor analysis. Platforms go into a distribution plan. Pages go into your content backlog, and they are usually the fastest wins on the board.

From there, the next step is measuring the distance. Once you know who ranks, keyword gap analysis tells you what they hold that you do not, and reading their domain overview honestly tells you whether their advantage is as large as it looks.

Finding SEO competitors FAQ

How do you find your competitors' websites?

Compare a set of keywords you want to rank for and look at which domains appear across those results. That measured list is more reliable than a list assembled from memory, because it is built from the SERPs you are actually competing in rather than from the companies you meet in sales calls.

What are the types of competitor analysis?

For search work, three groupings matter more than any formal framework: direct competitors selling what you sell, structural results like directories and marketplaces that own positions by category rather than by merit, and accidental competitors ranking on one strong page. Each one calls for a different response.

Should you target the same keywords as your competitors?

Only where you can plausibly win and the term matches something you sell. A competitor ranking for a term is evidence of demand, not evidence that you should chase it. Terms held by directories and marketplaces are often better joined than fought, and terms held by a competitor's single strong page are usually the cheapest to take.

Why does a small site outrank a big brand on some terms?

Because relevance is scored per page, not per company. A page written specifically for one query, in one city, for one intent, routinely beats a national brand's generic category page on that query. This is the single most useful thing a measured competitor list will show you.

Run this strategy in OpenSEO

Run the MCP prompt in this guide with OpenSEO. OpenSEO is open source, free to try, and does not require a credit card.

Stay in the loop

Product updates, new features, and the occasional behind-the-scenes.