How do I find keywords my site already ranks for but doesn't target?

Open the Search Console Performance report, pick a page, and list the queries it gets impressions for. Look for queries with real impressions whose key words do not appear in the page's title, H1 or body. Google already shows the page for them, so adding an honest section that answers each one is the cheapest content win.

By SEOBolt. Published , updated .

Why this happens

Google often shows a page for queries its author never aimed at: a post about invoicing starts getting impressions for "late payment fee wording" because one paragraph mentioned it. Those queries are valuable because the hard part, being considered at all, is done. Adding a proper answer can lift the page from position 30 to the first page for a query nobody was optimizing for.

They go unnoticed because Search Console lists queries but does not tell you which ones your page fails to address. You have to compare each query against the page's actual text, which is slow by hand on more than a handful of pages.

A caution: matching words is only a heuristic. A query can share words with your page and still mean something different, and a query that shares none can be exactly what the page answers in other words. Always judge intent before you write.

How to find them, step by step

  1. 1. Choose pages worth improving

    Start with pages that already earn some clicks or sit near the first page. Pages with no impressions have nothing to build on.

  2. 2. List each page's queries

    In Performance, click the Pages tab, select the page to filter, then open the Queries tab. Sort by impressions. Use a date range of at least 28 days so low-volume queries show.

  3. 3. Compare each query with the page

    For each query with meaningful impressions, ask whether the title, H1 or body answers it in words a searcher would recognise. List the ones that do not.

  4. 4. Judge intent

    Search the query yourself in a private window. If the results are a different kind of page from yours (a tool, a shop, a news story), the impressions are not an opportunity.

  5. 5. Add an answer where it fits

    Add a heading phrased like the query, a two or three sentence direct answer and, if natural, a question in the page's FAQ. Do not repeat the exact phrase more than a couple of times; keyword stuffing makes the page worse.

  6. 6. Keep the FAQ markup honest

    If you add a question to the page's FAQ, add the same question and answer to the FAQPage JSON-LD. Markup must match the visible text.

  7. 7. Measure the page, not the keyword

    After four weeks compare the page's clicks and the query's position with the previous period. Record what you changed so you can repeat what worked.

What to do with each type of query

How to treat queries a page already gets impressions for (our own working method)
Query patternMeaningAction
Words missing from the page, same intentGoogle guessed the page fitsAdd a heading and a direct answer
Words present but buried in the bodyThe page answers it without emphasisMove the answer higher; reflect it in the title or H1
Different intent from the pageImpressions are not an opportunityIgnore, or write a separate page if the topic matters
Misspellings and brand variantsNavigational or typo trafficDo nothing

When to use SEOBolt for this

seo_gsc_content_opportunities does steps 2 to 5 across your whole property. It reads the last 28 days from the connected Search Console property and returns, per keyword, the missing tokens, the page to update or create and a ready-to-paste heading, paragraph, FAQ and image-alt text. In our own 28-day run on seobolt.app it analysed 787 queries and returned 50 keywords the site ranks for but does not fully target. seo_gsc_secondary_keywords groups the queries a page already ranks top 10 for and proposes a title covering the top two or three.

Treat its output as a draft: the generated paragraph and FAQ are templates to rewrite in your own words and check against intent. It needs Search Console connected and a plan that includes the integration. The free GSC Keyword Opportunities tool at /tools/gsc-keyword-opportunities does a comparable analysis on an exported file without connecting an account.

MCP tools involved: seo_gsc_content_opportunities, seo_gsc_secondary_keywords, seo_content_score.

When SEOBolt is not the right tool

It only sees queries that already earned impressions. To find keywords you do not rank for at all, you need keyword research data from a suite with its own index; SEOBolt has none.

Prompt to give your AI assistant

With the SEOBolt MCP server connected (setup), copy this into Claude, ChatGPT, Cursor or Gemini CLI:

Assign to SEOBolt: for sc-domain:example.com run seo_gsc_content_opportunities, then for the top five keywords tell me whether the search intent matches the page it names, and draft a heading plus a two-sentence answer for each match. These tools only read data. Show me what you did so I can approve what goes on the site.

Frequently asked questions

Why add content for queries I already rank for?

Because Google already considers the page relevant. A direct answer on the page is cheaper to produce than a new page and can lift an existing impression into a click.

How many times should I use the exact query?

Use it naturally once or twice. Google's guidance warns against keyword stuffing, and repeating phrases does not help the reader.

Do generated paragraphs go straight onto the page?

No. Rewrite them in your own words and confirm they are accurate. Generated templates are a starting point.

What if the query has a different intent?

Skip it. A page that ranks for an unrelated intent will not convert, and forcing the topic in weakens the page.

Sources

Related