SEO Analysis
The SEO Analysis extension is a comprehensive, offline-first SEO toolkit with 30+ tools covering every aspect of technical, on-page, and content SEO. No external API keys or services are required — everything runs locally.
Tool Categories
Crawling & Discovery
| Tool | What It Does |
|---|---|
seo_crawl | Crawl an entire site, discover all subpages, detect broken links |
seo_crawl_report | Generate detailed crawl analysis with link graph, orphans, duplicates |
seo_sitemap_analyze | Parse and analyze XML sitemaps |
seo_sitemap_generate | Generate valid XML sitemaps from URL lists |
On-Page Analysis
| Tool | What It Does |
|---|---|
seo_fetch | Fetch page HTML with redirect-chain tracking |
seo_render | Render SPA pages with Playwright (JavaScript-aware) |
seo_parse_page | Extract all on-page elements: title, meta, headings, images, links, schema, OG tags |
seo_content_optimize | Check title/meta lengths, heading hierarchy, content length |
Technical SEO
| Tool | What It Does |
|---|---|
seo_technical_audit | Crawlability, indexability, HTTPS, security headers, mobile, AI crawlers |
seo_performance | Estimate Core Web Vitals: LCP, CLS, TBT, FCP, TTFB |
seo_page_weight | Analyze page weight by resource type |
seo_render_blocking | Detect render-blocking CSS/JS with fixes |
seo_font_audit | Audit web fonts: font-display, WOFF2, Google Fonts vs self-hosted |
Content Quality
| Tool | What It Does |
|---|---|
seo_content_quality | QRG-aligned heuristics: filler, AI patterns, information density, repetition |
seo_keywords | TF-IDF keyword extraction with n-grams and search intent |
seo_keyword_density | Check density of target keywords |
seo_readability | Flesch-Kincaid, SMOG, ARI, Coleman-Liau scores |
seo_competitor_gap | Compare your page against a competitor |
Structured Data
| Tool | What It Does |
|---|---|
seo_schema_audit | Detect and validate Schema.org (JSON-LD, Microdata, RDFa) |
seo_schema_generate | Generate JSON-LD for 12+ schema types |
Images & Preloading
| Tool | What It Does |
|---|---|
seo_image_audit | Audit images: alt text, dimensions, lazy loading, modern formats |
seo_preload_audit | Speculation Rules API, preload hints, bfcache, LCP fetchpriority |
Advanced
| Tool | What It Does |
|---|---|
seo_agent_ux_audit | AI-agent friendliness: a11y tree, semantic HTML, interactive widgets |
seo_parasite_risk | Scan URLs for parasite-SEO risk by subfolder |
seo_drift_baseline | Capture SEO baseline snapshot for drift monitoring |
seo_drift_compare | Compare current page against a baseline |
seo_drift_history | List baseline snapshots for a URL |
seo_audit | Full audit: technical + content + schema + images + preload + agent UX |
seo_audit_batch | Audit multiple URLs and compare scores |
seo_report | Generate formatted reports in Markdown, JSON, or HTML |
Full Audit in One Call
The seo_audit tool runs all sub-audits in one call, returning an overall score and prioritized issues:
seo_audit {
url: "https://mysite.com",
include: ["technical", "content", "schema", "images", "preload", "agentUx"]
}
You can also run individual sub-audits for focused analysis:
seo_audit {
url: "https://mysite.com",
include: ["technical"]
}
Crawl → Audit Workflow
The recommended workflow for a full site audit:
- Crawl —
seo_crawl { url, maxPages: 100 }discovers all pages - Analyze —
seo_crawl_reportshows broken links, duplicates, orphans - Audit —
seo_audit_batchruns audits on key discovered pages - Report —
seo_reportgenerates a formatted summary
Drift Monitoring
The drift tools let you capture baselines and detect unwanted SEO changes:
// Capture a baseline
seo_drift_baseline { url: "https://mysite.com/pricing" }
// ... time passes, someone edits the page ...
// Detect what changed
seo_drift_compare { url: "https://mysite.com/pricing" }
// → Reports changes in title, meta, H1, schema, robots, canonical, etc.
Baselines are stored in a local SQLite database (~/.spectral/seo/drift.db).
Offline-First Design
Every tool runs entirely locally:
- No API keys — no Google, Ahrefs, or SEMrush keys needed
- No rate limits — analyze as many pages as you want
- Privacy-safe — page content never leaves your machine
- Batteries included — Playwright for rendering, SQLite for drift DB
When to Use
- Pre-launch audit — catch SEO issues before going live
- Competitor analysis — compare your pages against competitors
- Content optimization — improve keyword density and readability
- Schema validation — ensure structured data is correct
- Migration monitoring — use drift tools to detect unintended SEO changes
- Site health checks — crawl for broken links and duplicate content