SEO Auditor
Performs a comprehensive SEO audit across three dimensions: technical SEO (crawlability, site speed, mobile-friendliness, indexation), on-page SEO (titles, meta descriptions, headings, content quality, keyword usage), and off-page SEO (backlink profile, domain authority, brand mentions). Uses WebSearch and browser automation to gather live data. Returns a prioritized fix list with impact scores and estimated effort for each recommendation.
Prerequisites
- WebSearch tool available for SERP analysis and external data gathering
- Browser automation tool available for crawling target site pages
- Target website URL
- Optional:
agency.config.json for service-specific audit focus and client context
Capabilities Used
content-seo-optimizer -- for detailed on-page analysis of individual pages
schema-generator -- for structured data gap identification
Phase 0: Intake
- Read
agency.config.json from the project root (if available).
- Extract
services[] to understand which SEO areas the agency can deliver on.
- Extract
icp.segments[] to contextualize recommendations for the client's market.
- Accept parameters:
url -- (required) the website to audit
depth -- quick (homepage + one inner page) | standard (homepage + 5 key pages) | deep (full site crawl, up to 50 pages). Default: standard
focus -- (optional) specific area: technical, on-page, off-page, or all. Default: all
competitor_urls -- (optional) array of competitor URLs for comparative analysis
Phase 1: Technical SEO Audit
Crawlability and Indexation
- Check
robots.txt at {{url}}/robots.txt -- parse directives, identify blocked paths
- Check
sitemap.xml at {{url}}/sitemap.xml -- verify existence, validate format, count URLs
- WebSearch:
site:{{domain}} -- compare indexed page count against sitemap URLs
- Check for canonical tags on sampled pages -- identify self-referencing and cross-domain canonicals
- Check for
noindex, nofollow meta tags on pages that should be indexed
- Look for orphan pages (in sitemap but not linked from navigation)
Site Speed
- WebSearch:
"{{domain}}" pagespeed OR "page speed" OR "core web vitals"
- Check visible indicators: image optimization (WebP/AVIF usage, lazy loading), font loading strategy, render-blocking resources
- Note any visible layout shifts (CLS indicators)
- Check for excessive JavaScript bundle size indicators (slow interactivity)
- Mobile speed: test primary pages on mobile viewport
Mobile-Friendliness
- Visit site on mobile viewport via browser automation
- Check responsive layout, touch target sizes, font readability
- Verify mobile menu functionality
- Check for horizontal scroll issues
- Verify viewport meta tag is set correctly
URL Structure and Architecture
- Evaluate URL patterns: clean, descriptive, consistent hierarchy
- Check for URL parameters creating duplicate content
- Verify HTTPS across all pages (mixed content warnings)
- Check redirect chains (301/302 hops)
- Evaluate internal linking depth (clicks from homepage to deepest content)
International SEO (if applicable)
- Check for hreflang tags
- Verify language/region targeting
- Check for proper locale-specific URLs
Phase 2: On-Page SEO Audit
For each sampled page, evaluate:
Title Tags
- Present and unique per page
- Length: 50-60 characters optimal
- Primary keyword placement (front-loaded)
- Brand name inclusion pattern
- Compelling for click-through (not just keyword-stuffed)
Meta Descriptions
- Present and unique per page
- Length: 150-160 characters optimal
- Include primary keyword naturally
- Contain a call-to-action or value proposition
- Compelling enough to improve CTR from SERPs
Heading Structure
- Single H1 per page containing primary keyword
- Logical H2/H3 hierarchy (no skipped levels)
- Keywords distributed naturally across headings
- Headings reflect content structure (not just styled text)
Content Quality
- Word count per page (thin content < 300 words on key pages is a red flag)
- Keyword density: primary keyword appears naturally (1-3% density)
- Related keywords and LSI terms present
- Content freshness: last updated dates, outdated references
- Duplicate content: check for substantially similar pages
- Internal linking: each page links to 3-5 relevant internal pages
Image Optimization
- Alt text present and descriptive on all images
- File names descriptive (not IMG_001.jpg)
- Image file sizes reasonable (< 200KB for most images)
- Next-gen formats (WebP, AVIF) in use
- Responsive images with srcset attributes
Structured Data
- Check for existing JSON-LD markup
- Identify missing schema types (Organization, Product, FAQ, BreadcrumbList)
- Validate existing schema for errors
- Flag rich snippet opportunities not being captured
Phase 3: Off-Page SEO Audit
Backlink Profile
- WebSearch:
"{{domain}}" -site:{{domain}} -- estimate external mention volume
- WebSearch:
link:{{domain}} -- check for backlink indicators
- WebSearch:
"{{domain}}" backlinks OR "domain authority" OR "domain rating" -- find third-party reports
- Identify linking domains by category: editorial, directory, social, forum, spam
- Check for toxic backlink indicators (spammy anchor text, irrelevant foreign domains)
Domain Authority Signals
- WebSearch:
"{{domain}}" "domain authority" OR "DA" OR "domain rating" OR "DR"
- Compare against competitor DA/DR if competitor URLs provided
- Check domain age and registration history signals
Brand Presence
- WebSearch:
"{{brand_name}}" -site:{{domain}} -- find brand mentions
- Check for unlinked brand mentions (link building opportunities)
- Social media presence and engagement signals
- Google Business Profile presence (for local businesses)
- Review site presence (G2, Trustpilot, Clutch for B2B)
Competitor Comparison (if competitor URLs provided)
- Compare indexed page counts
- Compare visible backlink profiles
- Compare content volume and freshness
- Identify keywords competitors rank for that the target does not
Phase 4: SERP Analysis
Current Visibility
- WebSearch:
site:{{domain}} -- check indexed pages and featured results
- Search for brand name -- verify knowledge panel, sitelinks
- Search for primary service/product keywords -- check if domain appears in top 20
- Check for featured snippet ownership on key queries
SERP Feature Opportunities
- Identify queries where "People Also Ask" boxes appear -- content gap opportunities
- Check for video carousel presence -- video content opportunity
- Check for image pack presence -- image optimization opportunity
- Local pack presence -- local SEO opportunity
- Shopping results -- product feed opportunity
Phase 5: Score and Prioritize
Assign scores from 1-10 for each area:
- Technical SEO: crawlability, speed, mobile, URL structure
- On-Page SEO: titles, meta, headings, content, images, schema
- Off-Page SEO: backlinks, DA, brand presence
- Overall SEO Health: weighted average (Technical 35%, On-Page 40%, Off-Page 25%)
Scoring guide:
- 9-10: Excellent, minor optimizations only
- 7-8: Good, clear improvement areas that will compound
- 5-6: Average, significant gaps losing organic traffic
- 3-4: Below average, fundamental issues blocking growth
- 1-2: Critical, site is nearly invisible to search engines
Prioritize all findings by:
- Impact: How much organic traffic will this fix recover/gain? (High/Medium/Low)
- Effort: How long to implement? (Quick win / Medium project / Major initiative)
- Urgency: Is this actively harming rankings? (Critical / Important / Nice-to-have)
Phase 6: Output
Return structured JSON:
{
"url": "https://example.com",
"audited_at": "2024-01-15T14:30:00Z",
"depth": "standard",
"pages_audited": [
"https://example.com",
"https://example.com/products/example",
"https://example.com/blog/example-post"
],
"overall_score": "5.8/10",
"score_breakdown": {
"technical_seo": "6/10",
"on_page_seo": "5/10",
"off_page_seo": "6/10"
},
"critical_issues": [
{
"area": "Technical",
"issue": "No sitemap.xml found",
"impact": "High",
"effort": "Quick win (1 hour)",
"urgency": "Critical",
"fix": "Generate and submit XML sitemap via Google Search Console. Most CMS platforms auto-generate this.",
"impact_score": 9
}
],
"high_priority": [
{
"area": "On-Page",
"issue": "Missing meta descriptions on 70% of pages",
"impact": "High",
"effort": "Medium (4-8 hours)",
"urgency": "Important",
"fix": "Write unique meta descriptions for all key pages, starting with highest-traffic pages.",
"impact_score": 8
}
],
"medium_priority": [
{
"area": "Off-Page",
"issue": "12 unlinked brand mentions found",
"impact": "Medium",
"effort": "Medium (outreach campaign)",
"urgency": "Nice-to-have",
"fix": "Contact site owners to convert mentions into backlinks.",
"impact_score": 5
}
],
"low_priority": [],
"strengths": [
"Clean URL structure with descriptive slugs",
"HTTPS properly configured across all pages",
"Good internal linking between related content"
],
"quick_wins": [
"Add sitemap.xml and submit to Search Console",
"Fix 15 missing alt tags on homepage images",
"Add FAQ schema to the 3 support pages"
],
"competitor_comparison": {
"indexed_pages": { "target": 120, "competitor_avg": 450 },
"estimated_da": { "target": "25", "competitor_avg": "42" },
"content_gap_keywords": ["keyword1", "keyword2", "keyword3"]
},
"next_steps": [
"Fix critical technical issues (Week 1)",
"Optimize on-page elements for top 10 pages (Week 2-3)",
"Launch link building campaign for unlinked mentions (Week 4+)"
]
}
Phase 7: Review Gate
Present findings to the user before taking action. The user may:
- Adjust scores or remove false positives
- Request deeper analysis on specific areas
- Select which fixes to prioritize for implementation
- Request a comparison with specific competitors
Example Usage
Trigger phrases:
- "Run an SEO audit on [url]"
- "Check [url] for SEO issues"
- "Full SEO analysis of [domain]"
- "Technical SEO check on [url]"
- "How is [url] doing on SEO?"
User: Run an SEO audit on https://brandx.com
Assistant: [crawls homepage and key pages, checks technical/on-page/off-page, returns scored findings with prioritized fix list]
User: Quick SEO check on example.com, focus on technical issues
Assistant: [homepage + one inner page, technical SEO only, returns critical and high-priority technical fixes]
User: Deep SEO audit of brandx.com vs competitor1.com and competitor2.com
Assistant: [full crawl up to 50 pages, all dimensions, comparative analysis against both competitors]
1---2name: seo-auditor3description: Full technical, on-page, and off-page SEO audit with prioritized fix list4---56# SEO Auditor78Performs a comprehensive SEO audit across three dimensions: technical SEO (crawlability, site speed, mobile-friendliness, indexation), on-page SEO (titles, meta descriptions, headings, content quality, keyword usage), and off-page SEO (backlink profile, domain authority, brand mentions). Uses WebSearch and browser automation to gather live data. Returns a prioritized fix list with impact scores and estimated effort for each recommendation.910## Prerequisites1112- WebSearch tool available for SERP analysis and external data gathering13- Browser automation tool available for crawling target site pages14- Target website URL15- Optional: `agency.config.json` for service-specific audit focus and client context1617## Capabilities Used18191. `content-seo-optimizer` -- for detailed on-page analysis of individual pages202. `schema-generator` -- for structured data gap identification2122## Phase 0: Intake23241. Read `agency.config.json` from the project root (if available).252. Extract `services[]` to understand which SEO areas the agency can deliver on.263. Extract `icp.segments[]` to contextualize recommendations for the client's market.274. Accept parameters:28 - `url` -- (required) the website to audit29 - `depth` -- `quick` (homepage + one inner page) | `standard` (homepage + 5 key pages) | `deep` (full site crawl, up to 50 pages). Default: `standard`30 - `focus` -- (optional) specific area: `technical`, `on-page`, `off-page`, or `all`. Default: `all`31 - `competitor_urls` -- (optional) array of competitor URLs for comparative analysis3233## Phase 1: Technical SEO Audit3435### Crawlability and Indexation36- Check `robots.txt` at `{{url}}/robots.txt` -- parse directives, identify blocked paths37- Check `sitemap.xml` at `{{url}}/sitemap.xml` -- verify existence, validate format, count URLs38- WebSearch: `site:{{domain}}` -- compare indexed page count against sitemap URLs39- Check for canonical tags on sampled pages -- identify self-referencing and cross-domain canonicals40- Check for `noindex`, `nofollow` meta tags on pages that should be indexed41- Look for orphan pages (in sitemap but not linked from navigation)4243### Site Speed44- WebSearch: `"{{domain}}" pagespeed OR "page speed" OR "core web vitals"`45- Check visible indicators: image optimization (WebP/AVIF usage, lazy loading), font loading strategy, render-blocking resources46- Note any visible layout shifts (CLS indicators)47- Check for excessive JavaScript bundle size indicators (slow interactivity)48- Mobile speed: test primary pages on mobile viewport4950### Mobile-Friendliness51- Visit site on mobile viewport via browser automation52- Check responsive layout, touch target sizes, font readability53- Verify mobile menu functionality54- Check for horizontal scroll issues55- Verify viewport meta tag is set correctly5657### URL Structure and Architecture58- Evaluate URL patterns: clean, descriptive, consistent hierarchy59- Check for URL parameters creating duplicate content60- Verify HTTPS across all pages (mixed content warnings)61- Check redirect chains (301/302 hops)62- Evaluate internal linking depth (clicks from homepage to deepest content)6364### International SEO (if applicable)65- Check for hreflang tags66- Verify language/region targeting67- Check for proper locale-specific URLs6869## Phase 2: On-Page SEO Audit7071For each sampled page, evaluate:7273### Title Tags74- Present and unique per page75- Length: 50-60 characters optimal76- Primary keyword placement (front-loaded)77- Brand name inclusion pattern78- Compelling for click-through (not just keyword-stuffed)7980### Meta Descriptions81- Present and unique per page82- Length: 150-160 characters optimal83- Include primary keyword naturally84- Contain a call-to-action or value proposition85- Compelling enough to improve CTR from SERPs8687### Heading Structure88- Single H1 per page containing primary keyword89- Logical H2/H3 hierarchy (no skipped levels)90- Keywords distributed naturally across headings91- Headings reflect content structure (not just styled text)9293### Content Quality94- Word count per page (thin content < 300 words on key pages is a red flag)95- Keyword density: primary keyword appears naturally (1-3% density)96- Related keywords and LSI terms present97- Content freshness: last updated dates, outdated references98- Duplicate content: check for substantially similar pages99- Internal linking: each page links to 3-5 relevant internal pages100101### Image Optimization102- Alt text present and descriptive on all images103- File names descriptive (not IMG_001.jpg)104- Image file sizes reasonable (< 200KB for most images)105- Next-gen formats (WebP, AVIF) in use106- Responsive images with srcset attributes107108### Structured Data109- Check for existing JSON-LD markup110- Identify missing schema types (Organization, Product, FAQ, BreadcrumbList)111- Validate existing schema for errors112- Flag rich snippet opportunities not being captured113114## Phase 3: Off-Page SEO Audit115116### Backlink Profile117- WebSearch: `"{{domain}}" -site:{{domain}}` -- estimate external mention volume118- WebSearch: `link:{{domain}}` -- check for backlink indicators119- WebSearch: `"{{domain}}" backlinks OR "domain authority" OR "domain rating"` -- find third-party reports120- Identify linking domains by category: editorial, directory, social, forum, spam121- Check for toxic backlink indicators (spammy anchor text, irrelevant foreign domains)122123### Domain Authority Signals124- WebSearch: `"{{domain}}" "domain authority" OR "DA" OR "domain rating" OR "DR"`125- Compare against competitor DA/DR if competitor URLs provided126- Check domain age and registration history signals127128### Brand Presence129- WebSearch: `"{{brand_name}}" -site:{{domain}}` -- find brand mentions130- Check for unlinked brand mentions (link building opportunities)131- Social media presence and engagement signals132- Google Business Profile presence (for local businesses)133- Review site presence (G2, Trustpilot, Clutch for B2B)134135### Competitor Comparison (if competitor URLs provided)136- Compare indexed page counts137- Compare visible backlink profiles138- Compare content volume and freshness139- Identify keywords competitors rank for that the target does not140141## Phase 4: SERP Analysis142143### Current Visibility144- WebSearch: `site:{{domain}}` -- check indexed pages and featured results145- Search for brand name -- verify knowledge panel, sitelinks146- Search for primary service/product keywords -- check if domain appears in top 20147- Check for featured snippet ownership on key queries148149### SERP Feature Opportunities150- Identify queries where "People Also Ask" boxes appear -- content gap opportunities151- Check for video carousel presence -- video content opportunity152- Check for image pack presence -- image optimization opportunity153- Local pack presence -- local SEO opportunity154- Shopping results -- product feed opportunity155156## Phase 5: Score and Prioritize157158Assign scores from 1-10 for each area:159160- **Technical SEO**: crawlability, speed, mobile, URL structure161- **On-Page SEO**: titles, meta, headings, content, images, schema162- **Off-Page SEO**: backlinks, DA, brand presence163- **Overall SEO Health**: weighted average (Technical 35%, On-Page 40%, Off-Page 25%)164165Scoring guide:166- 9-10: Excellent, minor optimizations only167- 7-8: Good, clear improvement areas that will compound168- 5-6: Average, significant gaps losing organic traffic169- 3-4: Below average, fundamental issues blocking growth170- 1-2: Critical, site is nearly invisible to search engines171172Prioritize all findings by:1731. **Impact**: How much organic traffic will this fix recover/gain? (High/Medium/Low)1742. **Effort**: How long to implement? (Quick win / Medium project / Major initiative)1753. **Urgency**: Is this actively harming rankings? (Critical / Important / Nice-to-have)176177## Phase 6: Output178179Return structured JSON:180181```json182{183 "url": "https://example.com",184 "audited_at": "2024-01-15T14:30:00Z",185 "depth": "standard",186 "pages_audited": [187 "https://example.com",188 "https://example.com/products/example",189 "https://example.com/blog/example-post"190 ],191 "overall_score": "5.8/10",192 "score_breakdown": {193 "technical_seo": "6/10",194 "on_page_seo": "5/10",195 "off_page_seo": "6/10"196 },197 "critical_issues": [198 {199 "area": "Technical",200 "issue": "No sitemap.xml found",201 "impact": "High",202 "effort": "Quick win (1 hour)",203 "urgency": "Critical",204 "fix": "Generate and submit XML sitemap via Google Search Console. Most CMS platforms auto-generate this.",205 "impact_score": 9206 }207 ],208 "high_priority": [209 {210 "area": "On-Page",211 "issue": "Missing meta descriptions on 70% of pages",212 "impact": "High",213 "effort": "Medium (4-8 hours)",214 "urgency": "Important",215 "fix": "Write unique meta descriptions for all key pages, starting with highest-traffic pages.",216 "impact_score": 8217 }218 ],219 "medium_priority": [220 {221 "area": "Off-Page",222 "issue": "12 unlinked brand mentions found",223 "impact": "Medium",224 "effort": "Medium (outreach campaign)",225 "urgency": "Nice-to-have",226 "fix": "Contact site owners to convert mentions into backlinks.",227 "impact_score": 5228 }229 ],230 "low_priority": [],231 "strengths": [232 "Clean URL structure with descriptive slugs",233 "HTTPS properly configured across all pages",234 "Good internal linking between related content"235 ],236 "quick_wins": [237 "Add sitemap.xml and submit to Search Console",238 "Fix 15 missing alt tags on homepage images",239 "Add FAQ schema to the 3 support pages"240 ],241 "competitor_comparison": {242 "indexed_pages": { "target": 120, "competitor_avg": 450 },243 "estimated_da": { "target": "25", "competitor_avg": "42" },244 "content_gap_keywords": ["keyword1", "keyword2", "keyword3"]245 },246 "next_steps": [247 "Fix critical technical issues (Week 1)",248 "Optimize on-page elements for top 10 pages (Week 2-3)",249 "Launch link building campaign for unlinked mentions (Week 4+)"250 ]251}252```253254## Phase 7: Review Gate255256Present findings to the user before taking action. The user may:257- Adjust scores or remove false positives258- Request deeper analysis on specific areas259- Select which fixes to prioritize for implementation260- Request a comparison with specific competitors261262## Example Usage263264Trigger phrases:265- "Run an SEO audit on [url]"266- "Check [url] for SEO issues"267- "Full SEO analysis of [domain]"268- "Technical SEO check on [url]"269- "How is [url] doing on SEO?"270271```272User: Run an SEO audit on https://brandx.com273Assistant: [crawls homepage and key pages, checks technical/on-page/off-page, returns scored findings with prioritized fix list]274```275276```277User: Quick SEO check on example.com, focus on technical issues278Assistant: [homepage + one inner page, technical SEO only, returns critical and high-priority technical fixes]279```280281```282User: Deep SEO audit of brandx.com vs competitor1.com and competitor2.com283Assistant: [full crawl up to 50 pages, all dimensions, comparative analysis against both competitors]284```