Category Keyword Finder
Use cases
Uses NLTK ngrams utility to extract word sequences from cleaned product titles.
Text preprocessing: lowercase, number removal via regex, punctuation stripping, whitespace normalisation.
Groups products by URL path segment preceding product pattern.
Counts n-gram occurrences across corpus per category.
Configurable n-gram range (min 1-5, max 2-8), minimum product threshold (2-20).
Platform
Browser-based (no installation required)
Input
Screaming Frog CSV with URL and H1/Title columns
Optional: keyword dataset CSV with search volumes
Output
Excel: all keywords, new opportunities, category summary. Metrics: total keywords, new opportunities count, categories analysed.
Features
- NLTK n-gram extraction
- Configurable n-gram length: min 1-5, max 2-8 words
- Minimum product threshold (2-20, default 3)
- Customisable product/category URL patterns
- Optional search volume matching
- UTF-8 and Latin-1 encoding support
- Three-sheet Excel export via xlsxwriter
How to use
- 1 Crawl your site with Screaming Frog
- 2 Upload crawl file
- 3 Set product URL pattern (default: /product/)
- 4 Set category URL pattern (default: /category/)
- 5 Configure n-gram length range and minimum products
- 6 Optionally upload keyword volume data
- 7 Download three-sheet Excel with suggestions
Frequently asked questions
- What export do I upload?
- A Screaming Frog CSV (Excel exports are not accepted). The tool auto-selects the 'Address' column for URLs and 'H1-1' for titles, falling back to 'Title 1', and both can be remapped in the 'Map columns' expander. The optional keyword file is also CSV, with 'Keyword' and 'Volume' or 'Search Volume' auto-detected.
- How is the parent category worked out from a product URL?
- The tool splits the URL on slashes and returns everything before the first segment containing your product pattern, so /shop/sofas/product/blue-velvet maps to /shop/sofas/. If the pattern never appears in the path, it falls back to the URL minus its final segment, which can lump unrelated products together, so set the product pattern to match your real URL structure.
- Why do the suggested keywords never contain numbers?
- All digits are stripped from product titles before n-grams are generated, so '3 seater sofa' contributes 'seater sofa'. If numeric qualifiers matter for your categories (seat counts, sizes, capacities), you will need to add them back manually.
- Are all possible phrases evaluated?
- No. For each category and each n-gram length, only the 50 most common phrases are considered, and each must then substring-match at least the minimum number of product titles (default 3) to survive. Very large categories with diverse titles can therefore miss valid long-tail phrases outside the top 50.
- How reliable is the 'exists as category' flag?
- It is an exact string match: the phrase must equal an existing category page's H1 (lowercased) to be flagged as existing. A suggestion of 'velvet sofa' next to an existing category titled 'Velvet Sofas' still shows as a new opportunity, so sense-check the New Opportunities sheet against your live taxonomy before acting.
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
Analyse keyword trends using Google Trends to find rising and declining topics.
Use AI (GPT-4o) to organise keywords into hierarchical topical maps.
Get keyword suggestions with search volumes from DataForSEO API.
Fetch search volume data from Keywords Everywhere API in bulk.
Build hierarchical trees of related searches from Google.
Generate JSON-LD structured data for common schema types.
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