What is the Website SEO Audit?
The Website SEO Audit is a full-site crawler that behaves like a search engine bot. It respects your robots.txt, discovers pages via your XML sitemap and internal links, and follows redirects. For every crawled page it runs a battery of checks covering crawlability, indexability, on-page tags, structured data, images, internal links, and security. For your top pages it also runs a self-hosted Lighthouse pass so you get lab-data Core Web Vitals and a Performance score.
The output is an SEO score per category, a prioritized list of findings grouped by severity (critical / warning / notice), and the exact affected URLs for every issue — so you know precisely what to fix and where.
How it works
- Discovery. We fetch
robots.txt, walk your XML sitemap (index + nested sitemaps), and seed the crawl with your homepage plus up to 50 sitemap URLs. - Polite BFS crawl. We fetch pages breadth-first at a conservative 2 requests/second per host, honoring any
Crawl-delayyour robots.txt sets. Free crawls cover up to 25 pages; Pro covers up to 500. - Per-page checks. Each fetched page is parsed and passed through every registered page-scoped check in parallel — title, meta description, H1, canonical, robots meta / X-Robots-Tag, hreflang, images alt, JSON-LD schema, status code, redirect chain, and more.
- Site-scoped checks. Once the crawl is done we run cross-page checks: duplicate titles, duplicate descriptions, orphan pages, www vs non-www canonicalization, HTTP-vs-HTTPS coverage, and crawl-depth outliers.
- Lighthouse (lab). For the target URL (Free) or top 10 pages (Pro) we spawn a headless Chromium via Lighthouse and pull Performance / SEO / Accessibility / Best-Practices scores plus LCP, CLS, TBT, INP, FCP.
- Score. Every category starts at 100 and loses points per finding (critical −15, warning −5, notice −1). The overall score is the average of categories.
What we check (17+ automated checks)
Crawlability
- HTTP status codes (4xx / 5xx / 3xx)
- Redirect chains + redirect loops
- Robots.txt respect
Indexability
- Canonical URL (missing / self-referring / cross-URL)
- Robots meta +
X-Robots-Tag(noindex, nofollow) - Hreflang tags (BCP-47 validation, x-default)
- www / non-www canonicalization
On-Page
- <title> length + presence
- Meta description length + presence
- H1 presence + uniqueness
- Duplicate titles / descriptions (site-scoped)
Structured Data
- JSON-LD detection
- JSON parse validation
- Type inventory
Links & Media
- Image
altattribute coverage - Orphan pages (no internal links in)
- Crawl-depth outliers
Performance (Lab)
- Lighthouse Performance / SEO / A11y / Best-Practices scores
- LCP / CLS / TBT (INP proxy) / FCP
Security
- HTTP → HTTPS redirect coverage
- Mixed-content detection (roadmap)
Free vs Pro
| Feature | Free | Pro |
|---|---|---|
| Pages crawled per audit | 25 | 500 |
| Lighthouse reports per audit | 1 (target URL) | 10 (top pages) |
| Findings per category | Top 5 shown | All findings |
| Category coverage | Crawlability, On-Page, Structured Data, Indexability full; others teased | All categories, full detail |
| Audits per day (per IP) | 3 | 100 |
| Historical retention | 24 hours | 90 days |
| CSV / PDF export | — | Roadmap |
How we're different — honest data, no invented signals
Most SEO audit tools quietly guess when they don't know something. We don't. Every finding is labelled with its source so you know exactly what you're looking at:
- Confirmed — parsed directly from the HTML we fetched. If we say your title is 78 characters, we counted them.
- Lab data (Lighthouse) — a single Lighthouse run in headless Chromium. Useful, but not a substitute for real-user CrUX field data.
- Recommendation — a heuristic best-practice suggestion, not a bug.
We don't fabricate backlink data, keyword rankings, organic-traffic numbers, or CrUX field metrics. When we don't have real data for something (e.g. Search Console clicks, real INP), we say so explicitly rather than showing a made-up number.