Technical SEO audit checklist
Crawl & index
- robots.txt isn't blocking important pages — open yoursite.com/robots.txt and check for stray
Disallow:rules; test key URLs in Search Console's robots.txt tester - An XML sitemap exists and is submitted — find it at /sitemap.xml and submit it in Google Search Console → Sitemaps
- No accidental noindex on key pages — use Search Console's URL Inspection, or crawl with Screaming Frog and filter for
noindex - Clean, readable URLs — short, hyphenated, lowercase, no session IDs or deep nesting
Core health
- HTTPS everywhere, no mixed content — check for the padlock and scan the DevTools console for mixed-content warnings; redirect all http:// to https://
- Fast load (especially on mobile) — test in PageSpeed Insights (pagespeed.web.dev) and hit the "good" Core Web Vitals: LCP < 2.5s, INP < 200ms, CLS < 0.1
- Mobile-friendly, responsive layout — check on a real phone and in DevTools device mode; tap targets and text should never overflow
- No broken links or 404s on key paths — crawl with Screaming Frog (free up to 500 URLs) and fix any 4xx/5xx on money pages
On-page signals
- One clear title + meta description per page — unique per page; title ≤ 60 chars, description ≤ 155; find duplicates/missing ones with a Screaming Frog crawl
- Exactly one H1, logical heading structure — no skipped levels (H1 → H2 → H3)
- Descriptive image alt text — describe the image for a screen reader; skip "image of"
- Canonical tags to avoid duplicate content — self-referencing canonical on each page; point variants to the primary URL
Structured data
- Organization / LocalBusiness on the homepage
- FAQPage where you have Q&A
- Article on blog posts
- Validate all of it in Google's Rich Results Test (search.google.com/test/rich-results) and validator.schema.org
Verify
- Run a GrowMyWebsite audit and crawl (or Lighthouse + Search Console + Screaming Frog); fix fails first, then warnings
- Re-run after changes — confirm, don't assume