Keyword Gap Analysis Template
Free editable Keyword Gap Analysis Template. Copy, personalize, or download the Word .docx template from UNmiss.
A keyword gap analysis shows you exactly where rivals capture search traffic that you are missing, then helps you act on it. This template walks you from picking the right competitors through scoring gaps and shaping them into briefs. Use it to build a focused, evidence-based roadmap instead of guessing which keywords to chase.
6 ready-to-use variants
Pick the Right Competitors to Compare
Use this first to choose 3-5 true SERP rivals so your gap data reflects who you actually compete with in search, not just in business.
Choose SERP competitors, not just business rivals
The competitors that matter for a gap analysis are the sites that rank alongside you for your target queries, even if they are not direct commercial rivals. A media outlet, a forum, or a marketplace can be a SERP competitor.
- Seed queries: [5-10 core terms] you already care about.
- Method: note who repeatedly appears in the top results for those queries.
- Tool shortlist: use your SEO platform's organic-competitors report to confirm overlap.
Aim for 3-5 competitors. Fewer than three narrows your view; more than five floods you with noise. Mix one or two aspirational leaders with peers at your own level so gaps stay realistic.
- List business rivals you assumed were competitors.
- List the sites actually ranking for your seeds.
- Keep the overlap; drop rivals you never meet in the SERPs.
Output: a confirmed shortlist with a one-line note on why each made the cut, ready for the gap run.
Run the Gap
Use this to pull the raw keyword sets and sort them into clear buckets so you can see where you are absent, behind, even, or ahead.
Sort every keyword into a bucket
With your shortlist set, export each competitor's ranking keywords and your own, then compare. The goal is a single sheet where every term lands in one of four buckets.
- Missing: competitors rank, you do not rank at all.
- Weak: you rank, but well below them [your rank vs theirs].
- Shared: you both rank closely & defend roughly the same ground.
- Untapped: no one in the set ranks strongly yet: open territory.
Missing and weak both feed scoring on equal footing, so do not promote weak ahead of missing here. The scoring step already credits weak terms through its proximity factor, which rewards pages you are closer to ranking, so a manual weak-first rule at this stage would double-count that head start. Let the ranked score decide their order. Shared is not a gap, so park it for a defend-or-monitor decision in the next step. Untapped rewards early movers but is riskier and slower to pay off, so it still goes to scoring, but flag it for the special handling the scoring step describes: a conservative default ease estimate plus an explicit uncertainty discount so its longer timeline is weighed against the quicker wins. That way every bucket resolves: missing, weak, and untapped flow into scoring, and shared is handled separately.
- Export ranking keywords for each competitor and yourself.
- Merge into one sheet keyed by keyword.
- Tag each row with its bucket.
- Record search volume and current positions per term.
- Route missing, weak, and untapped forward to scoring on equal footing (flag untapped for its conservative ease default and uncertainty discount) and set shared aside for the defend-or-monitor decision.
Output: a bucketed master sheet of [total keywords] rows, the foundation for qualifying and scoring.
Qualify by Intent & Relevance
Use this to filter the raw gap list down to keywords that match real searcher intent and genuinely fit your offering.
Keep only relevant, intent-matched gaps
A big gap list is mostly noise until you filter it. Many missing keywords are irrelevant, off-brand, or impossible to satisfy with your content. Qualify before you score.
- Relevance check: would a page on this term serve [your audience] and connect to what you offer?
- Intent label: tag each term as informational, commercial, transactional, or navigational.
- Intent fit: confirm you can actually satisfy that intent with a credible page.
Read the live SERP for borderline terms. If the results are all product pages and you publish guides, the intent does not match your format: cut or reframe it.
Decide what to do with shared keywords here. The shared bucket (terms where you and a rival rank closely) is not a content opportunity, so route it deliberately rather than scoring it as a gap. Pick one action per shared term:
- Defend: the term is high business value and you could slip: keep it fresh and protect the page.
- Monitor: moderate value and a stable position: watch for rank movement, no work now.
- Deprioritize: low value or a position you are content to hold: set it aside.
- Remove branded competitor terms and clearly off-topic queries.
- Label intent for every surviving keyword.
- Flag terms where intent conflicts with your content type.
- Tag each shared-bucket term as defend, monitor, or deprioritize, and send only defend terms forward to scoring.
Output: a shortlist of qualified, intent-tagged gaps where each keyword is relevant and winnable, plus a separate defend/monitor/deprioritize list for shared terms, ready for scoring.
Score & Prioritize
Use this to rank qualified gaps by a weighted score so you work on the highest-value, most-attainable opportunities first.
Score on value and attainability, not raw volume
Volume alone is a trap. A high-volume term you cannot rank for is worth less than a modest term you can win this quarter. Score every qualified gap on a few weighted factors.
- Search volume: demand for the term [monthly searches].
- Difficulty: how hard the SERP is to break into [difficulty score].
- Business value: how close the term sits to conversion or revenue.
- Proximity: how close you already are: a weak rank is nearer a win than a missing one.
How the factors combine into one number. Rate every factor on the same 1–10 scale where higher always means more attractive, then take a weighted sum. Volume, business value, and proximity score directly: more demand, more revenue, and a closer existing rank all push the score up. Difficulty runs the opposite way, so invert it: an easy SERP scores high and a hard SERP scores low (for example, score = 10 − difficulty rating). The priority score is then (business value × w1) + (ease × w2) + (proximity × w3) + (volume × w4), where the weights [w1–w4] sum to 1 and reflect your strategy.
Start from a recommended default weighting of business value 0.4, ease 0.3, proximity 0.2, and volume 0.1, which leans toward revenue-relevant terms you can realistically win. Then adjust by strategy with one simple rule: raise the weight on whatever your goal depends on most and lower the rest so the four still sum to 1. For example, push business value higher if you are revenue-led, or lift ease and proximity if you need fast wins this quarter. Because every input rises with attractiveness, a higher total always means a higher priority, and the formula is reproducible: the same ratings yield the same score every time.
Scoring untapped terms. Untapped keywords are unproven: no one ranks well yet, so proximity is effectively zero and true difficulty is unknown. Score them with the same formula but two adjustments so they stay comparable rather than just tagged. First, set proximity to its floor (rate it 1) and assign a conservative default ease: rate ease no higher than 5 (a neutral "assume mid-difficulty until proven") so an unverified SERP is never treated as easy. Second, apply an explicit uncertainty discount to the weighted total by multiplying the untapped term's score by a haircut factor [0.6–0.8]. Use the haircut as the default, because it is fully reproducible: it depends only on that term's own ratings, so the same ratings always yield the same discounted score and two untapped terms keep their relative order. (As an optional override you may instead cap untapped scores at the level of your lowest-scoring proven gap, but only if you accept the trade-off: a cap makes a term's score depend on other terms, so it is not reproducible from the ratings alone and can collapse several untapped terms to one ceiling value.) Either way, the adjustment pushes untapped terms down the same ranked list to reflect their higher risk and slower payoff, so a strong proven gap is never beaten by a speculative one on optimism alone.
- Rate each factor on the same 1–10 higher-is-better scale, inverting difficulty into an "ease" score.
- Apply weights that sum to 1, starting from the default 0.4 / 0.3 / 0.2 / 0.1 and shifting toward whatever your strategy depends on most.
- For untapped terms, set proximity to its floor, cap ease at a conservative default, then apply the uncertainty haircut multiplier [0.6–0.8] to the weighted total before ranking (this reproducible discount is the default; the lowest-proven-gap cap is an optional, non-reproducible override).
- Compute the weighted sum, then sort descending by total score.
- Mark quick wins where proximity is high and difficulty is low.
Output: a ranked priority list with a single reproducible score per keyword and quick wins flagged, ready to cluster into briefs.
Cluster Gaps into Content Briefs
Use this to group related gap keywords into single topics so you build one strong page per cluster instead of chasing isolated terms.
One page per cluster, not one page per keyword
Search engines rank pages on topics, not lone keywords. Grouping related gaps into clusters lets one comprehensive page capture many terms at once and avoids thin, overlapping articles.
- Grouping signal: terms that share intent & would be answered by the same page.
- Primary keyword: the highest-priority term in the cluster.
- Supporting terms: related variations and questions to cover on the page.
Check the SERPs: if the same URLs rank for several of your gaps, those gaps belong in one cluster. If results differ sharply, keep them separate.
- Sort qualified gaps by topic similarity.
- Name each cluster and choose its primary keyword.
- List supporting terms and the questions they imply.
- Draft a brief with angle, sections, and target word count.
Output: a set of content briefs: [number of clusters] topics, each mapped to its keywords and ready to assign.
Map Gaps to New vs Existing Pages
Use this to decide whether each cluster needs a brand-new page or an update to existing content, then assign and track the work.
Decide: new page or improve an existing one
Not every gap needs a new URL. Often you already have a page that nearly fits and only needs expansion or optimization. Mapping clusters to the right action saves effort and avoids cannibalization.
- Existing match: a current page covers [related topic] and could absorb the cluster.
- New page: no existing URL fits the intent, so create one.
- Owner & date: assign each item with a target deadline.
If a relevant page exists, updating it usually wins faster because it already has authority and history. Reserve new pages for genuinely uncovered intents.
- Search your own site for each cluster's primary keyword.
- Mark clusters as update or create.
- Note the exact URL to improve, where one exists.
- Assign owners, deadlines, and a way to track ranking change.
Output: an action plan linking every cluster to a new or existing page, with owners and dates for execution.
How to use this template
- Define your seed topics and confirm 3-5 true SERP competitors that rank alongside you for those queries, not just your business rivals.
- Export each competitor's organic ranking keywords plus your own, then merge them into a single sheet keyed by keyword.
- Tag every keyword into a bucket: missing (they rank, you don't), weak (you rank but worse), shared (you both rank closely), or untapped (no one ranks well yet).
- Qualify the list by removing irrelevant and branded terms, then label the search intent of each remaining keyword.
- Confirm intent fit by reading the live SERP, then route the shared bucket by tagging each shared term defend, monitor, or deprioritize so only high-value defend terms move forward.
- Score each qualified gap on a single 1-10 higher-is-better scale per factor (search volume, ease which is inverted difficulty, business value, and proximity), take the weighted sum so a higher total means higher priority, then sort descending.
- Cluster related gaps into single topics, choosing a primary keyword and supporting terms for each, so one page can target many keywords.
- Map each cluster to a new page or an existing page to improve, assign an owner and deadline, and track ranking movement over time.
Pro tips
- Let the weighted score rank your gaps; its proximity factor already rewards weak keywords for being closer to ranking, so use "prefer weak over missing" only as a tie-breaker when two terms score about the same, not as a separate rule on top of the list.
- Always verify intent against the live SERP rather than trusting an intent label alone, because the same keyword can mean different things in different niches.
- Group related gaps into one comprehensive page instead of creating a separate thin article for every individual keyword you find.
- Re-run the analysis on a regular cadence, since competitor rankings and the gap landscape shift as new content is published.
Frequently asked questions
What is a keyword gap analysis?
It is the process of comparing the keywords your competitors rank for against the keywords you rank for, to find valuable terms they capture that you are missing. Those gaps then become a prioritized list of content opportunities you can act on.
How is this different from a full competitor audit?
A full competitor audit examines many factors such as backlinks, content depth, technical health, and overall visibility. A keyword gap analysis is narrower and deeper: it focuses specifically on the keyword opportunities between you and your rivals and on turning those gaps into a content plan.
How many competitors should I include?
Aim for 3-5 competitors that genuinely rank alongside you in the SERPs for your target topics. Fewer than three gives too narrow a view, while more than five tends to flood the list with noise that is hard to act on.
Should I always target the highest-volume gaps first?
No. Raw search volume alone is misleading. Prioritize by a blend of volume, difficulty, business value, and how close you already are to ranking. A modest term you can realistically win often delivers more than a high-volume term that is out of reach.
What is the difference between a missing and a weak keyword?
A missing keyword is one where competitors rank but you do not appear at all. A weak keyword is one where you do rank, but at a worse position than your competitors. Weak keywords are often the faster win because the page already has some traction.
How often should I run a keyword gap analysis?
Run one whenever you plan a new content cycle or enter a new topic area, and refresh it on a regular cadence such as quarterly. Competitor rankings and search demand change over time, so periodic re-runs keep your opportunity list current.