Skip to content

SEOPart of: Technical SEO

SEO audit checklist: 45 checks for a whole site, in the order that matters

An SEO audit checklist for a whole site: what to check, how to verify each item for free and what counts as a pass, from indexing and robots.txt to templates, links, speed and Search Console.

getReport teamUpdated 26 Sept 202622 min read

An SEO audit checklist is the ordered list of things to verify on a website so search engines can crawl it, index the right URLs and understand every page. This one has 45 checks in nine groups, each with how to verify it for free and what counts as a pass. It covers the whole site: the site-wide files, one page of every template and what Google Search Console reports. For the reasons behind each area, read the technical SEO guide, which this checklist puts into practice. Allow two to four hours for a site with a handful of templates.

Quick answer

  • Work top to bottom. The groups are in order of impact: a page Google cannot index makes every later check irrelevant.
  • Audit templates, not pages. Pick one URL of each page type (home, category, product or service, article, landing page). A fix in the template fixes every page built from it.
  • Check the site-wide files once: robots.txt, the XML sitemap and the http, https, www and trailing-slash variants.
  • Use Search Console for what only Google knows: which URLs are indexed, which are not and why, and field Core Web Vitals.
  • Write down the evidence for every fail (URL, what you saw, where) so the fix can be verified later.
  • Fix blockers first: indexing, then crawl paths, then duplicates, then templates, then speed and extras.

How this checklist differs from a one-page audit

A one-page audit asks whether a single URL is set up to rank; the on-page SEO checklist walks through it check by check. This checklist is the level above: whether robots.txt and the sitemap agree, whether every URL variant collapses into one, whether templates repeat a mistake across hundreds of pages, and what Google has indexed. You run the one-page audit once per template as part of it.

Before you start: scope and access

  1. List the templates (home, category, product or service, article, landing page, static pages) and pick one URL of each, plus the ten pages with most organic clicks from Search Console → Performance → Pages.
  2. Get access to Google Search Console, the CMS or SEO plugin settings, and ideally someone who can change server or CDN rules.
  3. Decide where findings go. The SEO audit report template has a structure for writing them up.

A desktop crawler helps on sites of more than a few hundred pages, to find orphans and site-wide duplicates, but the checks below do not need one.

1. Indexing: can Google keep your pages?

Do this group first, on every template URL and the top ten pages.

#CheckHow to verifyPass when
1Pages return HTTP 200Run the audit or a status checker on each URL200 on the final URL, at most one redirect before it
2No accidental noindexView source for name="robots"; check the X-Robots-Tag headerOnly pages you want out of search carry noindex
3Not blocked by robots.txtSearch Console → URL Inspection, or a robots.txt testerEvery page you want indexed is allowed for Googlebot
4Indexed pages match your intentSearch Console → Indexing → Pages, "Indexed" countRoughly the number of pages you want in search
5"Not indexed" reasons make senseSame report, "Why pages aren't indexed"No important URLs under noindex, 404, soft 404 or blocked
6CMS search visibility is onWordPress: Settings → Reading"Discourage search engines" is unticked

If an important page fails here, stop and fix it before continuing. Why is my page not in Google? is the step-by-step diagnosis, and Discovered – currently not indexed covers the most common Search Console status.

2. Site-wide files: robots.txt and the XML sitemap

#CheckHow to verifyPass when
7robots.txt exists and answers 200Open /robots.txtPlain text, 200, no Disallow: / for all agents
8No important paths blockedRead each Disallow lineCSS, JavaScript and images the page needs are not blocked
9Sitemap declaredSitemap: line in robots.txt, submitted in Search ConsoleAt least one absolute sitemap URL
10Sitemap is valid XMLSitemap validatorParses; under 50,000 URLs and 50 MB per file
11Sitemap lists only canonical 200 URLsSample the URLsNo redirects, 404s, noindex or parameter URLs
12Important pages are in the sitemapSearch for your template URLs in itEvery page you want indexed is listed
13lastmod is honest or absentCompare dates with real editsChanges only when the content changes

Google says it ignores priority and changefreq, so do not spend time on them. The robots.txt guide and XML sitemap validation explain each rule.

3. One URL per page: HTTPS, hosts and redirects

#CheckHow to verifyPass when
14HTTP redirects to HTTPSRequest http:// for the home page and one deep pageOne 301 or 308 to the https URL
15One hostRequest the www and bare versionsOne redirects to the other in one hop
16One trailing-slash styleRequest a URL with and without the slashOne form answers 200, the other redirects
17No redirect chainsFollow the redirects of old URLs and internal linksOne hop at most
18Canonical is self-referencingView source for rel="canonical" on each templateExactly one tag, absolute, pointing at the page's own clean URL
19Parameter URLs canonicaliseAdd ?utm_source=test to a URLThe canonical still names the clean URL
20Removed pages are handledCheck a few old URLs301 to the closest replacement, or 404 or 410

The canonical side of this group has its own topic: canonical tags explained. For the redirect rules per server, see trailing slashes, www and https: pick one.

4. Templates: titles, descriptions and headings

Run the one-page audit on each template URL and read the SEO findings.

#CheckHow to verifyPass when
21Every page has a unique titleAudit per template; crawl or Search Console for duplicates30–60 characters, topic first, different on every page
22Meta description per important pageAudit per template70–160 characters, describes that page
23One H1 per pageAudit per templateExactly one, naming the topic
24Logical heading orderAudit per templateNo jumps from H2 to H4
25lang and viewport setAudit per template<html lang> matches the content; viewport tag present
26Paginated and filtered pages have distinct titlesOpen page 2 of a category"Page 2" or the filter in the title
27Thin or empty templatesTag, author and empty category pagesEither useful content or noindex

Duplicates across the site are the most common template failure; duplicate titles and descriptions across a site shows how to find them in Search Console and fix the pattern.

#CheckHow to verifyPass when
28No broken internal linksBroken link check per template, crawler for the siteNo 4xx or 5xx targets
29Internal links point at final URLsSame check, redirect columnNo links to redirecting URLs
30Every important page is linkedCompare the sitemap with a crawlNo orphan pages
31Important pages are near the topClick depth in a crawler, or count clicks from homeKey pages reachable in a few clicks
32Links are real <a href>View source of menus and "load more"Crawlable links, not click handlers
33Internal links are followedLook for rel="nofollow" on internal linksNone, except login or cart links

Internal links: how many, where and with what anchor text and finding orphan pages cover the fixes.

6. Rendering: does the content need JavaScript?

#CheckHow to verifyPass when
34Main content is in the HTMLView source (not the inspector) and search for a sentence of body textThe text is there before scripts run
35Title, canonical and robots are not changed by scriptsCompare source with the rendered pageSame values in both
36Google sees the rendered pageURL Inspection → View crawled pageThe screenshot and HTML show the content

See JavaScript-rendered content and Google for framework-specific fixes.

7. Mobile and speed

Google indexes the mobile version of your pages, so audit on a phone-sized viewport first.

#CheckHow to verifyPass when
37Viewport tag present, zoom allowedAudit per templatewidth=device-width, no user-scalable=no
38Same content on mobile and desktopCompare both versionsSame text, headings, links and structured data
39Core Web Vitals pass in the fieldSearch Console → Core Web Vitals, or a speed test with field dataLCP ≤ 2.5 s, INP ≤ 200 ms, CLS ≤ 0.1 at the 75th percentile
40Server responds quicklyTime to first byte per templateConsistently under about 0.8 s

The page speed guide explains the metrics and what to fix per template.

8. Structured data, international and security

#CheckHow to verifyPass when
41Structured data parsesSchema validator per templateEvery JSON-LD block parses
42Required properties presentSame, per type (Product, Article, Organization…)No missing required properties
43hreflang pairs link backhreflang check on each language versionEvery version lists all others and itself
44No mixed contentAudit or browser consoleNo http:// images or scripts on https pages
45No security warningsSearch Console → Security issues and Manual actionsBoth empty

How getReport checks it

The SEO audit covers most of groups 1 to 5 for one URL per run, from indexability, robots.txt and the sitemap to redirects, the canonical, titles, headings and broken links. The same report includes speed, security and structured data, which covers much of groups 7 and 8. Run it once per template URL and keep the report links: each one stays at its address for 12 months, which gives you the "before" for the re-check.

What it does not do: crawl the whole site, find orphan pages or show what Google has indexed. Search Console, which is free, covers indexing, and a site crawl of up to 500 pages is a funded unlock that switches on for everyone once donations cover it.

How to prioritise what you find

Sort the fails into blockers (group 1 and robots.txt, fix the same day), site-wide signals (groups 2 and 3, one change fixes every page), template fixes (groups 4 to 6) and projects (groups 7 and 8). Within each, do the small-effort fixes first; picking which fixes to do first has an impact-versus-effort grid.

How often to run the audit

Run the full checklist once or twice a year, and immediately after a migration, redesign, CMS or theme change, or a new SEO plugin. Between audits, a monthly pass over groups 1 and 3 catches most regressions in 30 minutes: see SEO monitoring between audits. Before a new site goes live, the website launch checklist is the version for launch day.

Common mistakes

  • Auditing only the home page. It is usually the best-maintained page on the site; templates carry the problems.
  • Reading tool scores instead of findings. A 92 with a noindex on the product template is worse than a 70 with slow images.
  • Treating every Search Console "Not indexed" row as an error. Redirects, canonicalised duplicates and intentional noindex pages belong there.
  • Blocking duplicates in robots.txt. Google then cannot see their canonical or noindex; use those instead.

Questions people ask

What is an SEO audit?

An SEO audit is a structured check of whether search engines can crawl, index and understand your pages, and whether they are set up to earn clicks. It covers technical basics (status codes, robots.txt, canonicals, sitemaps, speed), on-page elements (titles, descriptions, headings, links, images) and often content and backlinks. The result is a prioritised list of problems with fixes, not a ranking guarantee.

How do I do an SEO audit?

Start with indexability, then work outward. Check that key pages return 200, are not blocked by robots.txt and carry no stray noindex. Then check titles, descriptions, headings and canonicals on one page per template, internal links, images and structured data. Finish with speed and Search Console's Pages report. The SEO audit runs the page-level checks in about a minute; fix whatever fails on every template first.

What should an SEO audit include?

At minimum: whether pages can be crawled and indexed (robots.txt, noindex, canonical, sitemap), titles and meta descriptions, headings, internal and broken links, redirects, page speed and Core Web Vitals, mobile layout, HTTPS and structured data. A full audit adds content quality, keyword targeting and backlinks, which need Search Console and other data. Fix whatever blocks indexing first, then what affects clicks.

How do I conduct a technical SEO site audit?

Crawl the whole site with a crawler, and pair the result with Search Console's Pages, Sitemaps and Core Web Vitals reports. Look for pages returning errors or redirects, accidental noindex tags and robots.txt blocks, duplicate URLs without canonicals, orphan pages, redirect chains and slow templates. Then audit one page per template in detail. getReport's audit covers the page-level half; its site-wide crawl is a funded unlock.

How often should you audit your site for SEO?

Run a full audit once or twice a year, and a light check monthly. A monthly pass over the key templates catches the common regressions: a plugin update that adds noindex, a theme change that breaks titles, a slower server. Audit immediately after any migration, redesign, CMS change or large content change, because that is when most accidental damage happens. A monthly site health routine takes about 30 minutes.

What is the difference between an SEO checklist and an SEO audit?

An SEO checklist is the list of things to verify; an SEO audit is the act of going through it on a specific site and recording what passes, what fails and what to fix first. The checklist stays the same from site to site. The audit produces evidence, a priority order and a report, and it is only useful if someone acts on the fails and re-checks them afterwards.

Can I do an SEO audit myself without paying for tools?

Yes. Google Search Console, which is free, shows what Google has indexed, why other pages are left out and your Core Web Vitals. A free checker covers the page-level and site-file checks per template, and your browser's view source covers the rest. Paid crawlers save time on large sites, mainly for finding orphan pages and duplicates across thousands of URLs.

How long does a technical SEO audit take?

Two to four hours for a small site with a handful of templates, if you follow a checklist and audit one page per template. Large shops and sites with many languages or parameters take one to several days, mostly for crawling and working through duplicates. Writing up the findings and agreeing the priorities often takes as long as the checks themselves.

What should I check first in an SEO audit?

Check that your important pages can be indexed: they return 200, carry no noindex, are allowed in robots.txt and have a correct canonical. Then open Search Console's Pages report and read why pages are not indexed. Everything else, from titles to speed, only helps pages that Google can already keep in its index.

Do I need to crawl my whole site for an SEO audit?

Not for most problems. They come from templates, so checking one page per template plus the site-wide files finds them. A full crawl adds what page-level checks cannot see: orphan pages, duplicate titles across hundreds of URLs, broken links deep in the site and pages missing from the sitemap. It is worth doing on sites with more than a few hundred pages.

Check your site before and after Check