Claude-Skills seo-audit

install
source · Clone the upstream repo
git clone https://github.com/borghei/Claude-Skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/borghei/Claude-Skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/marketing/seo-audit" ~/.claude/skills/borghei-claude-skills-seo-audit && rm -rf "$T"
manifest: marketing/seo-audit/SKILL.md
source content

SEO Audit

Production-grade SEO audit framework with an 85-point checklist across 8 dimensions, severity-weighted scoring, automated diagnostic workflows, and prioritized remediation plans. Covers technical SEO, on-page optimization, content quality, competitive positioning, and migration readiness.


Table of Contents


Operating Modes

Mode 1: Full Site Audit

Comprehensive audit across all 8 dimensions. Use for initial assessment or annual reviews.

Mode 2: Focused Audit

Single-dimension deep dive. Use when the problem area is already identified (e.g., "our Core Web Vitals are failing" or "we have indexation issues").

Mode 3: Pre-Migration Audit

Checklist for planned URL changes, platform switches, or redesigns. Establishes baseline and creates the redirect mapping framework.

Mode 4: Traffic Drop Diagnosis

Emergency diagnostic when organic traffic drops. Follows the traffic drop decision tree to isolate the cause.


Initial Assessment

Required Context

QuestionWhy It Matters
What type of site? (SaaS, e-commerce, blog, local business)Determines which audit dimensions to weight
What is the primary SEO goal?Focuses the audit on business-relevant outcomes
What is the current organic traffic baseline?Establishes the benchmark for measuring improvement
Any recent changes? (migration, redesign, content update, algorithm update)Identifies potential cause of current issues
Do you have Google Search Console access?Essential for indexation and performance data
Who are 3 organic competitors?For competitive gap analysis

Scope Definition

ScopePages to AuditRecommended When
Full siteAll indexed pages + sample of non-indexedAnnual audit, new client onboarding
Section auditOne directory or content typeKnown problem area
Top pagesTop 50 by traffic + top 50 by impressionsQuick wins identification
New pagesPages published in last 90 daysContent quality check

The 85-Point Audit Checklist

Dimension 1: Crawlability (12 points)

#CheckSeverityPass Criteria
1.1robots.txt accessible and validCritical200 response, no syntax errors
1.2Important pages not blocked by robots.txtCriticalNo disallow rules for key pages
1.3XML sitemap exists and is validHighSubmitted in GSC, < 50K URLs per file
1.4Sitemap reflects actual site structureHighNo 404s, no redirects, no noindex pages in sitemap
1.5Crawl depth < 4 clicks from homepageMedium95%+ of pages within 3 clicks
1.6No infinite crawl trapsCriticalNo parameter-based infinite loops
1.7Internal links use crawlable HTMLHighNo JavaScript-only navigation
1.8Pagination uses rel=next/prev or load-moreMediumPaginated content is crawlable
1.9No orphan pages (indexed but no internal links)High0 orphan pages in indexed set
1.10Crawl budget not wasted on low-value pagesMedium< 10% crawl budget on utility pages
1.11Server response time < 500msHighTTFB < 500ms for 95% of pages
1.12No 5xx errors in crawlCritical0% server errors

Dimension 2: Indexation (10 points)

#CheckSeverityPass Criteria
2.1Target pages are indexedCritical> 95% of target pages in Google index
2.2No duplicate content issuesHighNo duplicate titles, no near-duplicate content
2.3Canonical tags implemented correctlyHighSelf-referencing on unique pages, cross-domain where needed
2.4No conflicting signals (canonical vs noindex vs sitemap)CriticalNo page that is both noindex and in sitemap
2.5Hreflang tags correct (if multilingual)HighValid hreflang with return tags
2.6No index bloat (unnecessary pages indexed)MediumUtility pages not indexed
2.7Thin content pages identifiedHighNo pages with < 200 words of unique content
2.8Parameter handling configuredMediumURL parameters handled in GSC or via canonical
2.9JavaScript-rendered content indexableHighKey content visible in cached/rendered version
2.10New pages getting indexed within 7 daysMediumUsing IndexNow or manual submission

Dimension 3: Core Web Vitals (10 points)

#CheckSeverityPass Criteria
3.1LCP < 2.5sHigh75th percentile of page loads
3.2INP < 200msHigh75th percentile of interactions
3.3CLS < 0.1High75th percentile of page loads
3.4Mobile CWV passingCriticalMobile scores meeting thresholds
3.5Desktop CWV passingMediumDesktop scores meeting thresholds
3.6No render-blocking resourcesMediumCSS/JS delivery optimized
3.7Images optimized (WebP/AVIF, lazy loading)MediumAll above-fold images preloaded
3.8Font loading optimizedLowNo FOUT/FOIT, font-display: swap
3.9Third-party script impact measuredMediumNo third-party scripts adding > 500ms
3.10HTTPS with no mixed contentCriticalAll resources served over HTTPS

Dimension 4: On-Page SEO (15 points)

#CheckSeverityPass Criteria
4.1Unique title tags on every pageCriticalNo duplicates, < 60 chars
4.2Title includes primary keywordHighKeyword in first 60 chars
4.3Unique meta descriptionsHighNo duplicates, < 155 chars, includes keyword
4.4H1 tag present and unique per pageHighOne H1 per page with primary keyword
4.5Heading hierarchy logical (H1 > H2 > H3)MediumNo skipped levels
4.6Internal links with descriptive anchor textHighNo "click here" or naked URLs
4.7Images have alt textMediumDescriptive alt text on all meaningful images
4.8URL structure is clean and descriptiveMediumNo IDs, parameters, or excessive depth
4.9Primary keyword in first 100 wordsMediumNatural inclusion in opening
4.10Content matches search intentCriticalPage type matches what Google ranks for query
4.11No keyword cannibalizationHighNo two pages targeting the same primary keyword
4.12Open Graph and Twitter Card tagsLowSocial sharing metadata present
4.13Structured data implementedMediumRelevant schema types present
4.14Internal links to relevant pagesHigh3-5 contextual internal links per content page
4.15Breadcrumbs presentMediumFunctional breadcrumbs with schema

Dimension 5: Content Quality (12 points)

#CheckSeverityPass Criteria
5.1Content provides unique valueCriticalNot available elsewhere in same form
5.2Content depth matches intentHighComprehensive coverage of the topic
5.3Content freshness appropriateMediumUpdated within last 12 months for evergreen
5.4No AI-generated content markersHighNo generic filler, overused phrases, or em-dash patterns
5.5E-E-A-T signals presentHighAuthor attribution, credentials, experience evidence
5.6Content readability appropriateMediumMatches target audience reading level
5.7No thin content pagesHighAll pages > 300 words of unique content
5.8No content duplication across pagesHighJaccard similarity < 50% between any two pages
5.9Content supports conversion goalMediumClear CTA aligned with page intent
5.10Visual content presentMediumImages, charts, or videos enhance understanding
5.11Content organized with subheadingsMediumScannable structure with clear sections
5.12External references and citationsLowLinks to authoritative sources where relevant

Dimension 6: Technical Infrastructure (10 points)

#CheckSeverityPass Criteria
6.1HTTPS properly configuredCriticalValid certificate, no mixed content
6.2Proper redirects (301 not 302)HighPermanent redirects for permanent moves
6.3No redirect chains (> 2 hops)MediumDirect redirect from origin to destination
6.4No broken internal links (404s)High0 broken internal links
6.5No broken external linksLow< 5% broken outbound links
6.6Mobile-responsive designCriticalPasses Google's mobile-friendly test
6.7Proper 404 pageLowCustom 404 with navigation and search
6.8Server uptime > 99.9%CriticalMonitoring in place
6.9CDN configured for global audienceMediumIf international traffic > 20%
6.10Security headers presentLowHSTS, CSP, X-Frame-Options

Dimension 7: Off-Page Signals (8 points)

#CheckSeverityPass Criteria
7.1Backlink profile healthHighNo toxic link patterns
7.2Referring domain diversityMedium> 50 unique referring domains
7.3Anchor text distribution naturalMedium< 30% exact-match anchors
7.4No manual actions in GSCCriticalClean manual actions report
7.5Google Business Profile (if local)HighClaimed, verified, complete
7.6Social profiles linkedLowActive profiles on major platforms
7.7Brand mentions without linksLowUnlinked mentions as link opportunities
7.8Competitor link gap identifiedMediumTop competitors' link sources mapped

Dimension 8: Analytics and Tracking (8 points)

#CheckSeverityPass Criteria
8.1Google Search Console verifiedCriticalAll properties verified
8.2GA4 properly configuredHighEvents tracking, no duplicate tags
8.3Conversion tracking in placeHighKey conversions tracked
8.4GSC and GA4 linkedMediumData flowing between tools
8.5Bing Webmaster Tools configuredLowVerified and sitemap submitted
8.6Search Console coverage report cleanHighNo unexpected errors
8.7Core Web Vitals field data availableMediumEnough traffic for CrUX data
8.8UTM parameter strategyLowConsistent campaign tracking

Severity-Weighted Scoring

Scoring Formula

Total Score = Sum of (Dimension Weight x Dimension Pass Rate)

Dimension Pass Rate = (Passed Checks x Severity Multiplier) / (Total Checks x Severity Multiplier)

Severity Multipliers:
  Critical = 4x
  High = 3x
  Medium = 2x
  Low = 1x

Overall Health Grades

ScoreGradeAssessment
90-100AExcellent -- focus on competitive edge
80-89BGood -- fix remaining high-priority items
70-79CFair -- significant improvements available
60-69DPoor -- critical issues blocking performance
< 60FFailing -- foundational problems require immediate attention

Core Web Vitals Deep Dive

LCP Optimization Priority Stack

CauseDetectionFixImpact
Slow server responseTTFB > 600msCDN, server upgrade, cachingHigh
Render-blocking CSS/JSPageSpeed Insights flagsInline critical CSS, defer JSHigh
Large hero imageLCP element is an image > 500KBWebP/AVIF, responsive sizes, preloadHigh
Client-side renderingLCP requires JS executionSSR or prerenderingMedium
Web font blockingFOUT delays LCP textfont-display: swap, preload fontsMedium

INP Optimization Priority Stack

CauseDetectionFixImpact
Long JavaScript tasksChrome DevTools Performance tabBreak into smaller tasks, use requestIdleCallbackHigh
Heavy event handlersSlow click/scroll responsesDebounce, optimize handler codeHigh
Main thread blockingThird-party scriptsDefer or lazy-load third-party JSMedium
Layout thrashingForced reflows on interactionBatch DOM reads/writesMedium

CLS Optimization Priority Stack

CauseDetectionFixImpact
Images without dimensionsCLS in PageSpeed InsightsAdd width/height attributesHigh
Dynamic content injectionAds, embeds loading lateReserve space with CSS aspect-ratioHigh
Web fonts causing reflowText shifts when font loadsfont-display: optional or swapMedium
Late-loading CSSStyles applied after renderInline critical CSSMedium

Crawl and Indexation Analysis

Indexation Gap Analysis

Compare these three data sets to find gaps:

Set A: Pages in XML sitemap (your intended index)
Set B: Pages indexed in Google (site: query + GSC Coverage)
Set C: Pages receiving organic traffic (GSC Performance)

A - B = Submitted but not indexed (quality or crawl issue)
B - A = Indexed but not in sitemap (orphan or forgotten pages)
B - C = Indexed but receiving zero traffic (rank 100+ or deindexed from results)

Traffic Drop Decision Tree

Traffic dropped →
  ├── Sitewide drop?
  │   ├── Yes → Check for manual action in GSC
  │   │         Check for algorithm update (timeline match?)
  │   │         Check for robots.txt or noindex changes
  │   │         Check server uptime/5xx errors
  │   └── No (specific pages/sections) →
  │       ├── Check for cannibalization (new page stealing from old)
  │       ├── Check for content freshness (competitor updated, you didn't)
  │       ├── Check for lost backlinks to those pages
  │       └── Check for SERP feature changes (new featured snippet, AI overview)
  └── Gradual decline vs sudden drop?
      ├── Sudden → Technical issue or algorithm update
      └── Gradual → Content decay, competitive pressure, or authority erosion

On-Page SEO Analysis

Keyword Cannibalization Detection

Two or more pages targeting the same keyword compete with each other. Detection method:

  1. Export all pages + their primary keyword from GSC (queries with most impressions per page)
  2. Group by keyword -- any keyword assigned to 2+ pages is cannibalized
  3. Check which page ranks higher for each cannibalized keyword
  4. Action: Consolidate (merge into one page), differentiate (change one page's target), or canonical (point one to the other)

Intent Match Scoring

For each target keyword, verify that your page type matches what Google actually ranks:

Google RanksYour Page TypeMatch?Action
ListiclesSingle product pageNoCreate a listicle targeting this keyword
How-to guidesBlog opinion pieceNoRestructure as how-to
Comparison tablesFeature pagePartialAdd comparison elements
VideosText-only pageNoAdd video or target a different keyword

Content Quality Assessment

AI Content Detection Signals

Watch for these patterns that signal low-quality AI-generated content:

SignalExampleFix
Excessive em dashes"The tool -- which is powerful -- delivers results"Use commas or periods
Filler hedging"It's important to note that..."Delete and get to the point
Generic superlatives"This groundbreaking, cutting-edge solution"Use specific, evidence-based language
Perfect paragraph symmetryEvery section has exactly 3 paragraphs of 4 sentencesVary structure naturally
No first-person experienceZero personal anecdotes or experience markersAdd genuine experience signals
Overused transitions"Furthermore", "Moreover", "Additionally" at every paragraphVary connectors or remove them

E-E-A-T Scoring

SignalWeightCheck
Author byline with credentialsHighNamed author with bio and expertise
Author page with sameAs linksHighLinks to LinkedIn, publications
Original research or dataHighFirst-party data, surveys, experiments
Experience evidenceHighScreenshots, photos, personal narrative
Citations to authoritative sourcesMediumLinks to primary sources
Publication date and update dateMediumVisible and accurate
About page with team credentialsMediumCompany expertise established
External reviews and mentionsLowThird-party validation

Competitive Gap Analysis

Framework

For each of your top 3 competitors, compare:

DimensionYour SiteCompetitor 1Competitor 2Competitor 3
Domain Rating
Indexed pages
Organic keywords (top 100)
Estimated organic traffic
Content publishing frequency
Avg content depth (word count)
Referring domains
Top-performing content types

Keyword Gap Priority Matrix

Gap TypeDescriptionPriority
UncontestedKeyword with volume, no competitor ranksHighest
Weak competitionYou could realistically rank page 1High
Content gapCompetitor has content, you don'tMedium
Quality gapBoth have content, theirs ranks betterMedium
Authority gapCompetitor's DR advantage is the barrierLower (long-term)

Migration Audit Checklist

Pre-Migration (2-4 weeks before)

  • Crawl entire current site and export all URLs
  • Map every old URL to its new URL (1:1 redirect mapping)
  • Export current rankings and organic traffic baseline
  • Document all existing 301 redirects (chain them to new destinations)
  • Verify robots.txt will be correct on new site
  • Verify XML sitemap will be updated
  • Test new site in staging environment
  • Verify all schema markup transfers to new templates

During Migration

  • Implement all 301 redirects
  • Submit updated XML sitemap to GSC
  • Verify robots.txt is not blocking critical pages
  • Test 50 sample redirects for correctness
  • Monitor server errors in real-time

Post-Migration (2-8 weeks after)

  • Monitor GSC Coverage report daily for 2 weeks
  • Track organic traffic vs. baseline daily
  • Check for crawl errors in GSC
  • Verify old URLs redirect correctly (batch test)
  • Monitor rankings for top 50 keywords
  • Check for broken internal links on new site
  • Verify analytics tracking is firing correctly

Prioritized Remediation Plan

Priority Framework

Every finding gets classified:

PriorityCriteriaTimeline
P0 EmergencyBlocking indexation or causing active ranking lossFix today
P1 CriticalMajor negative impact on rankings or trafficFix this week
P2 HighSignificant improvement potentialFix this month
P3 MediumModerate improvement, standard best practiceFix this quarter
P4 LowMinor improvement or nice-to-haveBacklog

Remediation Plan Template

#FindingDimensionSeverityCurrent StateRecommended FixExpected ImpactEffort
1
2

Output Artifacts

ArtifactFormatDescription
Executive Summary3-5 bullet pointsOverall grade, top issues, quick wins
Full Audit Report85-point checklistPass/fail per check with evidence
Severity ScorecardWeighted score tablePer-dimension scores and overall grade
Prioritized Fix ListRanked tableEvery finding with severity, fix, effort, impact
Keyword Cannibalization MapTablePages competing for same keywords with resolution action
Competitive Gap ReportComparison matrixYour site vs. 3 competitors across 8 dimensions
Migration ChecklistCheckbox listPre/during/post migration tasks

Related Skills

  • programmatic-seo -- Use when audit reveals keyword gap clusters that could be addressed with template-based page generation at scale.
  • schema-markup -- Use when audit reveals missing or broken structured data opportunities.
  • site-architecture -- Use when audit uncovers structural issues (orphan pages, deep nesting, poor internal linking) requiring architectural redesign.
  • content-creator -- Use when audit reveals content quality issues requiring editorial improvement.
  • competitor-alternatives -- Use when competitive gap analysis reveals positioning opportunities for comparison content.

Troubleshooting

ProblemLikely CauseFix
Sitewide traffic drop after algorithm updateCore update changed quality thresholds or E-E-A-T weightRun full E-E-A-T audit, compare content against newly ranking competitors, add experience signals
Pages indexed but receiving zero impressionsKeyword cannibalization or content quality below ranking thresholdRun cannibalization detection, consolidate or differentiate competing pages
Core Web Vitals failing on mobile onlyThird-party scripts or unoptimized images loading on mobile viewportDefer non-critical JS, serve responsive images, audit third-party script impact
Crawl budget exhausted on low-value pagesParameter URLs, tag archives, or pagination consuming crawl resourcesNoindex thin pages, consolidate parameters, block faceted navigation in robots.txt
Manual action in Search ConsoleUnnatural links, thin content, or structured data misuse detectedFollow Google's reconsideration process — fix all flagged issues, document changes, submit review
Rankings dropped for specific pages onlyCompetitor published stronger content or lost key backlinksCheck backlink profile changes, compare content depth against new page 1 results
INP failing despite fast server responseLong JavaScript tasks blocking main thread on user interactionBreak JS into smaller tasks, defer non-critical scripts, audit event handler performance

Success Criteria

  • Overall audit score: Achieve grade B (80+) or higher on the severity-weighted scoring system
  • Zero critical failures: All Critical-severity checks passing across all 8 dimensions
  • Core Web Vitals pass rate: All three metrics (LCP < 2.5s, INP < 200ms, CLS < 0.1) passing at 75th percentile — benchmark: only 47-55% of sites pass as of 2026
  • Indexation coverage: 95%+ of target pages indexed with zero conflicting signals (canonical vs noindex vs sitemap)
  • Crawl error rate: Zero 5xx errors and fewer than 0.5% 4xx errors in the indexed page set
  • Organic CTR: Position 1 pages achieving 25%+ CTR, position 2-3 achieving 10%+ (2026 benchmarks: pos 1 avg 27.6%, pos 2 avg 15.8%)
  • Remediation velocity: All P0 emergency findings fixed within 24 hours, P1 critical within 7 days

Scope & Limitations

In scope:

  • Technical SEO across all 8 audit dimensions (crawlability, indexation, CWV, on-page, content quality, infrastructure, off-page, analytics)
  • Severity-weighted scoring with prioritized remediation plans
  • Traffic drop diagnosis and root cause analysis
  • Competitive gap analysis across technical and content dimensions
  • Pre-migration and post-migration audit checklists
  • AI content quality detection signals

Out of scope:

  • Content creation or rewriting (use Content Creator)
  • Structured data implementation (use Schema Markup)
  • Site architecture redesign (use Site Architecture)
  • Link building execution (audit identifies gaps, not outreach)
  • Paid search or advertising campaign audits
  • Server infrastructure provisioning or CDN setup

Known limitations:

  • Field CWV data requires sufficient traffic volume for CrUX reporting — low-traffic sites must rely on lab data
  • Off-page signals (backlinks, brand mentions) require third-party tools (Ahrefs, SEMrush) for comprehensive data
  • AI Overview impact on CTR varies by query type — no universal benchmark exists
  • Google's algorithm changes 500-600 times per year; audit findings reflect a point-in-time snapshot

Integration Points

  • AI SEO -- Run after audit to optimize for AI search citation alongside traditional SEO findings.
  • Schema Markup -- Use when audit reveals missing or broken structured data opportunities.
  • Site Architecture -- Use when audit uncovers structural issues requiring architectural redesign.
  • Content Humanizer -- Use when audit flags AI content detection signals on key pages.
  • Content Strategy -- Use when audit reveals content gaps or pillar coverage weaknesses.

Scripts

# Check redirect chains and status codes
python scripts/redirect_checker.py --url https://example.com/old-page --json

# Analyze XML sitemap for errors
python scripts/sitemap_analyzer.py --sitemap https://example.com/sitemap.xml

# Score content quality for SEO
python scripts/content_scorer.py article.md --json