SEO Tools & Scripts Repository
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.
Author
Lee Foot — eCommerce SEO Consultant
As Featured In
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 |
Live Apps
Try these tools directly in your browser — no installation required:
| App | Description | Link |
|-----|-------------|------|
| BERTlinker | AI-powered internal linking at scale | |
| Website Migration Mapper | Auto-map URLs from old site to new |
|
| GSC Data Downloader | Download your Google Search Console data |
|
| Wikipedia Citation Finder | Find Wikipedia pages needing citations for link opportunities |
|
| Image Centering Tool | Batch center and resize product images |
|
| Wayback URL Extractor | Extract historical URLs from archive.org |
|
| Category Generator | Auto-suggest new category pages from product inventory |
|
Recently Added
| 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 |
Tools by Category
Content Analysis (17 tools)
| 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 |
Keyword Research (16 tools)
| 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 |
eCommerce SEO (15 tools)
| 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 |
Technical SEO (11 tools)
| 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 |
Reporting & Analytics (12 tools)
| 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 |
Link Building (5 tools)
| 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 |
Internal Linking (2 tools)
| 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 |
Search Console (5 tools)
| 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 |
Keyword Clustering (3 tools)
| 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 |
On-Page SEO (4 tools)
| 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 |
Competitive Analysis (3 tools)
| 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 |
Website Migration (1 tool)
| Tool | Description | Type | |------|-------------|------| | Website Migration Mapper | Auto-map URLs from old site to new using multi-algorithm matching | Streamlit / Python / Colab |
Wayback Machine (1 tool)
| Tool | Description | Type | |------|-------------|------| | Wayback URL Extractor | Bulk extract historical URLs from archive.org with folder visualization | Streamlit |
Site Search (1 tool)
| Tool | Description | Type | |------|-------------|------| | Map Site Searches to Pages | Match internal site searches to best landing pages using TF-IDF | Colab |
PPC (1 tool)
| Tool | Description | Type | |------|-------------|------| | AdWords Tools | MPN Extractor and Bid Calculator for Google Ads campaigns | Streamlit |
Other (2 tools)
| 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 |
Tool Types
| 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 |
Getting Started
Prerequisites
# Most tools require Python 3.8+
python --version
Install dependencies (each folder has its own requirements.txt)
pip install -r requirements.txt
Run a Streamlit App
cd tool-folder
pip install -r requirements.txt
streamlit run app.py
Run a Google Colab Notebook
- Navigate to the
.ipynbfile on GitHub - Click the "Open in Colab" badge at the top
- Run all cells (Runtime → Run all)
Run a Python Script
cd tool-folder
pip install -r requirements.txt
python script.py
Star History
Contributing
Contributions, 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
License
This project is open source and available under the MIT License.
Built for the SEO community
leefoot.com ·
LinkedIn ·
Bluesky