Keyword gap analysis tool: what they rank for and you do not.
Paste two keyword exports and the tool returns the difference, with brand and junk terms excluded. A gap analysis is easy to run and easy to misread, so the method below covers choosing comparison sites and filtering what is left into a plan.
By Mike Cecconello · Updated September 5, 2026
Keyword gap analysis
Runs in your browser. Nothing you paste is sent anywhere.
Gaps to consider
Shared
Yours alone
A gap is a keyword the competitor ranks for and you do not. Most of a raw gap list is their brand, their careers page and SERPs you cannot reach yet, so the exclusion box is the most useful control here. What survives still needs a look at the live results before it becomes a brief.
What you can do with it
- Find topics a client is missing that competitors already own
- Choose comparison sites that produce useful gaps
- Filter out gaps that look real but are not worth pursuing
- Turn a gap export into a prioritised content plan
How it works, step by step
- 1
Pick SERP competitors, not business competitors
The right comparison set is whoever ranks for the queries you want, which is often not the same as the companies your client names in a pitch. A publisher or a review site can be your real SERP competitor even though nobody would call it a competitor commercially.
- 2
Pull the keywords they rank for and you do not
Export the difference. Any rank-tracking tool with a gap or intersection report will do this, and the free approach is to compare the top queries per site manually for a smaller keyword set.
- 3
Strip out gaps that were never yours to win
Remove branded queries for their brand, careers and location queries, and anything served by a business model your client does not have. These inflate a gap report and produce plans nobody executes.
- 4
Test the remaining gaps against the SERP
For each surviving candidate, check whether the top ten is beatable at your client's authority level. A gap that only exists because the competitor has ten years of links is not a gap, it is a reminder.
- 5
Cluster what survives and assign page types
Group the remaining keywords by intent so you brief pages rather than keywords, then assign one page type per cluster.
A keyword gap report is one of the easiest things in SEO to produce and one of the easiest to misuse. Export the difference between two sites and you get several thousand rows, most of which are noise. The tool above produces the difference; the work is in the filtering, and that is what the rest of this page is about.
Choose the right comparison set
The instinct is to use the client’s named competitors. That is often wrong. The sites you compete with in search are whoever occupies the results for your target queries, and that set regularly includes publishers, review sites, and marketplaces that nobody at the client would describe as a competitor.
Run a few of your priority queries and note who actually appears. That list is your comparison set. Using the commercial competitor list instead produces gaps against companies that may not rank at all, which is a report about nothing.
Strip out the gaps that are not gaps
Before anything gets planned, remove:
- Their branded queries. You will never rank for a competitor’s brand name, and you should not want to.
- Careers, location, and support queries. These are gaps in the literal sense and irrelevant in every other sense.
- Business-model mismatches. If the competitor ranks for queries served by a marketplace or a free tool your client does not have, the content will not satisfy the intent.
- Anything on a fortress SERP. If the competitor holds the position because of a decade of accumulated authority, the gap is a description of the authority difference, not an opportunity.
That last filter usually removes more rows than the other three combined, and it is the one most often skipped. Check the SERP before you plan the page, not after you have written it.
What a usable output looks like
After filtering, each surviving row should carry enough to make a decision:
Keyword | Which competitor ranks | Their position | Intent | Beatable? | Cluster | Page type
The Beatable? column is the one that turns a report into a plan. It is a judgement, made by looking at the SERP, and writing it down forces the judgement to happen before a writer is assigned rather than after a page fails.
Cluster before you brief
A filtered gap list is still a list of keywords, and briefing keywords one at a time is how sites end up cannibalising themselves. Group the survivors by intent, so that keywords answerable by a single page become a single page. The keyword clustering method covers how to do that grouping and how to assign page types to the result.
Doing this across a client roster
For one site this is an afternoon’s work. Across a roster it becomes a standing job: competitor sets drift, SERPs shift, and a gap report from six months ago describes a competitive landscape that has moved. That recurring pass is what AltoRank runs per client, with a human approving the resulting plan before anything is written. See the alternatives comparisons for how it compares to other tools.
Frequently asked questions
What is a keyword gap analysis?
A keyword gap analysis compares the keywords a set of competing sites rank for against the keywords your site ranks for, to surface topics you are missing. It is most useful as an input to a content plan rather than as a deliverable in itself.
How do I choose competitors for a gap analysis?
Choose the sites that actually rank for the queries you want, which frequently differ from the client's commercial competitors. Publishers, review sites, and marketplaces often occupy the SERPs a client cares about even though they are not competitors in a business sense.
Why do most gap analyses produce plans nobody executes?
Because the raw export is dominated by gaps that were never winnable or never relevant: the competitor's branded terms, queries served by a different business model, and keywords held by domains with far more accumulated authority. Filtering those out before planning is what makes the output usable.
Can I run a gap analysis without a paid tool?
Partially. Search Console gives you your own ranking queries for free, and you can compare those against a manual review of what competitors cover. Paid tools mainly add scale and competitor visibility, which matters more when you are running this across many client accounts.
What does this gap tool do, and what does it not do?
It compares two keyword lists and returns three sets: keywords only the competitor has, keywords you both have, and keywords only you have, with an exclusion box for brand names and junk. It does not fetch anyone's rankings. Export your queries from Search Console and the competitor's from any rank tracker, paste both, and run it once per competitor.
How is a gap analysis different from keyword research?
Keyword research starts from demand and asks what people search for. Gap analysis starts from a competitive set and asks what others already capture that you do not. They overlap, but gap analysis is better at surfacing topics you would not have thought to look for.
More free tools
- Free FAQ Schema Generator (JSON-LD, Article, Breadcrumb)
- Free Internal Link Checker: Audit Anchors on Any Page
- Free Keyword Density Checker: A Diagnostic, Not a Target
- Free Meta Description Generator With SERP Preview
- Free robots.txt Generator With AI Crawler Rules
- Free SEO Content Brief Template and Generator
- Free Slug Generator: Clean URL Slugs From Any Title
- Free Word Counter and Readability Checker
- SEO Health Check: The Agency Audit Checklist
Be the site the assistant names.
Add a domain and the first draft is written while you watch. Every publish is your decision, a click on the draft or a rule you set and can hold, and you can read the source or self-host it free.
Add a domain, it sets up your workspace