How to Audit Your Website for SEO (Free Checklist + Tool)
A website audit is not a scan. A scan runs a crawler and dumps issues into a spreadsheet. An audit is a judgment exercise — you look at the scan output, weight it against the business context, and decide what actually matters. Done well, an audit takes 2–8 hours and produces 20–60 tickets prioritized by impact. Done badly, it produces a 100-page PDF nobody reads.
This guide walks you through the exact 9-step process we run on every site that goes through SEOGrade.ai — the same process powers The Diagnosis ($29) and The Roadmap ($79) paid tiers. You can run it yourself, and it's free.
Before you start: the mindset
Three rules, in order:
- Don't fix what you don't understand. Every audit finding needs a "why does this matter" before you file a ticket for it.
- Prioritize by business impact, not by severity score. A "critical" issue on a page with zero traffic is lower priority than a "medium" issue on your top landing page.
- Every fix must be actionable by a specific person. "Improve your Core Web Vitals" is not a ticket. "Preload
dm-sans-500.woff2inapp/layout.tsxto cut LCP by 200ms" is a ticket.
If your audit doesn't obey those three rules, it's not actually an audit. It's a shopping list.
The 9 categories you audit
At SEOGrade we score nine dimensions. They map to how search engines (traditional and generative) actually evaluate sites, and they're the complete surface. Here's what each one covers:
| # | Category | What it measures |
|---|---|---|
| 1 | Crawlability & indexing | Can engines find every page you want them to find (and not the ones you don't)? |
| 2 | Performance & Core Web Vitals | LCP, INP, CLS, TTFB |
| 3 | Mobile & responsive | Layout integrity, tap targets, viewport config |
| 4 | On-page SEO | Titles, meta descriptions, heading hierarchy, image alt |
| 5 | Content quality | Depth, freshness, E-E-A-T signals, duplicate content |
| 6 | Structured data | Schema.org coverage and validity |
| 7 | Internal linking | Density, orphan pages, authority flow |
| 8 | Off-page signals | Backlink profile, brand mentions, AI citations |
| 9 | AI visibility / GEO | Structured data for AI, entity clarity, llms.txt, robots.txt for AI crawlers |
A proper audit produces a scored grade for each dimension (0–100) and ordered tickets within each.
Step 1 — Crawl the site
Use a crawler to enumerate every public URL. Free options: Screaming Frog (free for sites <500 URLs), Sitebulb (free trial), or a paid SaaS audit tool. For sites over 500 URLs, either buy Screaming Frog or use an online tool.
What you want from the crawl:
- Every URL and its HTTP status
- Title and meta description per URL
- H1 per URL (and whether each page has exactly one)
- Internal link graph
- Image inventory with alt text
The audit test: Does the crawl count match what you expect? If you have 32 pages in your sitemap but the crawler found 47, you have 15 pages reachable by links that aren't in the sitemap. That's a finding.
Step 2 — Check crawlability and indexing
This is the category that kills the most otherwise-healthy sites. Work through this checklist:
-
robots.txtexists, is reachable, and doesn't accidentally block important paths -
sitemap.xmlexists, references only canonical URLs, updates on publish - No noindex directives on pages you want indexed
- No accidental
disallow: /during the last dev push - Canonical tags point to self (not to duplicates)
- No redirect chains longer than 2 hops
- No 404s referenced by internal links
-
/robots.txtallows GPTBot, ClaudeBot, PerplexityBot, Google-Extended (for AI visibility)
Quick win: run site:yourdomain.com in Google. The number of results should roughly match your sitemap count. If it's off by more than 20%, dig in.
Step 3 — Run Core Web Vitals against real traffic
Don't just run PageSpeed Insights once and declare victory. You want the Chrome UX Report data from Google Search Console, which shows real-user metrics over 28 days. Go to GSC → Core Web Vitals and look at:
- Good / Needs Improvement / Poor breakdown for mobile and desktop
- Which URLs are in the "Poor" bucket
For any URL in "Poor":
- Run PageSpeed Insights on it
- Note the failing metric (usually LCP or INP)
- Identify the specific fix (image size, render-blocking script, font loading)
- File a ticket
Target: 100% of URLs in the "Good" bucket for mobile. Don't accept less.
Step 4 — Audit on-page SEO (titles, descriptions, H1, images)
This is manual work. Every indexable page gets reviewed for:
- Unique title tag under 60 characters
- Unique meta description 140–160 characters
- Exactly one H1 that contains the target keyword
- H2/H3 hierarchy with no skipped levels
- Images have descriptive alt text (or
alt=""if decorative) - Internal links use descriptive anchor text (not "click here")
The fastest way to do this is export the Screaming Frog crawl to CSV and sort by title/description/H1 to find duplicates and missing values.
Common finding: pages that inherit the homepage title and description because the CMS didn't override them. We see this on 40% of audited sites.
Step 5 — Content quality and E-E-A-T
Content quality is subjective, but the signals are measurable. For each top 20 page by traffic, check:
- Word count vs. the top 3 ranking pages for its target keyword (thin content is usually 50% of what competitors publish)
- Freshness — when was it last updated?
- Author byline and bio
- Outbound links to authoritative sources
- First-hand expertise signals (original research, screenshots, case studies)
- Duplicate content (run the first 200 characters through a search; if you find copies, that's a ticket)
AI visibility note: in 2026, AI engines prefer content <13 weeks old. Any page untouched in 6+ months is a refresh candidate.
Step 6 — Structured data audit
Go through your schema one page at a time. At minimum, every site needs:
Organization(global, in layout)WebSitewithSearchAction(global)Articleon every blog postBreadcrumbListon every interior pageFAQPageon any page with a FAQProductorServiceon commercial pages
Validate every schema block at validator.schema.org and Google's Rich Results Test. Any failing block is a ticket.
Common finding: sites that ship schema but have typos in the JSON that kill validation. We catch this on 30% of audits — and the site owners are usually surprised, because the schema "looked fine" in code review.
Step 7 — Internal linking audit
Export your internal link graph from the crawl. Check:
Free audit
Grade your site free
See how you score across all 9 categories — in roughly 60 seconds. No signup.
- Orphan pages (zero inbound internal links)
- Pages with <3 inbound links
- Link equity distribution (your top-authority pages should link to your commercial pages)
- Breadcrumbs implemented on every interior page
- No broken internal links
Quick win: identify the 5 highest-traffic pages on your site. Confirm they each link to your highest-converting commercial page. If they don't, file tickets.
Step 8 — Off-page and backlink profile
You don't need a paid tool to check backlinks anymore — Google Search Console shows you your top linking domains for free (GSC → Links → Top linking sites). For a deeper look, Ahrefs Free Backlink Checker gives you the top 100 backlinks without a subscription.
What to look for:
- Toxic or spammy domains linking to you (disavow candidates)
- Brand mentions without links (link-building opportunity — email and ask)
- Competitor link velocity (are they earning 5× your rate?)
2026 update: backlink analysis matters less than it used to. AI engines use backlinks as one signal among many, and they increasingly weight citations (mentions in credible content) over links (actual hyperlinks). Treat brand mentions as equivalent to backlinks.
Step 9 — AI visibility check (the new category)
This is the category most audit templates skip. You need to check:
- Are the pages you want AI-visible allowed in
robots.txtfor AI crawlers? - Does your site have
llms.txtat/.well-known/llms.txt? - Are your key entities canonicalized (Organization schema, consistent naming)?
- Do your pages have direct-answer blocks under H2s?
- Is your content fresh (<13 weeks old for critical pages)?
- Ask ChatGPT, Perplexity, and Claude your brand's key questions. Do they cite you?
If you're not measuring AI visibility in your audit, you're missing 25–48% of the discovery surface. See our complete guide to GEO for the full playbook.
The prioritization matrix
You'll finish your audit with 30–80 raw findings. Prioritize them into four buckets:
| Impact × Effort | What it means | Action |
|---|---|---|
| High impact, low effort | Quick wins | Ship this week |
| High impact, high effort | Strategic | Schedule into next sprint |
| Low impact, low effort | Polish | Bundle together, ship in a single PR |
| Low impact, high effort | Skip | Don't do these |
The worst audits list all 80 findings in severity order and tell the reader to work top-down. Nobody finishes. A prioritized audit lists the 10 high-impact/low-effort tickets first — those get shipped — and the rest is background music.
The 30-day implementation rhythm
After the audit, use this schedule to actually ship:
- Week 1: critical technical fixes (robots, sitemap, schema)
- Week 2: on-page fixes (titles, descriptions, H1)
- Week 3: content refresh (top 10 pages)
- Week 4: measurement (re-run audit, compare scores, celebrate wins)
Sites that follow this rhythm see a 15–25 point grade improvement in 30 days consistently. We've run this playbook on hundreds of sites — it works.
Frequently asked questions
How long does a full SEO audit take? A senior operator using modern tools needs 4–8 hours for a full audit of a 500-page site. In 2022 this was 20–40 hours. AI-assisted writing of fix tickets cut the labor dramatically.
Do I need paid tools to audit my site? No. Free tools cover 90% of what you need. Screaming Frog (free under 500 URLs), Google Search Console (free), Google PageSpeed Insights (free), and SEOGrade.ai's free audit cover the essentials. You only need paid tools (Ahrefs, Semrush) for deep backlink analysis at scale.
How often should I audit my site? Quarterly for most sites. Monthly if you publish 8+ posts a month. After any major release, migration, or structural change.
What's the most commonly missed audit category? AI visibility / GEO. Most audit templates were written before ChatGPT and don't account for how generative engines discover and cite content. This is the #1 gap we fix in SEOGrade audits.
Can I run an audit on a competitor's site? Yes — auditing is entirely public-data-based. No credentials needed. This is how SEO consultants prospect new clients: run an audit on a prospect's site, show them their grade, and sell the fix. See our consultant use case page.
Should I hire someone or DIY? If you have 6 hours of focused time and basic technical comfort, DIY with this guide. If you don't, the $29 Diagnosis gets you the same depth in 60 seconds and is priced to be cheaper than the hourly cost of your own time.
Your next step
You have three options:
- DIY using this guide. Block out two 3-hour blocks, run through the 9 steps, and ship 10 tickets by Friday. Free, but costs your time.
- Run the free SEOGrade audit. 60 seconds, no signup, top 3 issues surfaced automatically. Start here.
- Upgrade to The Diagnosis or The Roadmap. $29 or $79. Every finding, every fix, delivered as a PDF you can hand to your dev team. See pricing.
Whatever you pick, the rule is the same: an audit you don't act on is worse than no audit. Ship the fixes.
Internal links in this article
/audit,/pricing,/fix-my-site,/for/consultants/blog/generative-engine-optimization(pillar)/blog/seo-audit-checklist(supporting)/blog/seo-audit-cost(pillar)/blog/how-often-seo-audit(supporting)
FAQPage JSON-LD
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{"@type":"Question","name":"How long does a full SEO audit take?","acceptedAnswer":{"@type":"Answer","text":"A senior operator using modern tools needs 4-8 hours for a full audit of a 500-page site. In 2022 this was 20-40 hours. AI-assisted writing of fix tickets dramatically cut the labor cost."}},
{"@type":"Question","name":"Do I need paid tools to audit my site?","acceptedAnswer":{"@type":"Answer","text":"No. Free tools cover 90% of what you need. Screaming Frog, Google Search Console, PageSpeed Insights, and SEOGrade.ai's free audit cover the essentials."}},
{"@type":"Question","name":"How often should I audit my site?","acceptedAnswer":{"@type":"Answer","text":"Quarterly for most sites. Monthly if you publish 8+ posts a month. After any major release, migration, or structural change."}},
{"@type":"Question","name":"What's the most commonly missed audit category?","acceptedAnswer":{"@type":"Answer","text":"AI visibility / GEO. Most audit templates were written before ChatGPT and don't account for how generative engines discover and cite content."}},
{"@type":"Question","name":"Can I run an audit on a competitor's site?","acceptedAnswer":{"@type":"Answer","text":"Yes — auditing is entirely public-data-based. No credentials needed. This is how SEO consultants prospect new clients."}}
]
}
Image suggestions
- Hero (1200x630) — Editorial "9 steps" diagram. Alt: "Editorial diagram of a 9-step SEO audit process"
- Inline (1000x700) — The prioritization matrix as a 2x2 grid. Alt: "2x2 prioritization matrix showing impact versus effort for SEO audit findings"
- Inline (800x500) — Screenshot of Screaming Frog crawl results. Alt: "Screaming Frog SEO crawler showing a site's URL inventory and status codes"