Checklist
SEO audit checklist
59 checks, grouped and ordered so the expensive faults surface first. Indexing before anything else, because a page Google cannot see cannot be fixed by anything further down the list. Nothing to sign up for and nothing to download.
in 8 sections, in the order that finds the most.
Most audit checklists are a flat list of a hundred things in no particular order, which means the reader starts at the top and gives up somewhere around item thirty, having found nothing. The order below is deliberate. The first two sections contain the faults that silently delete a site from search, and they are the fastest to check.
Work down it. Anything you cannot answer is a finding on its own.
1 Indexing, first, because nothing below matters without it
Every audit starts here. A page that is blocked, noindexed or canonicalised away is invisible no matter how good it is, and this is where the single most expensive faults hide.
- Fetch robots.txt and read it line by line. A Disallow left in from a staging site is the most common catastrophic fault in SEO.
- Check no URL that you want indexed is Disallowed. A blocked page cannot be read, so a noindex on it cannot be read either, and it can linger in the index for months.
- Search for the noindex directive across the whole build, in meta tags and in the X-Robots-Tag header. Both count and only one is usually checked.
- Compare the page count in the sitemap against the pages actually indexed in Search Console. A wide gap is the audit’s first real finding.
- Look at every Excluded reason in Search Console coverage, not just the errors. Crawled, currently not indexed usually means a quality problem, not a technical one.
- Check the canonical on a sample of pages. Self-referencing is normal; a canonical pointing at the home page on every page is a common template bug that deletes a site from search.
- Confirm the sitemap is listed in robots.txt and submitted, and that it contains only 200-status, indexable, canonical URLs.
- Check for a second, forgotten sitemap left by an old plugin. They point at URLs that no longer exist and waste crawl budget.
2 Crawling and site structure
What a crawler can reach, how fast it gives up, and whether your most important pages are buried behind five clicks.
- Crawl the site and list every page more than three clicks from the home page. Those are the pages Google visits least.
- Find every internal link that returns a 3xx and point it at the destination instead. Redirect chains leak a little every hop.
- Find every internal link that returns a 4xx. These are pure waste and are usually a handful of typos.
- Check for redirect chains longer than one hop, and for loops. A loop is invisible to a visitor and fatal to a crawler.
- Check that both www and non-www, and both http and https, resolve to exactly one canonical version.
- Check that a URL with a trailing slash and without resolve consistently rather than both serving 200.
- Look for parameter URLs being indexed: sorting, filtering, session ids, tracking tags. Each is a duplicate of a page you already have.
- Check orphan pages: pages in the sitemap that nothing on the site links to. They exist and cannot be found.
- Check pagination is crawlable with real links rather than a JavaScript-only load-more button.
3 On-page, per template rather than per page
Most on-page faults are template faults, which is good news: one fix corrects hundreds of pages. Sample three pages from each template rather than reading all of them.
- Find every duplicate title tag across the site. Duplicates almost always mean a template writing the same string for many pages.
- Find every missing or duplicate meta description. Missing is not a ranking fault; duplicated across a whole template usually signals a deeper one.
- Check every page has exactly one H1 and that it says what the page is about rather than repeating the brand name.
- Check the heading order runs H1, H2, H3 without skipping. Skipped levels make the page harder to parse for a screen reader and for a machine.
- Check that the title tag and the H1 are not identical on every page, which is a sign nobody wrote either.
- Check every image has an alt attribute, and that the alt describes the image rather than repeating the filename or stuffing a keyword.
- Check internal anchor text says what the destination is. "Click here" and "read more" tell a crawler nothing.
- Check structured data validates and, more importantly, that everything it declares is visible on the page. Markup describing content a reader cannot see is a manual action waiting to happen.
- Check the Open Graph and Twitter card tags render something sensible, because this is what gets shared.
4 Content
The part most audits skip because it cannot be automated, and the part that most often explains why a technically perfect site does not rank.
- List every page and the one search it is meant to answer. Any page you cannot name a search for is a candidate for merging or removing.
- Find pages competing for the same search. Two pages after one term split the signal and neither wins.
- Find thin pages: a heading, a paragraph and a form. Merge them into something substantial or remove them.
- Check every page answers the question in the first two paragraphs rather than warming up for six.
- Check the content matches the SERP. If the top ten for your target are all guides and your page is a sales page, you are entering the wrong race.
- Check dates. An article dated three years ago referencing a tool that has been renamed reads as abandoned to a person and to a model.
- Check any page making a claim can support it. Invented counts, made-up reviews and borrowed case studies are the fastest way to lose trust.
- Check the FAQ content on the page matches the FAQ in the structured data exactly, in both directions.
5 Speed and Core Web Vitals
Measured on real pages on a real phone, not on the home page on a desktop, because that is where the visitors are.
- Check Largest Contentful Paint on a mobile connection, on a template page rather than the home page.
- Check Cumulative Layout Shift, and look specifically for images and ads without declared dimensions.
- Check Interaction to Next Paint, which replaced First Input Delay and catches heavy JavaScript that older checks missed.
- List every render-blocking script and stylesheet in the head and ask whether each has to be there.
- Check images are served in a modern format, sized for the slot they occupy, and lazy-loaded below the fold but not above it.
- Check fonts are self-hosted or preconnected, with a font-display that does not leave the text invisible while they load.
- Check caching headers on static assets. A visitor returning after a week should not be downloading the fonts again.
6 Links
Both directions. Internal links are the half you control completely and the half most audits ignore.
- Check the pages you most want to rank have the most internal links pointing at them. Usually they do not.
- Check every important page is linked from somewhere other than the navigation and the sitemap.
- Review the backlink profile for links from networks, directories bought in bulk, or sites in an unrelated language. Those are the ones worth disavowing, and almost nothing else is.
- Find your broken backlinks: pages that earned links and now 404. Redirecting them recovers value already paid for and is the cheapest win in any audit.
- Check outbound links still resolve. A citation to a page that has gone reflects on you, not on them.
- Check anchor text on inbound links is not overwhelmingly exact-match commercial, which is what a manual link campaign looks like.
7 Local, if the business has a location or a service area
For a business that serves an area, this section usually outweighs everything above it.
- Check the Google Business Profile is claimed, verified and has a primary category that matches what the business actually does.
- Check the name, address and phone number are identical on the profile, on the site and in every directory listing.
- Check the profile links to the relevant page rather than the home page.
- Check opening hours, including holiday hours, and whether the business is findable with the open-now filter applied.
- Check review volume and, more importantly, recency. Reviews stopping a year ago reads as a business that stopped.
- Check every review has a reply, and that no reply discloses anything it should not.
- Check LocalBusiness structured data exists and carries the same address and hours as everything else.
8 Measurement, which decides whether any of this can be proved
Last in the order and first in importance, because an audit you cannot measure the effect of is an opinion.
- Check Search Console is verified, on the correct property type, and that you own it rather than an agency.
- Check Analytics is installed once and only once. Two tags double everything and nobody notices for months.
- Check conversions are actually tracked: calls, forms, bookings. Traffic without conversions cannot tell you whether the work paid.
- Check internal traffic is excluded, or the smallest site looks busiest.
- Record where things stand today, before any changes. An audit with no baseline cannot prove anything later.
How often should you do an SEO audit?
A full one once a year, and a short one each quarter covering indexing, crawl errors and Search Console coverage. That rhythm catches drift, which is what accumulates when nobody is doing anything wrong in particular.
The audits that actually save money are the unscheduled ones. Run the first two sections immediately after any of these, without waiting for the quarter to end: a redesign, a move to a new platform, a change of hosting or CDN, a new plugin with access to robots.txt or the head of the page, a certificate change, or any sudden fall in impressions in Search Console. Every one of those can put a noindex or a Disallow in front of a site that was working the day before, and the damage compounds quietly until somebody looks.
Using this as a template
Copy the eight headings into a sheet, one row per check, with three columns: pass, fail, not applicable. Add a fourth for the evidence, which is the one people leave out and the one that matters, because an audit finding with no URL and no screenshot cannot be verified or handed to anybody else.
Keep the completed sheet. The second audit is far more useful than the first, because the difference between them is the only real evidence that anything changed.
If you would rather we ran it
Same list, done for you, with the findings ranked by what they cost rather than by how easy they were to find. You get the sheet and the evidence whether or not you go on to have the work done.
Questions about SEO audits
How often should you do an SEO audit?
A full audit once a year for most sites, and a short one every quarter. Then an unscheduled one whenever something changes that could break indexing: a redesign, a platform migration, a change of hosting, a new plugin that writes to robots.txt, or a sudden fall in impressions in Search Console. The annual audit finds drift; the unscheduled one finds damage, and damage is more expensive.
How long does an SEO audit take?
Working through this list on a small site takes a day or two. On a large one the crawl alone takes longer, and the content section is the part that expands, because it cannot be automated and it is where the real answers usually are.
Can I do an SEO audit myself?
Yes, and the first two sections are worth doing whoever you hire afterwards. Indexing and crawl faults are objective, they are findable with free tools, and they are where the largest single losses tend to hide.
What tools do I need?
Search Console, which is free and non-negotiable, a crawler, and a page speed tool. Everything in the indexing, crawling and measurement sections can be done with those three. The content section needs judgement rather than a tool.
What is the difference between an SEO audit and a technical SEO audit?
A technical audit covers the first two sections here plus speed: what a crawler can reach and read. A full SEO audit adds content, links, local and measurement, which is where most of the reasons a site does not rank actually live.
Book a call with us
A 30-minute call in your working hours. Tell us what you sell and where, and we will tell you what we would do first and what it involves. Prefer email? Send your website through the form and the Passieon Team will reply within two working days.