Back to Tools

Title Keyword Gap Finder v2

Use cases

Finding quick-win title optimisations from missing keywords Identifying title segments occupying space without earning traffic Replacing underperforming title segments with proven GSC keywords Page title refresh campaigns using data from both modes

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).

Streamlit App GSC Data Crawl Data

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.

Launch App View Source

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. 1 Export crawl from Screaming Frog (Address + Title 1)
  2. 2 Export GSC query data with page URLs (API export recommended)
  3. 3 Upload both files and verify column mapping
  4. 4 Choose Keyword Gap tab or Title Segment Analysis tab
  5. 5 Set title delimiter, brand exclusions, and URL filter
  6. 6 Configure max keywords per page and impression threshold
  7. 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.

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