Keyword research from Search Console alone
You already rank for enough queries to plan your next pages. Use only Search Console. Find what to write next, what to merge and what to fix. This is for a founder who ships their own site and wants a clear method.
By Théophile Louvart, founder of Porteur · Updated 14 September 2026 · Markdown
What you can and cannot get from Search Console
Search Console is your own search data. It shows queries, pages, countries, devices, search appearance and dates. You get clicks, impressions, click through rate and average position. You get 16 months in the interface. Data lags two to three days.
- You do not get search volumes or difficulty.
- You do not see rivals on the query or the page.
- Some queries are anonymised and omitted.
- Average position is an average of the highest position per impression, not a fixed rank.
You can query the same data through the Search Analytics API, up to 25,000 rows per request, and paginate. The BigQuery bulk export gives full daily rows as of 2023. Use these only if you need more than the interface can show.
Set up the view that makes research faster
Pick the date range
Set Date to Last 28 days to read the current state. For seasonality, compare the last 28 days to the same period last year when you have it.
Add filters you care about
Filter by Country if you sell only in one market. Filter to Device is optional, but check mobile if your users skew mobile.
Switch between Query and Page
Start on Queries to find demand. Switch to Pages when you need to see which URL earns a query, or where two URLs compete.
Use filters or regex to cut noise
Exclude brand terms with a Query filter set to Exclude and Containing yourbrand. If you need regex, include only themes you care about, for example ^(google sheets|pricing|templates). Save the filter in your notes.
A clean view saves time. For a SaaS with most users in the UK, you might filter to Country: United Kingdom and Device: Mobile, then exclude the brand. That shows what to write, not support quirks.
Find queries with impressions and no page written for them
This is the cheapest win. You already get impressions, so Google sees you as a match. You have not written the page that would win the click.
Open Performance, set your filters
Use your default filters from the earlier section.
Sort Queries by Impressions, then scan low clicks
Look for queries with hundreds of impressions and close to zero clicks. They often have a poor title match or no focused page.
Click a query, then switch to Pages
See which URL gets those impressions. If the URL is your home page or a tangential blog post, you likely need a new page.
Decide the page to create
If the query is “pricing widget for notion”, create /pricing/notion-widget with a clear title and copy that states pricing and plans.
Worked example: yourproduct.com gets 1,800 impressions and 7 clicks for “google sheets dashboard template”. The page with impressions is /blog/metrics-dashboards, which never says “Google Sheets”. Create /templates/google-sheets-dashboard and link it from /templates. After, the query lands on a page that says “Google Sheets dashboard template” in the title and h1, with a gallery and a download button above the fold.
Catch and fix pages that compete on the same query
Competing pages dilute clicks. One page should win for one intent. Search Console shows this fast when you start from a query and view Pages.
Find a query with middling position and clicks
In Queries, filter Position between 5 and 20 with a regex or export. Click the query.
Open Pages for that query
If you see two or more URLs with similar impressions, you have overlap.
Decide the canonical winner
Pick one URL to target the query. Merge or retarget the others. Redirect where content is redundant or add internal links where content is supportive.
Align on-page signals
Make the winner say the query in the title, h1 and early copy. Remove the same exact phrasing from the competing page’s title and h1.
Example: two guides, /guides/getting-started and /blog/how-to-start, both get impressions for “start with yourproduct”. Keep the guide as the winner. Add a note and a link from the blog post. Update titles to avoid the same head term on both. That lifts the guide and stops the split.
Turn long queries into page ideas and headings
Long queries tell you the question. You do not need a volume estimate here. You need a page or a section that answers in plain words.
Filter to longer queries
In Queries, use regex to include spaces or question marks. For example: .+\s.+ or \?. Or export and filter in a sheet.
Cluster by theme fast
Skim for repeats like “google sheets”, “image search”, “pricing”, “mobile”. Put each theme in its own list.
Choose the format
If you see many variants of a help intent, write a guide or an FAQ. If it is a transactional term, write a template, a feature page or a comparison.
Example: you see “search image on google”, “image search with picture”, “search picture with picture”. Create /guides/google-image-search with a plain tutorial, a section on upload by image, and a note on Google Lens. Add an FAQ at the end that uses the same phrases in headings. Link it from /guides.
Use the by-page view to spot what ranks for something it never says
Pages sometimes rank for a query they never state. That can mean intent mismatch or an easy win if you align the copy. The Page tab shows you this in seconds.
Open Pages, pick a candidate URL
Start with a key page like /pricing or /features/forms. Click it, then switch to Queries.
Scan top queries for surprises
If “google form” sends the most impressions to /features/forms but the page never says “Google Forms”, add a section that states the integration or the difference.
Update title and h1 with judgement
Do not stuff. If the query matches the page, add the exact phrase once. If it does not, add a clarifier, or create a new page and link it.
Example fix: /features/forms has 4,200 impressions for “google forms alternative” with a poor CTR. Update the title to “Google Forms alternative, advanced logic and analytics”. Add a comparison table and a short /alternatives/google-forms page that links back. Expect CTR to lift on relevant impressions within 28 days.
Prioritise with impressions, position and CTR, not invented volumes
You do not need third party volumes to decide what to ship next. Use your own impressions to size demand, position to size effort and CTR to size the click gain.
- High impressions, low clicks, position worse than 10: write a focused page.
- High impressions, position between 4 and 10, poor CTR: fix title and meta description.
- Low impressions but perfect intent to your product: write if it converts users you want.
Make a simple table in your notes. Columns: Query, Current page, Impressions, Clicks, CTR, Position, Action, New URL, Notes. Plan a four week sprint to ship five small pages and two rewrites. That beats a list of 200 ideas you will never write.
Find striking distance queries you can push over the line
Striking distance keywords sit in positions 5 to 20. They often respond to small edits, internal links and a stronger title. Search Console makes them easy to find when you filter by position and clicks together.
Filter Queries by position between 5 and 20
Export if you prefer to sort in a sheet. Keep only non brand terms.
Open each query and check Pages
Confirm you only have one serious URL. If two show up, fix the cannibalisation first.
Tune titles for intent
If “google spreadsheets crm” shows for /features/crm, test a title like “CRM in Google Sheets, import, dedupe, pipelines”. Keep it under about 60 characters.
Add two internal links from relevant pages
Link from /templates/sales-pipeline and /guides/google-sheets-crm with the anchor that fits the sentence.
Improve the first screen
Make the h1 state the query, load fast, move the call to action higher and add a focused intro. Aim for 2.5 seconds LCP and 0.1 CLS.
Expect small lifts within 28 days on pages that already earn impressions. If nothing moves, the intent may not match your page format. Consider a new page closer to the query’s goal, for example a template instead of a guide.
Close gaps when queries are anonymised or missing
Some queries do not show. Google omits anonymised queries. That can hide a share of brand traffic and very rare long tails. You still have options to act.
- Read Pages, not only Queries. You still see clicks and impressions at the page level, which tells you where demand lands.
- Use the API or BigQuery export for a larger row set if you need it in a sheet or a dashboard.
- Check Bing Webmaster Tools for extra clues. It is free and can import your site from Search Console. Its Keyword Research and Search Performance reports show terms from Bing’s index, which powers Bing, Microsoft Copilot, Yahoo Search and part of DuckDuckGo.
When a page shows high impressions but few visible queries, read the search appearance and device mix. Then improve the page for that context. If the page is an image gallery, add alt text and clear captions. If most impressions are on mobile, trim heavy scripts and keep interaction within 200 ms INP.
Fill the missing rival and volume view without leaving free tools
Search Console does not show rivals or volumes. You can still judge difficulty and intent from the results page and from your own metrics. Do not stall for a perfect number that does not exist.
- Open the query in Google in an incognito window. Read the top ten. Note the mix: guides, templates, product pages, forums. Match the format that wins.
- Check if the page types are strong brands. If so, target a variant or a niche angle first.
- Use your impressions as your proxy for volume. If you have 3,000 impressions in 28 days from position 12, you have room to grow without any paid tool.
- Use Bing Webmaster Tools’ Site Explorer and Keyword Research to see similar terms and pages on Bing’s index. It complements gaps in your data.
Example: for “google sites website examples”, the results page is full of galleries. Your blog post on how to build in Google Sites will not win. Create /examples/google-sites with real screenshots and short notes. Link it from /guides/google-sites and your navigation. Ship, then measure CTR and impressions after 28 days.
Make this a monthly loop
You will get more value from one steady loop than from one huge audit. Book one hour a month to update your shortlist and ship two fixes and one new page.
Refresh filters and export
Compare the last 28 days to the prior period. Scan gains and drops. Export if you track a backlog.
Ship the easy wins first
Titles and meta descriptions on striking distance queries. Two internal links per target page. One obvious gap page.
Revisit competing pages
Open Queries that send impressions to two URLs. Merge, redirect or split intent.
Update your sitemap when you add sections
If you add a new directory like /templates/, include it in your sitemap index. Submit the sitemap URL. Check Status is Success and that URLs discovered climbed.
A fixed page looks like this: the query is in the title and h1, the first paragraph answers the task, and the page loads its main content in under 2.5 seconds on mobile. You should see clicks rise before rankings do.
Questions
Start in Performance with your main market and non brand filter. Sort Queries by impressions. Open each high impression, low click query and switch to Pages. Create or retarget a page that matches the query’s intent. Repeat for striking distance terms between positions 5 and 20.
For your own site, use Search Console. It shows what you already earn and can grow. If you need wider market ideas or volumes, you need a separate tool, but you can go far with impressions and the results page.
It shows queries that triggered your pages and earned impressions. Some queries are anonymised and do not appear. You see the full metrics at the page level even when some queries are missing.
Yes, as of 2026 it is active and maintained. It reports clicks, impressions, CTR and average position by query and page. It also includes reports for Core Web Vitals, links, sitemaps and crawl stats.
You get 16 months in the interface. Through the API you can pull the same period. The bulk data export to BigQuery delivers daily tables with the full row set going forward from when you set it up.
Sort Queries by impressions. Click a promising query, switch to Pages. If the impressions land on your home page or an unrelated post, you likely need a focused page. Add the exact phrase to the new page’s title, h1 and early copy.
Check my site, free
Paste your URL to get a free check that reads your site and nearby searches, shows three findings in about thirty seconds, and suggests pages to ship next.
- Free check, no card
- Read-only, your own accounts
- Readable by your agent
Read next
- GuideThe Search Console performance report, column by column
- GuideStriking distance keywords: the searches one page from the light
- GuideKeyword cannibalization: two pages, one search, and how to fix it
- GuideHow to see your keyword rankings in Search Console
- GuideBing Webmaster Tools for a small site: what it gives that Google does not
- GuideSearch intent: what the results page tells you to build
- GlossarySearch query
- ComparisonGoogle Search Console vs Bing Webmaster Tools