Run a keyword gap without the brand noise

Strip brand terms from both sides before you read a gap report. What survives is a short, buildable list of terms where a rival has coverage and you have none.

A keyword gap compares the terms one domain ranks for against the terms another does, and reads the difference as opportunity. Run it raw and the report is mostly one finding: the two domains have different names. Every brand query, every variant of a brand query, and every location page named after a branch lands in the difference without telling you anything worth building.

Take the brand terms off both sides first. What remains is a short list of real service and topic terms where a rival has coverage and you have none, and a list that size can actually be worked.

Why the raw number runs so large

Pull the ranked keywords for an established competitor and the top rows, sorted by traffic, are almost always their own name in various arrangements. Under those sit the names of their resellers, their parent company, and frequently their competitors, because comparison pages attract brand queries too. A single city page can pick up queries built around a street name, or around a local organization whose name overlaps one of yours.

None of that is reachable. Nobody searches your rival's brand and clicks through to you in any volume, and the odd exception is not a content plan.

Your side of the comparison needs the same treatment. Your own ranked-keyword list carries your brand, your variants, and your own accidents. Leaving those in inflates your count and muddies the diff, which matters less for morale and more because it hides the terms you genuinely hold.

After both subtractions the count drops hard, and the drop is the useful part. What is left are the service and topic terms, and those are countable in work, not in thousands.

The comparable number is service terms only

Both sides of a gap have to be filtered the same way or the comparison is meaningless. An incumbent with a decade of accumulated pages, a glossary, and a franchise network will always report more keywords than a site two years old, and the gap between them will always look insurmountable if brand and near-duplicate variants count toward it.

Filter to non-brand service and topic terms on both sides and the picture changes shape. The incumbent's advantage usually comes down to a handful of pages rather than a wall, and a handful of pages is something a smaller site can study and beat.

Three lists, and the third one matters most

Most gap reports return one table: what they have that you lack. Two more are worth pulling in the same pass.

Terms they hold in the top positions and you do not hold at all. This is the headline list, and it is where the page ideas come from. Sort by volume, then group the rows by the URL of theirs that ranks. Grouping is what turns the list into a plan, because thirty terms on one of their pages needs one page from you, and thirty terms across thirty pages is a different and much larger conversation.

Terms you both hold where they sit above you. Cheaper than the first list. You already have the page, and you already have some relevance, so the work is a revision rather than a build.

Terms you hold just outside the top positions that they do not. This is the list most gap reports omit, and it is the one I would read first. Positions 11 to 30 are ground you already occupy, and a gap analysis that reads only the shortfall will steer you off it.

Run all three and the result is a content plan rather than a grievance.

From a gap list to pages

A cleaned list is no longer a competitive document. Sort what survived into intents, then decide which single page ought to answer each intent, and the ordinary keyword workflow takes over: cluster them into a site structure and label the intent before you write. Nothing downstream cares where the terms came from.

Two checks are specific to gap-sourced terms:

  1. Read their page before you commit to yours. A ranking page can be thin, dated, or narrowly useful. A gap proves demand, not quality, and the position is only worth taking if the page you would write is genuinely better.
  2. Leave out anything you cannot serve. A rival with a wider product line will hold terms that have nothing to do with what you sell, and a large slice of their estimated traffic can sit on a business you are not in. That correction is covered in reading competitor traffic estimates.

Then stop planning and ship one. Take the single term where the ranking page is weakest against what you can produce, and produce it. Run the same comparison again in ninety days; the movement between two runs tells you more than either run alone.

Do it with an agent

Doverity does not ship a fixed two-domain gap report. It gives you ranked keyword data for each side and an exclusion parameter, and the Doverity MCP performs the join. That is the more useful shape, because you set the filters rather than inheriting someone else's.

Using the Doverity MCP, compare what [mydomain.com] and
[competitor.com] rank for, and turn the difference into a work list.

1. Call get_ranked_keywords for each domain. Pass excludeBrandTerms on
   both sides: [my brand and its variants] on mine, and [their brand
   and parent company, plus their location-page naming pattern] on
   theirs.
2. Report how many rows each exclusion removed, so I can see how much
   of the raw difference was only two different company names.
3. Return three tables:
   - terms they hold in the top 10 and I do not hold at all
   - terms we both hold where they rank above me
   - terms I hold at positions 11-30 and they do not
4. In the first table, group the rows by the URL of theirs that ranks
   and tell me whether the gap is one strong page or many.

Order each table by search volume, then recommend which of the three to
start on and explain that choice in a line.

Step 2 is not cosmetic. Seeing brand removal expressed as a number is what stops the raw report from being read as a verdict.

Keyword gap FAQ

What is a keyword gap?

The set of terms one site ranks for and another does not, after both sides have had brand terms removed. Read without that removal, the largest single component of the difference is just the two company names, which is not a finding you can act on.

How much of a gap report is brand noise?

Enough that you should measure it rather than guess. On an established competitor the brand-heavy rows are usually the top of the traffic sort, and once you add competitor-name queries, location-page patterns, and near-duplicate variants, the majority of a raw report can be unusable. Have the agent count what it removed.

Should I chase every term in the gap?

No. A rival's list mixes in terms their other product lines earn, terms their brand name earns, and terms a directory or marketplace actually controls. The buildable part is generally tens of rows rather than thousands, and the top of that part is where the work is.

We are outnumbered. Is a gap analysis still worth running?

Yes, and it is more useful for a smaller site than a larger one. Group their terms by the page that ranks and the size difference usually collapses into a few pages doing most of the work. Those pages can be read and beaten one at a time, which is a plan, whereas a raw keyword deficit is only a feeling.

Run this strategy with an agent

Every guide includes a prompt you can paste to an agent. With the Doverity MCP connected, it reads your Search Console, rank data, and backlink profile while it works. Free credits at sign-up, or self-host for nothing.

Stay in the loop

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