Title Keyword Gap Finder v2
Use cases
Two analysis modes for page title optimisation.
Keyword Gap mode converts queries and titles to lowercase, splits by configurable delimiter (default |), and checks if each query appears within any title segment.
Title Segment Analysis mode splits titles into segments, cross-references each against GSC query data for that page, and surfaces segments with zero impressions (wasted title space) alongside high-performing GSC keywords absent from any title segment.
Both modes export highlighted Excel via OpenPyXL (green = matched, yellow = gap).
Platform
Browser-based (no installation required)
Input
Screaming Frog CSV with Address/URL and Title 1 columns
GSC export CSV with page, query, clicks and impressions per row
Flexible column naming with case-insensitive auto-detection
Output
Keyword Gap: Excel/CSV with in_title boolean per keyword, sorted by impressions. Segment Analysis: combined view with kw_source (page_title or gsc), zero-volume segments flagged, and top missing GSC keywords ranked by clicks.
Features
- Two modes: Keyword Gap and Title Segment Analysis
- Title delimiter configuration (default |)
- Brand terms exclusion filter (substring match)
- URL pattern filter for section-specific analysis
- Max keywords per page slider (5-50, default 10)
- Minimum impressions threshold (0-10,000)
- Segment Analysis surfaces zero-volume title segments
- Identifies top GSC keywords not represented in any title segment
- OpenPyXL Excel with conditional row highlighting (green/yellow)
- Case-insensitive column auto-detection with manual override
How to use
- 1 Export crawl from Screaming Frog (Address + Title 1)
- 2 Export GSC query data with page URLs (API export recommended)
- 3 Upload both files and verify column mapping
- 4 Choose Keyword Gap tab or Title Segment Analysis tab
- 5 Set title delimiter, brand exclusions, and URL filter
- 6 Configure max keywords per page and impression threshold
- 7 Download highlighted Excel, full CSV, or gaps-only CSV
Frequently asked questions
- What do the two input files need to contain?
- A Screaming Frog export with URL and title columns (Address and Title 1 are auto-detected) and a GSC export where each row has page, query, clicks and impressions together. The GSC UI's standard export does not combine page and query in one file, so use an API-based export. Auto-detected columns can be remapped in the Column Mapping expander.
- What is the difference between the two modes?
- Keyword Gap mode checks whether each GSC query appears as a substring within any title segment and flags those that do not. Title Segment Analysis mode works in reverse: it splits each title by the delimiter, treats each segment as a potential keyword, and cross-references it against GSC data for that page. This surfaces segments with zero search volume (wasted title space) and top GSC keywords absent from any segment.
- Why did it say no matching pages were found?
- Crawl and GSC data are joined on the exact URL string. Differences in protocol (http vs https), www, trailing slashes or case mean zero matches, and partially mismatched URLs are silently dropped from the analysis. Crawl the same canonical host that appears in your GSC property.
- How does the 'in title' check work?
- The title is lowercased and split on your delimiter (default |), then the tool checks whether the whole query appears as a contiguous substring in any segment. 'blue widgets' in a title does not match the query 'widgets blue', so reordered keywords show as missing even when every word is present, and very short queries can match inside longer words.
- How are the keywords per page selected?
- After the impressions threshold and brand filter, queries are sorted by clicks and the top N per page are kept (default 10, configurable 5 to 50). In Segment Analysis, the GSC top keywords are further filtered to only those with at least one click, then grouped to the same per-page limit. A high-impression zero-click query can be cut on pages with many ranking queries.
- What does the kw_source column mean in Segment Analysis output?
- Each row is labelled either 'page_title' (the keyword came from splitting the title into segments) or 'gsc' (the keyword came from top GSC queries for that page). Rows where kw_source is page_title but impressions are zero represent wasted title segments. Rows where kw_source is gsc and in_title is false represent opportunities to add proven keywords to the title.
Want me to run this for you?
I run this tool as a managed service, or build something custom around your data. You get the insights without touching the code.
Related Tools
Find striking distance keywords from GSC and crawl CSV exports.
Pull GSC data via API and analyse traffic distribution across pages.
Visualise indexing issues from Search Console coverage reports with interactive Plotly treemaps and sunbursts.
Bulk download Search Console data beyond the 1,000 row limit with automatic batch processing.
Extract question-based keywords from Search Console using regex pattern matching.
Generate correct hreflang tags for international SEO.
Need something built for your business?
This tool started as bespoke client work. I build custom scripts, data pipelines, and full apps for SEO and product data problems that off-the-shelf tools don't solve.
Tell Me What You Need