100+ original SEO tools — scripts, apps, and APIs built from real client work. Not a curated list — every tool here was written by me for eCommerce SEO, keyword research, content analysis, link building, technical audits, and reporting.
Lee Foot — eCommerce SEO Consultant
Tools and methodologies published in Search Engine Journal:
| Publication | Tool | Description |
|---|---|---|
| Semantic Keyword Clustering | Semantic Clustering Tool | AI-powered keyword clustering using sentence transformers |
| Top Traffic Pages Analysis | Top Traffic Pages | Identify top-performing pages via the Search Console API |
Try these tools directly in your browser — no installation required:
| Tool | Category | Description |
|---|---|---|
| Firecrawl Markdown Scraper | Technical SEO | Scrape URLs and convert to clean markdown via Firecrawl API |
| Content Repurposer | Content | Transform blog posts into social posts, email content, and video scripts using AI |
| Regex Generator | Technical SEO | Generate regex patterns from plain English using Claude or GPT |
| Schema Markup Generator | Technical SEO | Generate valid JSON-LD structured data for FAQPage, Product, and more |
| Gist Summary Generator | Content | Create "At a glance" summaries from articles using AI — perfect for featured snippets |
| LLM Sitemap Creator | Technical SEO | Generate hierarchical sitemap structures from keyword lists using GPT |
| Tool | Description | Type |
|---|---|---|
| Category Title Suggester | Suggest high-performing keywords for category page titles using GSC data | Streamlit |
| Content Duplication Finder | Find duplicate content clusters using PolyFuzz fuzzy matching | Streamlit |
| Content Extractor | Extract main text content and H1 headings from URLs | Streamlit |
| Content Hub Classification | Classify articles into content hub categories using OpenAI GPT | Streamlit |
| Content Repurposer | Transform blog posts into social posts, emails, and video scripts using AI | Streamlit |
| Content Reviewer (LLM) | Review and annotate web content using AI for quality improvements | Streamlit |
| Entity Extractor | Extract entities from SERPs, CSV files, or YouTube transcripts | Streamlit |
| Gist Summary Generator | Create "At a glance" bullet summaries from articles using Claude or GPT | Streamlit |
| Keyword Extractor (LLM) | Extract and categorize keywords from content using OpenAI or Anthropic APIs | Streamlit |
| Keyword to Page Mapper | Semantically match competitor keywords to existing pages | Streamlit |
| Meta Description Grader | Score meta descriptions on SEO criteria using GPT-4 analysis | Streamlit |
| Meta Description Rewriter | Rewrite meta descriptions using AI with length optimization | Streamlit |
| N-gram SERP Extractor | Extract page title and content n-grams from SERP results via ValueSERP | Streamlit |
| OpenAI Entity Visualizer | Interactive entity extraction visualization using OpenAI | Streamlit |
| Page Intent Classifier | Classify page intent (informational, transactional, navigational) using GPT | Streamlit |
| Reading Score Analyzer | Calculate Flesch readability metrics for web pages from sitemaps or CSV | Streamlit |
| Review Sentiment Extractor | Analyze product reviews to extract sentiment, pain points, and praise themes | Streamlit |
| Tool | Description | Type |
|---|---|---|
| Bulk Keyword Tagger | Tag thousands of keywords with custom categories | Colab |
| Category Keyword Finder | Extract n-gram keyword opportunities from product titles by category | Streamlit |
| DataForSEO Suggestions | Get keyword suggestions with search volumes from the DataForSEO API | Streamlit |
| eBay Related Searches | Scrape related search keywords from eBay with tree visualization | Streamlit |
| Keyword Deduplication Tool | Remove close keyword variations using RapidFuzz fuzzy matching | Streamlit |
| Keyword Difficulty Checker | Check difficulty with allintitle, phrase match, and SERP clustering | Streamlit |
| Keyword Grouper | Group similar keywords using TF-IDF similarity via PolyFuzz | Streamlit |
| Keyword to Questions | Convert keyword phrases into natural FAQ questions using Claude or GPT | Streamlit |
| Keyword Topic Classifier | Classify keywords into hierarchical themes using Claude or GPT | Streamlit |
| Keyword Trends Analyzer | Analyze Google Trends data with YoY trend slope calculations | Streamlit |
| Keywords Everywhere API | Keyword research with search volume, CPC, and competition data | Streamlit |
| Micro-Moments Classifier | Classify keywords into Google's 4 micro-moments using OpenAI | Streamlit |
| PAA Scraper | Recursively extract "People Also Ask" questions with tree visualization | Streamlit |
| Question Extraction GSC | Extract question-type keywords from Google Search Console data | Python |
| Related Searches Tree | Build hierarchical trees of related searches from Google | Streamlit |
| SERP Keyword Extractor | Extract PAA questions and related searches via ValueSERP API | Streamlit |
| Topical Map Generator | Organize keywords into hierarchical topical maps using GPT-4o | Streamlit |
| Tool | Description | Type |
|---|---|---|
| Automatic Category Suggester | Auto-suggest new category pages from product inventory using n-grams | Streamlit |
| Best Selling Products to XML Sitemap | Create dedicated sitemaps for top-performing products | Colab |
| Breadcrumb Relevancy Checker | Check if products are in relevant categories using TF-IDF matching | Streamlit |
| eCommerce Image Centering Tool | Batch center and resize product images with white background | Streamlit |
| E-commerce Page Title Optimizer | Optimize page titles using GSC keyword data for high-impact improvements | Streamlit |
| Google Vision Higher Res Images | Find higher resolution product images using Google Vision API | Python |
| Inject Branding into PDFs | Add custom text branding to PDF files in batch | Python |
| Internal Search Mapper | Map GA site search queries to landing pages using fuzzy matching | Python / Colab |
| Low Links vs High Transactions | Find high-converting pages that need more internal links | Python |
| Non-White Background Detector | Detect product images with non-white backgrounds for QA | Streamlit |
| Product Q&A Extractor | Extract product reviews, ratings, and Q&A content from e-commerce pages | Streamlit |
| Product Spec Extractor | Scrape product specifications with configurable CSS selectors | Streamlit |
| Product Title Gap | Compare product titles with competitors to identify missing keywords | Streamlit |
| SERP Title Generator | Generate optimized product titles using n-gram and phrase analysis | Streamlit |
| WooCommerce Product Relevancy | Sort WooCommerce products by category relevancy score | Python |
| Tool | Description | Type |
|---|---|---|
| Firecrawl Markdown Scraper | Scrape URLs and convert to clean markdown using Firecrawl API | Streamlit |
| Hreflang Checker | Extract and validate hreflang tags from web pages | Streamlit |
| Hreflang Generator | Generate hreflang XML tags from Screaming Frog crawl data | Streamlit |
| LLM Sitemap Creator | Generate hierarchical sitemap structures from keyword lists using GPT | Streamlit |
| OnCrawl Extractor | Comprehensive OnCrawl API client for data extraction and crawl management | Streamlit |
| QA Schema Extractor | Extract FAQ and Q&A structured data (JSON-LD) from websites | Streamlit |
| Redirect Validator | Validate redirects against redirect mapping specifications | Streamlit |
| Regex Generator | Generate regex patterns from plain English using Claude or GPT | Streamlit |
| Schema Markup Generator | Generate valid JSON-LD for FAQPage, Product, Organization, and more | Streamlit |
| Sitemap URL Extractor | Extract all URLs from XML sitemap indexes and child sitemaps | Streamlit |
| Template Fingerprinting | Identify page templates using HTML structure analysis and ML clustering | Python |
| Tool | Description | Type |
|---|---|---|
| BCG Matrix from GA | Create BCG growth-share matrix from GA landing page data | Colab |
| Content Decay Analyzer | Find pages losing traffic by comparing peak vs current GSC performance | Streamlit |
| Core Update Analyser | Group Ahrefs ranking changes by URL folder to show update impact | Streamlit |
| Delta Audit | Detect weeks with significant GSC traffic changes automatically | Streamlit |
| Google Algorithm Tracker | Scrape Google's Search Status page for algorithm update history | Streamlit |
| Google Trends Forecasting | Forecast search trends using NeuralProphet time-series ML | Streamlit |
| Batch Trends Forecasting | Forecast Google Trends for multiple keywords from a crawl file | Streamlit |
| Resolution Screenshot Tool | Screenshot pages at your visitors' most common screen resolutions | Python |
| Share of Voice | Calculate estimated organic traffic share using CTR curves | Streamlit |
| Top Traffic Pages (GSC) | Identify highest-traffic pages via the Search Console API | Colab |
| Visualise Internal Links | Interactive treemap visualization of internal link structure | Colab |
| Visualise GSC Coverage | Treemap and sunburst charts to visualize indexing issues by folder | Colab |
| Tool | Description | Type |
|---|---|---|
| Backlink Intersector | Find opportunities by intersecting competitor backlink profiles | Streamlit |
| eCommerce Link Builder | Find "Where to Buy" and distributor link opportunities | Python |
| Link Quality Analyzer | Check link status codes and calculate reading metrics | Streamlit |
| Wayback Machine Link Mapper | Recover broken backlinks using archive.org historical data | Python / Colab |
| Wikipedia Citation Finder | Find Wikipedia pages with "citation needed" tags for link opportunities | Streamlit |
| Tool | Description | Type |
|---|---|---|
| Anchor Text Interlinker | Find internal linking opportunities by matching keywords to page content | Streamlit |
| Anchor Text Relevance Checker | Assess anchor text relevance using AI evaluation | Streamlit |
| Tool | Description | Type |
|---|---|---|
| GSC Chart Visualizer | GSC data visualization and charting with custom dimension analysis | Streamlit |
| GSC Folder Analyzer | Aggregate GSC data by URL folder to analyze site section performance | Streamlit |
| Keyword Cannibalization | Find keywords where multiple pages compete for the same query | Streamlit |
| Simple GSC Connector | Minimal Streamlit boilerplate for Google Search Console OAuth | Streamlit |
| Title Keyword Gap | Find keywords driving impressions but missing from page titles | Streamlit |
| Tool | Description | Type |
|---|---|---|
| Semantic Clustering Tool | Group keywords into topical clusters using sentence transformers and ML | CLI / Colab |
| SERP Clustering at Scale | Cluster keywords based on common SERP URLs from ValueSERP exports | Python |
| SERP Clustering API | FastAPI service for clustering keywords via REST endpoint | FastAPI |
| Tool | Description | Type |
|---|---|---|
| Extract Content Blocks | Extract and categorize page content blocks using Claude AI | Python |
| Striking Distance (CSV) | Find keywords ranking 4-20 from pre-exported Search Console data | Python |
| Striking Distance V1 | Find keywords ranking positions 4-20 and check title/H1/copy presence | Python / Colab |
| Striking Distance V2 | Enhanced striking distance with title/H1/copy presence checking | Streamlit |
| Tool | Description | Type |
|---|---|---|
| Competitor Gap Finder | Find gaps in product titles by comparing against competitors | Python |
| Keyword Gap Analyzer | Compare keyword lists against competitors using TF-IDF matching | Streamlit |
| SERP Crossover Analyzer | Analyze SERP URL crossover patterns to detect cannibalization | Streamlit |
| Tool | Description | Type |
|---|---|---|
| Website Migration Mapper | Auto-map URLs from old site to new using multi-algorithm matching | Streamlit / Python / Colab |
| Tool | Description | Type |
|---|---|---|
| Wayback URL Extractor | Bulk extract historical URLs from archive.org with folder visualization | Streamlit |
| Tool | Description | Type |
|---|---|---|
| Map Site Searches to Pages | Match internal site searches to best landing pages using TF-IDF | Colab |
| Tool | Description | Type |
|---|---|---|
| AdWords Tools | MPN Extractor and Bid Calculator for Google Ads campaigns | Streamlit |
| Tool | Description | Type |
|---|---|---|
| Content Consolidation Analyzer | Identify consolidation opportunities from SERP overlap and cannibalization | Python |
| Product Title Optimizer | LLM-powered title restructuring with data integrity checks | Python |
| Type | Count | Run Command |
|---|---|---|
| Streamlit | 54 | streamlit run app.py |
| Python | 24 | python script.py |
| CLI | 14 | python script.py --args |
| Colab | 9 | Click "Open in Colab" badge |
| FastAPI | 1 | uvicorn app:app --reload |
# Most tools require Python 3.8+
python --version
# Install dependencies (each folder has its own requirements.txt)
pip install -r requirements.txtcd tool-folder
pip install -r requirements.txt
streamlit run app.py- Navigate to the
.ipynbfile on GitHub - Click the "Open in Colab" badge at the top
- Run all cells (Runtime → Run all)
cd tool-folder
pip install -r requirements.txt
python script.pyContributions, suggestions, and feedback are welcome! See CONTRIBUTING.md for guidelines.
- Star this repo if you find it useful
- Open an issue for bugs or feature requests
- Submit a PR with improvements
This project is open source and available under the MIT License.
Built for the SEO community
leefoot.com ·
LinkedIn ·
Bluesky