SERP Title Generator
Generate optimised product titles by analysing top-ranking SERP results.
#about
Fetches SERP results via the DataForSEO Google organic endpoint and analyses title patterns using NLTK stopwords filtering and pandas value_counts() frequency analysis.
Normalises delimiters (- | to uniform format), removes duplicates by cleaned title, strips apostrophes/commas/periods.
Identifies most frequent words per position and constructs suggested titles from top unique words.
Streamlit app
- Platform
- Browser-based (no installation required)
- Input
- Product code, MPN, or keywordDataForSEO login and passwordLocation: 10 options including UK/US/AU/DE/FR/CADevice: Desktop/Mobile/TabletResult count: 10-50 (default 20)
- Output
- Suggested title and word frequency CSV
- Category
- E-commerce
Use cases
- Optimising product page titles
- Finding title patterns for MPNs
- E-commerce SEO optimisation
- Competitive title analysis
#features
- DataForSEO SERP API fetching with estimated cost shown per search
- Analyses the first delimiter-separated segment of each title (- and | normalised)
- NLTK English stopwords filtering
- Positional word frequency analysis
- Duplicate title removal
- 10 regions including UK, US, Australia, Germany, France, Canada
#how-to-use
- Enter DataForSEO login and password in sidebar
- Input product code or keyword
- Select search location and device type
- Set number of results (10-50)
- Click to analyse SERP titles
- Review word frequencies and suggested title
- Download CSV with title data
#faq
- How is the suggested title actually built?
- By positional voting. Each cleaned SERP title is split into word positions, the most common word at each position is picked, duplicates are removed in order, and the result is title-cased. It is a pattern summary of what ranks, not a grammatical title, so treat it as a starting point to edit rather than copy in directly.
- Does it analyse the whole of each competitor title?
- No. Titles are normalised on ' - ' and ' | ' delimiters and only the first segment is kept, which strips brand suffixes like '| Amazon' but also discards anything a competitor puts after their first delimiter. Duplicate first segments are dropped, and apostrophes, commas, full stops and English stopwords are removed before counting.
- What does each analysis cost?
- One DataForSEO request per click of the generate button, with the number of results sent as the depth parameter. The sidebar shows the estimated cost before you run, calculated at $0.002 per 10 results, so analysing 50 results is estimated at $0.010.
- Does it work for non-English markets?
- Partially. Ten regions including Germany, France, Spain, Italy and the Netherlands are supported for the search itself via DataForSEO country location codes, but the request always uses the English language code and stopword filtering always uses the NLTK English list. German or French function words are not removed, so frequency tables for those markets contain more noise.
- Why is a word missing from the frequency table?
- The table only includes words appearing more than once across the analysed titles, so any word unique to a single competitor title is excluded. The full extracted title list is still viewable in the expander and downloadable as CSV if you want the raw data.
/contact
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.