Keyword gap analysis: knock out the brand terms first
A raw keyword gap between you and a competitor is mostly noise, because most ranked-keyword lists are mostly brand. How to strip brand out of both sides and turn what's left into a page plan.
What's a keyword gap analysis?
A keyword gap analysis compares the keywords a competitor ranks for against the keywords you rank for, and treats the difference as your opportunity list. It's the single most requested competitive report, and in its raw form it's close to useless.
The reason is arithmetic. Pull the ranked keywords for a well-established competitor and a smaller site in the same market and the two numbers aren't comparable. Here's a real pair from property restoration. The national brand ranks for 49,475 organic keywords. The regional operator ranks for 79.
A raw gap analysis reports that as 49,396 opportunities. That number isn't a plan. It's a way of feeling behind.
Why your ranked-keyword list is mostly your own name
Look at what the smaller site actually ranks for, sorted by traffic.

Every row at the top of that list is the company's own name in some arrangement. Below the fold it gets weirder. The site also ranks for several other restoration companies' brand names, for a street address, and for a local civic app that happens to share a word with one of its city pages.
Strip all of that out and the genuine service rankings are a short list. One city plus water damage at position 19, one city plus mould removal at position 18, one city plus fire damage at position 18. Three real footholds, not 79.
That's the actual starting position, and it's much better news than the raw number, because three near-miss service pages is a quarter's worth of work rather than an impossible backlog.
The same subtraction has to happen on the competitor's side. Their 49,475 includes their brand, their franchise location pages, their glossary and a big pile of close variants. The comparable figure on both sides is service terms only.
Running a keyword gap in Role SEO
Role SEO doesn't have a one-click "keyword gap" report that takes two domains and hands you the difference. What it has are the two halves. You pull ranked keywords for each domain and the agent handles the join. In practice it's more flexible than a fixed report, because you control the filters on both sides, but it's worth knowing before you go looking for a button.
The filter that does the real work is brand exclusion, which is a parameter on the ranked-keywords tool rather than something you have to post-process.
Using the Role SEO MCP, run a keyword gap between [mydomain.com]
and [competitor.com].
1. Pull ranked keywords for both domains. On both sides, exclude
brand terms: [my brand and its variants] and [their brand,
their parent company, their location-page naming pattern].
2. Drop anything that is a competitor's brand name, a street
address, or an obvious mismatch. Show me what you dropped and
why, in a short list.
3. Return three tables:
- terms they rank top 10 for and I do not rank for at all
- terms we both rank for where they are ahead of me
- terms I rank 11-30 for that they do not hold, which is
defensible ground rather than a gap
4. For table one, group by the page on their site that ranks, so
I can see whether the gap is many pages or one strong page.
Sort each table by search volume and tell me which table you
would work first.Table three is the one most gap reports leave out, and the one most worth having. A gap analysis that only looks at what you're missing will walk you away from the terms you're already quietly winning.
Learn from the gap, don't copy it
The output of this workflow is a list of things a competitor has that you don't. The obvious move is to build the same pages. It's usually the wrong move.
Tom Malesic, who runs the agency EZMarketing, put the objection plainly when asked how to use competitor research without ending up as a copy of the competitor:
So for small business owners, their competitors are generally small business owners. And most small business owners' marketing is terrible. So I worry less about sounding like the competitor, and I worry more about creating the voice and sounding like the business that I'm representing.
A gap tells you a topic has demand and that somebody satisfied it well enough to rank. It doesn't tell you their page is good. Often the page holding position four is thin, dated and beatable by anyone willing to actually answer the question.
Gert Mellak of Solicom AI Consulting frames the useful version as a narrowing exercise rather than a copying one:
Let's really analyse those five. Let's go to competitors, let's see what's working for them, what can we learn from them? How can we go deeper on those five topics, angles, aspects?
Five is closer to the right number than five hundred. A gap report's value is in the top of the list, not in its length.
Turning the gap into pages
Once the list is clean, it stops being a competitive artefact and becomes an ordinary content plan. Group the surviving terms by intent, then by the page that would satisfy them, the same way you would with any other keyword set. The workflows in clustering keywords into topical hubs and search-intent mapping apply here without changes, because at this point the source of the keywords doesn't matter any more.
Two rules that are specific to gap-sourced keywords:
- Check the ranking page before you commit. If a competitor holds thirty terms with one page, you need one page, not thirty. Grouping by their URL is what shows you that.
- Don't chase terms your product doesn't serve. A competitor with a broader product line will rank for things you have no business ranking for. The restoration comparison above is a good example. A big chunk of the national brand's traffic comes from general cleaning services, which is a different business.
That second point is developed further in reading a competitor's domain overview honestly.
Where to start
Run the gap on one competitor, with brand excluded on both sides, and stop at the first ten rows. Pick the one row where a competitor's page is visibly weaker than what you could write, and write that page. A gap analysis that produces one shipped page has outperformed the vast majority of gap analyses, which produce a spreadsheet.
Then run it again in ninety days on the same competitor. The change between the two runs is more informative than either run on its own.
Keyword gap analysis FAQ
What's a keyword gap in SEO?
The set of keywords a competitor ranks for and you don't. Useful only after brand terms are removed from both sides, because otherwise the biggest part of the difference is simply that you have different company names.
How do you do a content gap analysis for free?
The discovery half costs nothing. Read the competitor's pages, note what they cover that you don't, and check your own Search Console for questions you're already getting impressions for. The part that costs money is the ranked-keyword data on the competitor's side, which is why quality SEO data sits behind a subscription in every tool. Role SEO is free to start, with a paid plan at £15/month that includes usage credits.
Should I target every keyword my competitor ranks for?
No. A competitor's ranked-keyword list includes their brand, their variants, and terms served by product lines you don't have. The list worth acting on is usually a few dozen rows, not a few thousand.
What if my competitor ranks for thousands of keywords and I rank for almost none?
Group their keywords by the page that ranks. A big keyword count is often a small number of strong pages, and a small number of strong pages is something you can compete with. The count itself is a poor measure of how far ahead they are.
Run this strategy in Role SEO
Run the MCP prompt in this guide with Role SEO. Role SEO is open source, free to try, and does not require a credit card.