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
-
Initial Assessment
-
The 85-Point Audit Checklist
-
Severity-Weighted Scoring
-
Core Web Vitals Deep Dive
-
Crawl and Indexation Analysis
-
On-Page SEO Analysis
-
Content Quality Assessment
-
Competitive Gap Analysis
-
Migration Audit Checklist
-
Prioritized Remediation Plan
-
Output Artifacts
-
Related Skills
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
Question Why 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
Scope Pages to Audit Recommended When
Full site All indexed pages + sample of non-indexed Annual audit, new client onboarding
Section audit One directory or content type Known problem area
Top pages Top 50 by traffic + top 50 by impressions Quick wins identification
New pages Pages published in last 90 days Content quality check
The 85-Point Audit Checklist
Dimension 1: Crawlability (12 points)
Check Severity Pass Criteria
1.1 robots.txt accessible and valid Critical 200 response, no syntax errors
1.2 Important pages not blocked by robots.txt Critical No disallow rules for key pages
1.3 XML sitemap exists and is valid High Submitted in GSC, < 50K URLs per file
1.4 Sitemap reflects actual site structure High No 404s, no redirects, no noindex pages in sitemap
1.5 Crawl depth < 4 clicks from homepage Medium 95%+ of pages within 3 clicks
1.6 No infinite crawl traps Critical No parameter-based infinite loops
1.7 Internal links use crawlable HTML High No JavaScript-only navigation
1.8 Pagination uses rel=next/prev or load-more Medium Paginated content is crawlable
1.9 No orphan pages (indexed but no internal links) High 0 orphan pages in indexed set
1.10 Crawl budget not wasted on low-value pages Medium < 10% crawl budget on utility pages
1.11 Server response time < 500ms High TTFB < 500ms for 95% of pages
1.12 No 5xx errors in crawl Critical 0% server errors
Dimension 2: Indexation (10 points)
Check Severity Pass Criteria
2.1 Target pages are indexed Critical
95% of target pages in Google index
2.2 No duplicate content issues High No duplicate titles, no near-duplicate content
2.3 Canonical tags implemented correctly High Self-referencing on unique pages, cross-domain where needed
2.4 No conflicting signals (canonical vs noindex vs sitemap) Critical No page that is both noindex and in sitemap
2.5 Hreflang tags correct (if multilingual) High Valid hreflang with return tags
2.6 No index bloat (unnecessary pages indexed) Medium Utility pages not indexed
2.7 Thin content pages identified High No pages with < 200 words of unique content
2.8 Parameter handling configured Medium URL parameters handled in GSC or via canonical
2.9 JavaScript-rendered content indexable High Key content visible in cached/rendered version
2.10 New pages getting indexed within 7 days Medium Using IndexNow or manual submission
Dimension 3: Core Web Vitals (10 points)
Check Severity Pass Criteria
3.1 LCP < 2.5s High 75th percentile of page loads
3.2 INP < 200ms High 75th percentile of interactions
3.3 CLS < 0.1 High 75th percentile of page loads
3.4 Mobile CWV passing Critical Mobile scores meeting thresholds
3.5 Desktop CWV passing Medium Desktop scores meeting thresholds
3.6 No render-blocking resources Medium CSS/JS delivery optimized
3.7 Images optimized (WebP/AVIF, lazy loading) Medium All above-fold images preloaded
3.8 Font loading optimized Low No FOUT/FOIT, font-display: swap
3.9 Third-party script impact measured Medium No third-party scripts adding > 500ms
3.10 HTTPS with no mixed content Critical All resources served over HTTPS
Dimension 4: On-Page SEO (15 points)
Check Severity Pass Criteria
4.1 Unique title tags on every page Critical No duplicates, < 60 chars
4.2 Title includes primary keyword High Keyword in first 60 chars
4.3 Unique meta descriptions High No duplicates, < 155 chars, includes keyword
4.4 H1 tag present and unique per page High One H1 per page with primary keyword
4.5 Heading hierarchy logical (H1 > H2 > H3) Medium No skipped levels
4.6 Internal links with descriptive anchor text High No "click here" or naked URLs
4.7 Images have alt text Medium Descriptive alt text on all meaningful images
4.8 URL structure is clean and descriptive Medium No IDs, parameters, or excessive depth
4.9 Primary keyword in first 100 words Medium Natural inclusion in opening
4.10 Content matches search intent Critical Page type matches what Google ranks for query
4.11 No keyword cannibalization High No two pages targeting the same primary keyword
4.12 Open Graph and Twitter Card tags Low Social sharing metadata present
4.13 Structured data implemented Medium Relevant schema types present
4.14 Internal links to relevant pages High 3-5 contextual internal links per content page
4.15 Breadcrumbs present Medium Functional breadcrumbs with schema
Dimension 5: Content Quality (12 points)
Check Severity Pass Criteria
5.1 Content provides unique value Critical Not available elsewhere in same form
5.2 Content depth matches intent High Comprehensive coverage of the topic
5.3 Content freshness appropriate Medium Updated within last 12 months for evergreen
5.4 No AI-generated content markers High No generic filler, overused phrases, or em-dash patterns
5.5 E-E-A-T signals present High Author attribution, credentials, experience evidence
5.6 Content readability appropriate Medium Matches target audience reading level
5.7 No thin content pages High All pages > 300 words of unique content
5.8 No content duplication across pages High Jaccard similarity < 50% between any two pages
5.9 Content supports conversion goal Medium Clear CTA aligned with page intent
5.10 Visual content present Medium Images, charts, or videos enhance understanding
5.11 Content organized with subheadings Medium Scannable structure with clear sections
5.12 External references and citations Low Links to authoritative sources where relevant
Dimension 6: Technical Infrastructure (10 points)
Check Severity Pass Criteria
6.1 HTTPS properly configured Critical Valid certificate, no mixed content
6.2 Proper redirects (301 not 302) High Permanent redirects for permanent moves
6.3 No redirect chains (> 2 hops) Medium Direct redirect from origin to destination
6.4 No broken internal links (404s) High 0 broken internal links
6.5 No broken external links Low < 5% broken outbound links
6.6 Mobile-responsive design Critical Passes Google's mobile-friendly test
6.7 Proper 404 page Low Custom 404 with navigation and search
6.8 Server uptime > 99.9% Critical Monitoring in place
6.9 CDN configured for global audience Medium If international traffic > 20%
6.10 Security headers present Low HSTS, CSP, X-Frame-Options
Dimension 7: Off-Page Signals (8 points)
Check Severity Pass Criteria
7.1 Backlink profile health High No toxic link patterns
7.2 Referring domain diversity Medium
50 unique referring domains
7.3 Anchor text distribution natural Medium < 30% exact-match anchors
7.4 No manual actions in GSC Critical Clean manual actions report
7.5 Google Business Profile (if local) High Claimed, verified, complete
7.6 Social profiles linked Low Active profiles on major platforms
7.7 Brand mentions without links Low Unlinked mentions as link opportunities
7.8 Competitor link gap identified Medium Top competitors' link sources mapped
Dimension 8: Analytics and Tracking (8 points)
Check Severity Pass Criteria
8.1 Google Search Console verified Critical All properties verified
8.2 GA4 properly configured High Events tracking, no duplicate tags
8.3 Conversion tracking in place High Key conversions tracked
8.4 GSC and GA4 linked Medium Data flowing between tools
8.5 Bing Webmaster Tools configured Low Verified and sitemap submitted
8.6 Search Console coverage report clean High No unexpected errors
8.7 Core Web Vitals field data available Medium Enough traffic for CrUX data
8.8 UTM parameter strategy Low Consistent 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
Score Grade Assessment
90-100 A Excellent -- focus on competitive edge
80-89 B Good -- fix remaining high-priority items
70-79 C Fair -- significant improvements available
60-69 D Poor -- critical issues blocking performance
< 60 F Failing -- foundational problems require immediate attention
Core Web Vitals Deep Dive
LCP Optimization Priority Stack
Cause Detection Fix Impact
Slow server response TTFB > 600ms CDN, server upgrade, caching High
Render-blocking CSS/JS PageSpeed Insights flags Inline critical CSS, defer JS High
Large hero image LCP element is an image > 500KB WebP/AVIF, responsive sizes, preload High
Client-side rendering LCP requires JS execution SSR or prerendering Medium
Web font blocking FOUT delays LCP text font-display: swap, preload fonts Medium
INP Optimization Priority Stack
Cause Detection Fix Impact
Long JavaScript tasks Chrome DevTools Performance tab Break into smaller tasks, use requestIdleCallback High
Heavy event handlers Slow click/scroll responses Debounce, optimize handler code High
Main thread blocking Third-party scripts Defer or lazy-load third-party JS Medium
Layout thrashing Forced reflows on interaction Batch DOM reads/writes Medium
CLS Optimization Priority Stack
Cause Detection Fix Impact
Images without dimensions CLS in PageSpeed Insights Add width/height attributes High
Dynamic content injection Ads, embeds loading late Reserve space with CSS aspect-ratio High
Web fonts causing reflow Text shifts when font loads font-display: optional or swap Medium
Late-loading CSS Styles applied after render Inline critical CSS Medium
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:
-
Export all pages + their primary keyword from GSC (queries with most impressions per page)
-
Group by keyword -- any keyword assigned to 2+ pages is cannibalized
-
Check which page ranks higher for each cannibalized keyword
-
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 Ranks Your Page Type Match? Action
Listicles Single product page No Create a listicle targeting this keyword
How-to guides Blog opinion piece No Restructure as how-to
Comparison tables Feature page Partial Add comparison elements
Videos Text-only page No Add video or target a different keyword
Content Quality Assessment
AI Content Detection Signals
Watch for these patterns that signal low-quality AI-generated content:
Signal Example Fix
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 symmetry Every section has exactly 3 paragraphs of 4 sentences Vary structure naturally
No first-person experience Zero personal anecdotes or experience markers Add genuine experience signals
Overused transitions "Furthermore", "Moreover", "Additionally" at every paragraph Vary connectors or remove them
E-E-A-T Scoring
Signal Weight Check
Author byline with credentials High Named author with bio and expertise
Author page with sameAs links High Links to LinkedIn, publications
Original research or data High First-party data, surveys, experiments
Experience evidence High Screenshots, photos, personal narrative
Citations to authoritative sources Medium Links to primary sources
Publication date and update date Medium Visible and accurate
About page with team credentials Medium Company expertise established
External reviews and mentions Low Third-party validation
Competitive Gap Analysis
Framework
For each of your top 3 competitors, compare:
Dimension Your Site Competitor 1 Competitor 2 Competitor 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 Type Description Priority
Uncontested Keyword with volume, no competitor ranks Highest
Weak competition You could realistically rank page 1 High
Content gap Competitor has content, you don't Medium
Quality gap Both have content, theirs ranks better Medium
Authority gap Competitor's DR advantage is the barrier Lower (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:
Priority Criteria Timeline
P0 Emergency Blocking indexation or causing active ranking loss Fix today
P1 Critical Major negative impact on rankings or traffic Fix this week
P2 High Significant improvement potential Fix this month
P3 Medium Moderate improvement, standard best practice Fix this quarter
P4 Low Minor improvement or nice-to-have Backlog
Remediation Plan Template
Finding Dimension Severity Current State Recommended Fix Expected Impact Effort
1
2
Output Artifacts
Artifact Format Description
Executive Summary 3-5 bullet points Overall grade, top issues, quick wins
Full Audit Report 85-point checklist Pass/fail per check with evidence
Severity Scorecard Weighted score table Per-dimension scores and overall grade
Prioritized Fix List Ranked table Every finding with severity, fix, effort, impact
Keyword Cannibalization Map Table Pages competing for same keywords with resolution action
Competitive Gap Report Comparison matrix Your site vs. 3 competitors across 8 dimensions
Migration Checklist Checkbox list Pre/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.