Full website SEO audit with parallel subagent delegation. Crawls up to 500 pages, detects business type, delegates to 7 specialists, generates health score. Use when user says "audit", "full SEO check", "analyze my site", or "website health check".
Scanned 5/27/2026
Install via CLI
openskills install mits-pl/wove---
name: seo-audit
description: >
Full website SEO audit with parallel subagent delegation. Crawls up to 500
pages, detects business type, delegates to 7 specialists, generates health
score. Use when user says "audit", "full SEO check", "analyze my site",
or "website health check".
user-invokable: true
argument-hint: "[url]"
allowed-tools:
- web_open
- web_read_text
- web_read_html
- web_seo_audit
- web_exec_js
- web_click
- web_type_input
- web_press_key
- term_run_command
---
# Full Website SEO Audit
## Process
1. **Fetch homepage**: use `web_open` to open page, then `web_seo_audit` for baseline
2. **Detect business type**: analyze homepage signals per seo orchestrator
3. **Crawl site**: use `web_open` + `web_read_html` to navigate key pages, respect robots.txt
4. **Delegate to subagents** (if available, otherwise run inline sequentially):
- `seo-technical` -- robots.txt, sitemaps, canonicals, Core Web Vitals, security headers
- `seo-content` -- E-E-A-T, readability, thin content, AI citation readiness
- `seo-schema` -- detection, validation, generation recommendations
- `seo-sitemap` -- structure analysis, quality gates, missing pages
- `seo-performance` -- LCP, INP, CLS measurements
- `seo-visual` -- screenshots, mobile testing, above-fold analysis
- `seo-geo` -- AI crawler access, llms.txt, citability, brand mention signals
- `seo-local` -- GBP signals, NAP consistency, reviews, local schema, industry-specific local factors (spawn when Local Service industry detected: brick-and-mortar, SAB, or hybrid business type)
5. **Score** -- aggregate into SEO Health Score (0-100)
6. **Report** -- generate prioritized action plan
## Crawl Configuration
```
Max pages: 500
Respect robots.txt: Yes
Follow redirects: Yes (max 3 hops)
Timeout per page: 30 seconds
Concurrent requests: 5
Delay between requests: 1 second
```
## Output Files
- `FULL-AUDIT-REPORT.md`: Comprehensive findings
- `ACTION-PLAN.md`: Prioritized recommendations (Critical > High > Medium > Low)
- `screenshots/`: Desktop + mobile captures (if Playwright available)
## Scoring Weights
| Category | Weight |
|----------|--------|
| Technical SEO | 22% |
| Content Quality | 23% |
| On-Page SEO | 20% |
| Schema / Structured Data | 10% |
| Performance (CWV) | 10% |
| AI Search Readiness | 10% |
| Images | 5% |
## Report Structure
### Executive Summary
- Overall SEO Health Score (0-100)
- Business type detected
- Top 5 critical issues
- Top 5 quick wins
### Technical SEO
- Crawlability issues
- Indexability problems
- Security concerns
- Core Web Vitals status
### Content Quality
- E-E-A-T assessment
- Thin content pages
- Duplicate content issues
- Readability scores
### On-Page SEO
- Title tag issues
- Meta description problems
- Heading structure
- Internal linking gaps
### Schema & Structured Data
- Current implementation
- Validation errors
- Missing opportunities
### Performance
- LCP, INP, CLS scores
- Resource optimization needs
- Third-party script impact
### Images
- Missing alt text
- Oversized images
- Format recommendations
### AI Search Readiness
- Citability score
- Structural improvements
- Authority signals
## Priority Definitions
- **Critical**: Blocks indexing or causes penalties (fix immediately)
- **High**: Significantly impacts rankings (fix within 1 week)
- **Medium**: Optimization opportunity (fix within 1 month)
- **Low**: Nice to have (backlog)
## DataForSEO Integration (Optional)
If DataForSEO MCP tools are available, spawn the `seo-dataforseo` agent alongside existing subagents to enrich the audit with live data: real SERP positions, backlink profiles with spam scores, on-page analysis (Lighthouse), business listings, and AI visibility checks (ChatGPT scraper, LLM mentions).
## Error Handling
| Scenario | Action |
|----------|--------|
| URL unreachable (DNS failure, connection refused) | Report the error clearly. Do not guess site content. Suggest the user verify the URL and try again. |
| robots.txt blocks crawling | Report which paths are blocked. Analyze only accessible pages and note the limitation in the report. |
| Rate limiting (429 responses) | Back off and reduce concurrent requests. Report partial results with a note on which sections could not be completed. |
| Timeout on large sites (500+ pages) | Cap the crawl at the timeout limit. Report findings for pages crawled and estimate total site scope. |
No comments yet. Be the first to comment!