Keyword gap analysis: the searches your rivals hold and you do not

You want the list of pages to build next. You get it by comparing your rivals’ ranked queries to yours, then cutting to what fits your product. This guide shows the exact steps, the filters that save you time, and the mistakes that waste it.

By , founder of Porteur · Updated 13 September 2026 · Markdown

What you get from a keyword gap analysis

You get a page plan you can ship. Each item has a target query, a working title, a page type, and why you can win it.

You also see where to improve existing pages. That is faster than net new pages. It often lifts clicks in weeks, not months.

For a small site, this matters because time is the constraint. You only build the pages that align with your product and can rank with your current links.

Pick the right rivals and scope

Choose rivals in your category. If you sell invoice software, your rivals are other invoice tools, not a general finance blog. Your query set will be cleaner.

  • Start with three to five domains you see beside you in results for core queries like "invoice app" or "create invoice online".
  • Add one larger category leader. It shows the full topical map. Do not copy their news or broad content.
  • Exclude forums, wikis, and marketplaces unless you compete with them on the same intent.

Pull the data: the tools that have it

You need two things: your ranked queries and your rivals’ ranked queries. Then you subtract yours from theirs.

  • Google Search Console: your queries, clicks, impressions, positions. Pre click. Export last 28 days for recency, or more if volume is low.
  • Ahrefs: known for Site Explorer and a strong backlink index. Pull organic keywords for each rival domain. Also pull for your domain to cross check.
  • Semrush: broad suite with competitive research and Keyword Magic Tool. Use Organic Research for rivals’ keywords and Positions for your domain.
  • Moz: use Keyword Explorer and Link Explorer for sense checks and DA. Useful for cross checks if you already use it.
  • SpyFu: focused on competitor keyword history. Handy to see if a keyword is stable for a rival over time.
  • SE Ranking or Ubersuggest: both offer keyword and competitive research. Good if you already track ranks there.

Ahrefs and Semrush are the usual sources for rival keywords. Pick the one you know. The point is coverage and export, not the brand of the tool.

Build the gap: rivals’ ranked queries minus yours

  1. Export your queries

    In Search Console, Performance, set the date to last 28 days. Export Queries with clicks, impressions and position. Keep the Page column if you can.

  2. Export rivals’ queries

    In Ahrefs Site Explorer or Semrush Organic Research, pull Organic keywords for each rival domain. Export with positions and URLs. Combine all rivals into one sheet.

  3. Normalise the data

    Lowercase queries. Trim spaces. Remove duplicated rows across rivals. Keep the best rival position for each query and the matching rival URL.

  4. Subtract your set

    VLOOKUP or JOIN your Search Console queries onto the rival set. Mark queries you already rank for. Filter to where you do not have clicks and impressions.

  5. Keep SERP intent fields

    From your tool export, keep features like SERP type or intent if present. If your tool has no intent, you will label it yourself in the next step.

Now you have a list of queries your rivals rank for and you do not. This is the raw gap. It is noisy. Your filters make it useful.

Filter by your vocabulary and the search intent

Cut anything off topic. Cut anything that belongs to support or developer docs if you do not publish that. Cut news. Cut country or language mismatches.

SignalOff topic exampleOn topic exampleAction
Query words"free invoice template pdf""invoice automation software"If you do not offer templates, drop it. If you sell automation, keep it.
Rival URL type/blog/how-to-make-invoice-in-excel/features/recurring-invoicesIf your product is not Excel based, drop that how to. Keep product led pages.
SERP featuresVideo carousel onlyStandard blue links with product pagesIf video first, ask if you will make a video. If not, drop it.
Geography"invoice software india""invoice software"Drop regions you do not serve. Or plan a geo page if you do.
Brand"QuickBooks invoicing""best invoice software"Drop rival brands. Keep unbranded category terms.

Label each query as informational, commercial, or transactional. Do this by looking at the top results. If product pages rank, it is not purely informational.

Group gaps into page ideas you can ship

Group by parent topic. One page per intent. Use the rival URLs to see how they mapped queries to pages. You are not copying, you are learning the shape.

  1. Cluster by shared stem

    Group queries that share a clear stem like "recurring invoice" or "invoice approval". If you see mixed stems, that is two pages.

  2. Pick a head term

    Choose the one query with the cleanest intent and sensible volume. That is your title anchor. Others become H2s or body copy.

  3. Map to a page type

    Feature page, comparison page, how to guide, integration page, pricing section or template page. Match the SERP you saw.

  4. Draft the working title

    For a feature page: "Recurring invoices in YourProduct". For a guide: "How to automate invoice approvals". Keep it under about 60 characters.

  5. Note the rival benchmark

    Paste the top rival URL. Note what they cover that sets the bar. Do not mirror their structure. Plan to beat it with product proof or clarity.

Example. You find a gap on "invoice approval workflow". The top results are product features and one clear guide. You map two pages: /features/approvals and /guides/invoice-approval-workflow. Your feature page targets the transactional intent. Your guide links to it and answers process questions.

Prioritise by impact and effort

Start where you have some traction. Favour gaps where you already appear on related queries in Search Console. These are near your existing topical cluster.

  • Impact: can this page earn clicks in the next quarter. Check rival positions, snippets, and if any featured snippets look takeable.
  • Effort: can you build it in a sprint. Feature pages and comparison pages often ship faster than big guides.
  • Links: if the SERP leaders have heavy link profiles, a brand new guide may not move first. You may win a commercial angle with fewer links.
  • Your metrics: if you use Ahrefs, note Domain Rating. If you use Semrush, note Authority Score. Use these as rough context, not a gate.

If a gap aligns to an existing page, take the update first. Example: yourproduct.com/pricing already ranks for "pricing invoice software" impressions with no clicks. Add the missing terms and a clear comparison link. That is low effort and high impact.

Use striking distance logic for new pages too. If your site ranks on page two for close variants, a focused page and internal links can tip it. See your own data before chasing far terms only because a rival ranks there.

Turn gap topics into briefs and updates

Write a one page brief for each target page. Fix the basics first: title, H1, intro, structure, internal links, and one clear action. You do not need a 20 page doc.

  • Title: about 60 characters. Put the head term first. Example: "Invoice approval workflow software".
  • URL: short and human. Example: /features/approvals or /guides/invoice-approval-workflow.
  • H1 and intro: say what the reader gets. Name the problem in their words.
  • Body: cover the H2s that match the supporting queries. Show the product where it helps the task.
  • Proof: add screenshots, gifs, or a one minute video if the SERP suggests it.
  • Internal links: link from related pages like /features/recurring-invoices and /guides/getting-started. Link back to this page from those pages.
  • Meta description: one sentence that fits about 120 to 155 characters. Aim for clarity over sales.

For updates, align the page to the gap. Example: your /guides/invoice-automation page is missing "approval" terms. Add a section on approvals, retitle an H2, and add an anchor link. What a fixed page looks like: impressions rise, the average position improves, and clicks follow within a few weeks if the intent matches.

Track results and avoid the common mistakes

Track new pages as a group in Search Console. Watch impressions first. Clicks lag. Use the Page filter. Compare last 28 days to the prior period after indexing.

  • Cannibalisation: do not split one intent across two pages. If "/guides/invoice-approval-workflow" and "/blog/invoice-approval-steps" both start to rank, merge and redirect the weaker one.
  • Intent mismatch: if a how to ranks for a product term, add a product led page and link to it. Guides are not a substitute for features.
  • Thin page: a 200 word feature page rarely ranks. Show the problem, the solution, steps, and proof. Aim for clarity, not length.
  • Chasing head terms: if every top result is a giant site with thousands of links, pick a specific angle first, like role, platform, or integration.
  • AI Overviews: some queries now show AI summaries. Add crisp, factual answers and product proof. You still need blue link traffic and conversions.

Set a simple review cadence. New pages: check at one week for indexing, at four weeks for impressions, at eight weeks for clicks. Update if impressions rise without clicks. The usual fix is title, meta and first paragraph clarity.

Questions

Check my site, free

Run a free check from your homepage URL to see three gap-based page ideas your rivals already rank for and where your site could win next.

  • Free check, no card
  • Read-only, your own accounts
  • Readable by your agent

Read next