An SEO audit answers one question: what is stopping this site from getting the search traffic it should?
Not “what could be improved”. Everything could be improved. An audit finds the few things that are actually holding the site back, in an order you can act on.
This checklist is organised that way. It starts with the things that make everything else irrelevant if they are wrong, and ends with refinements. Where a number appears, it comes from auditing technoxprt.com rather than from an example.
How to use this
- Go in order. Most audits find their real problem in the first three sections.
- Write findings down as you go, with the evidence. “Slow” is not a finding; “LCP 4.1s on mobile, images uncompressed” is.
- Do not fix as you go. Finish the audit, then prioritise. Fixing the first thing you find is how audits take three weeks and miss the actual issue.
The Audit at a Glance
Eleven areas, in the order they are worth checking. The first three decide whether the rest matters.
| # | Area | The question it answers |
| 1 | Foundations | Is anything blocking the whole site? |
| 2 | Crawling and indexing | Can Google reach the pages, and is it keeping them? |
| 3 | On-page | Is each page legible to a search engine? |
| 4 | Search demand | Is the site aimed at anything people search for? |
| 5 | Content | Which pages earn their place, and which compete with each other? |
| 6 | Internal links | Can readers and crawlers move through the site? |
| 7 | Backlinks | Does anyone else vouch for this site? |
| 8 | Local | Only if the business serves an area |
| 9 | Trust and E-E-A-T | Is it clear who is behind this and why they know? |
| 10 | AI search | Are you visible where answers now appear? |
| 11 | Measurement | Can you trust the numbers you just used? |
Most audits find their real problem in areas one to three. If those are clean and traffic is still low, the answer is usually in seven, and that is a different kind of work.
Before You Start: What You Need Access To
Half the failed audits fail here, because the person auditing never got the data.
- Google Search Console, with at least three months of history. This is not optional; nothing replaces it.
- Google Analytics or whatever analytics the site runs.
- The CMS, at a level where you can see plugin and theme settings.
- Bing Webmaster Tools, which is free and which most sites have either never set up or set up once and forgotten.
- A crawler. Screaming Frog is free up to 500 URLs.
If Search Console is missing, set it up and wait. An audit without it is guesswork dressed up as analysis.
Part 1. Foundations
Fast checks, and any failure here outranks everything below it.
- One canonical version of the site. HTTP, HTTPS, www and non-www should resolve to a single version with 301s. Four live versions is four sites competing.
- No accidental sitewide noindex. WordPress has a “Discourage search engines” checkbox that survives launches more often than anyone admits.
- robots.txt not blocking anything important.
- Sitemap exists, is current, and is submitted.
- Search Console has no manual actions or security issues. Check both; they are separate reports.
- Analytics is actually recording, and is not double-counting through two tags.
Part 2. Crawling and Indexing
This is where most real problems live, and where most audits go straight to page speed instead.
Are your pages indexed at all?
Search Console → Pages. Compare indexed pages against the number you actually want indexed. A large gap either way is the finding.
Then read the not-indexed reasons, because two of them are routinely misread:
- Crawled – currently not indexed means Google fetched the page and declined it.
- Discovered – currently not indexed means Google has never fetched it at all.
Sort those lists by what the URLs actually are before concluding anything. On this site, 28 of 51 “crawled – not indexed” URLs were RSS feeds, paginated archives, author pages and two JavaScript files. Google was right about all of them.
Is crawl budget being wasted?
Settings → Crawl stats, a report almost nobody opens. Check the share of requests returning 404 and the split between refresh and discovery.
On this site, 20% of all crawl requests returned 404 and only 10% were discovery. That combination explains unindexed pages better than any content theory does.
The technical layer
Canonicals, redirects, rendering, mobile, security and structured data all sit here. They have their own ordered list in the technical SEO checklist, so this audit checks the outcome rather than repeating the detail.
For audit purposes, three questions are enough at this stage: does Google see the same page a visitor does, does each page declare one clear canonical, and does the mobile version contain everything the desktop one does.
Part 3. On-Page
Crawl the site and sort by each column. The problems announce themselves.
- Missing or duplicate title tags. Duplicates usually mean a template is generating them.
- Titles that are truncated or that bury the topic behind a brand name.
- Missing meta descriptions on pages that get impressions. They do not affect ranking, but they affect clicks. See writing descriptions that earn the click.
- Multiple or missing H1s, and heading levels used for styling rather than structure.
- Images without alt text, especially ones carrying meaning.
- URLs that are readable and stable.
Images and video
Both get treated as an afterthought in audits and both can rank in their own right.
- Images served as real
<img>elements, not CSS backgrounds, if you want them found. - Descriptive filenames and alt text on anything carrying meaning; empty alt on decoration.
- Correct dimensions and modern formats. Oversized images are the most common page-speed problem and the easiest to fix, image SEO covers the detail.
- Explicit width and height so nothing shifts as the page loads.
- Video on a real page with surrounding text and VideoObject markup. A bare embed gives Google nothing to index.
One caveat worth holding: on-page issues are the easiest to find and the least likely to be why a site is failing. Fix them, but do not mistake a tidy crawl report for a fixed site.
Part 4. Search Demand
Before judging content, check whether the site is aimed at anything people search for. Sites fail this more often than they fail the technical checks.
- Do your main pages target a real query? Not a phrase invented internally. If nobody searches it, no amount of optimisation produces traffic.
- Does the page match the intent of that query? A service page aimed at an informational query will not rank no matter how good it is. Look at what actually ranks; the results tell you what Google thinks the query means.
- Is one query spread across several pages? That is a merge, not an opportunity.
- Which queries bring impressions but no page exists? Search Console shows demand you are brushing against without a proper answer. These are the cheapest new pages you will ever plan.
Check the difficulty yourself
Keyword difficulty scores are estimates and they can be badly wrong. A keyword export used while planning this site’s content rated “seo services” at 45,700 monthly searches with a difficulty of 1, and “local seo services” at 5.
Open the results page instead and look at who is on it. If page one is Semrush, Moz, HubSpot and Ahrefs, the score does not matter. If half of page one is sites you have never heard of, it is worth trying.
Part 5. Content
The slowest part of an audit and usually the most valuable.
Find the pages that do nothing
Pull every URL with its clicks and impressions for the last twelve months. Sort ascending. Pages with no impressions at all are the ones to look at first, and the question for each is: was this ever going to work?
Three outcomes, and the third is the one people avoid:
- Update, if the topic is right and the page is dated.
- Merge, if another page covers the same question.
- Remove, with a redirect if something relevant exists and a clean 404 if nothing does.
On relevance: redirecting a deleted page somewhere loosely related gets treated as a soft 404, which is worse than a clean 404. Auditing this site found 52 of 70 redirects pointing at category archives that were set to noindex, so the destinations could not rank at all.
Find where pages compete with each other
In Search Console, filter by a query and look at which pages receive impressions for it. Two or more of your own URLs appearing for the same query means Google is choosing between them, usually badly.
Find what is missing
Compare your coverage against what actually ranks. A competitor analysis shows which questions in your topic you have skipped entirely, which is usually a longer list than expected.
Also check striking distance keywords, queries where you rank between 11 and 20. Those are existing pages a few improvements from page one, and they are cheaper than new content.
Part 6. Internal Links
Underrated in most audits, and the one lever that needs no budget and no permission.
- Orphan pages. Any page with no in-content links pointing at it. Your crawler will list them.
- Click depth. Important pages more than three clicks from the homepage.
- Anchor text that describes the destination, using words already in the sentence.
- Links from pages Google actually crawls. A link from an unindexed page passes nothing.
What the link audit on this site found
Crawling all 123 posts produced a link graph, and it contradicted the usual advice. Two never-crawled pages were linked from every single page on the site. 123 links each, from the theme’s related-posts widget. Google had still never fetched either.
Theme-generated blocks are identical across a site, so they carry almost no information and are discounted accordingly. Counting them makes an internal linking report look healthy when it is not.
When auditing, count only links inside body text. That number is usually far smaller than the crawler’s default figure.
Part 7. Backlinks
Check what Google counts, not what a third-party tool estimates. They can differ enormously.
- Search Console → Links for Google’s own view of your external links and linking domains.
- A backlink tool for anchor text patterns and for what competitors have that you do not.
- Manual actions report, which is the only thing that makes a link problem urgent.
Why the two numbers differ
On this site, Ahrefs reported 511 referring domains. Search Console reported 6 external links from 4 domains.
The gap was spam. The largest anchor group, 43% of all referring domains, was a fake testimonial that used the site’s name while advertising someone else’s SEO service. Google had already discounted essentially all of it, which is why there was no manual action and why the site’s authority metrics were near zero.
The lesson for an audit is to treat the tool’s referring-domain count as a starting point, not a finding. Google’s own number is the one that describes reality.
Do not reach for a disavow file on the strength of a spam-heavy tool report. Without a manual action, Google is already ignoring it, and a disavow risks the few real links you have. When links genuinely are the constraint, the answer is earning more of them.
Part 8. Local, If It Applies
Skip this entirely if the business does not serve a physical area.
- Google Business Profile claimed, complete, with correct categories and hours.
- NAP consistency. Name, address and phone identical across the site and major citation sites.
- Location pages with genuinely different content, not one template with the town name swapped.
- LocalBusiness schema matching what the site actually says.
- Reviews arriving steadily rather than in suspicious bursts.
Part 9. Trust and E-E-A-T
Not a score and not a ranking factor you can set. It is a set of signals that either exist or do not, and they matter most for topics where bad advice causes harm.
- Named authors with real bios, not “Admin”.
- An about page that says who runs the site and why they know the subject.
- Contact details that are findable, and a real business address where one exists.
- Claims that are sourced, particularly numbers and anything competitive.
- Dates that are honest. Changing the date without changing the content is a signal in the wrong direction.
- Affiliate and sponsorship disclosure where it applies.
These also get read by humans reviewing a site for ad networks and partnerships, so the work is rarely wasted.
Part 10. AI Search
Worth a section now because a page can hold its ranking and lose its clicks.
- Are you cited in AI answers? Ask the assistants your main questions and see who they name.
- Which queries lost clicks but kept impressions? That pattern in Search Console usually means an AI answer now sits above you.
- Can a page be quoted? Pages that answer one question cleanly get lifted; sprawling pages do not.
- Are AI crawlers blocked by accident? Check robots.txt and, separately, your CDN, edge blocking happens above robots.txt and will not show in the file.
- Is the site in Bing at all? Bing’s index feeds DuckDuckGo and Copilot.
That last one is worth checking rather than assuming. This site had zero pages in Bing, because the only sitemap Bing held was submitted in 2015 and listed 7 URLs. Nothing was blocking it; a current sitemap had simply never been submitted.
For the Google side of this, appearing in AI Overviews follows from the same fundamentals rather than a separate technique.
Part 11. Measurement
Audit the measurement too, because every conclusion above depends on it. Broken tracking produces confident, wrong answers.
- One analytics tag, firing once. Two tags inflate sessions and halve your bounce rate, which flatters everything.
- Search Console and analytics both connected, and ideally linked to each other.
- Conversions actually tracked. Enquiries, calls, signups. A site measuring only sessions cannot tell good traffic from useless traffic.
- Internal traffic excluded. On a small site, your own visits distort everything.
- Bot and referral spam filtered. If sessions arrive from sites that make no sense, they are not readers.
- Historic data intact. A tracking change mid-year makes year-on-year comparisons meaningless, and it is worth knowing before you draw a trend line.
The 30-Minute Version
A full audit is a day or more. When you need a read on whether something is badly wrong, these six checks find most of it.
| Check | Where | Red flag |
| Manual actions | Search Console | Anything at all |
| Indexed vs expected pages | Pages report | A large gap either way |
| 404 share of crawling | Crawl stats | Above a few per cent |
| Sitewide noindex or robots block | View source, robots.txt | Present |
| Traffic trend, 12 months | Search Console | A step drop on a single date |
| External links Google counts | Links report | Very few, on an established site |
A step drop on one date usually means an algorithm update or a site change. A slow decline usually means content ageing or competitors improving. They lead to different work.
Turning Findings Into an Order
An audit that ends in a list of forty items is not finished. Sort what you found:
- Blocking. Manual actions, sitewide noindex, security issues, availability. Nothing else matters until these are clear.
- Structural. Indexing problems, wasted crawl budget, duplicate pages, orphans. Usually where the real gains are.
- Improvements. Titles, descriptions, internal links, page speed, structured data. Worth doing, rarely transformative.
- Long-term. Authority, content depth, brand. Slowest, and often the actual constraint.
Be honest about the last category. If a site is indexed, technically clean and still invisible, the audit’s conclusion is that the constraint is not technical, and no amount of further auditing changes that.
Tie each fix to something measurable so you can tell later whether it worked. Pair the list with the KPIs you already report on.
Tools
Every check in this audit can be done free. Paid tools mostly add backlink data and save time at scale.
| What you need | Tool | Cost |
| Indexing, crawl budget, queries, manual actions | Google Search Console | Free |
| Bing, DuckDuckGo and Copilot indexing | Bing Webmaster Tools | Free |
| Site crawl: orphans, broken links, duplicate titles | Screaming Frog | Free to 500 URLs |
| How Google renders a single page | URL Inspection, “Test live URL” | Free |
| Page speed diagnosis | PageSpeed Insights | Free |
| Rich result eligibility | Rich Results Test | Free |
| Competitor backlinks and content gaps | Ahrefs, Semrush or similar | Paid |
Only the last row genuinely needs paying for, and only when competitor link data is the question you are trying to answer.
How Often to Audit
- Monthly, a ten-minute look at Search Console: indexing, crawl stats, manual actions.
- Quarterly, the full checklist.
- Immediately, after a migration, redesign, hosting change, CMS change or bulk URL change.
- When traffic moves sharply, in either direction.
Frequently Asked Questions
How long does an SEO audit take?
A thorough audit of a small site takes most of a day. Large sites take several. The 30-minute version above catches most serious problems and is enough to decide whether a full audit is warranted.
What is the difference between an SEO audit and a technical SEO audit?
A technical audit covers crawling, indexing, performance and rendering. A full SEO audit includes those plus content, on-page, internal links, backlinks, local and trust signals. Technical is one part of the larger audit.
Do I need paid tools to audit a site?
No. Search Console and Bing Webmaster Tools are free and cover most of this checklist, and Screaming Frog crawls up to 500 URLs free. Paid tools mainly add backlink data and save time on larger sites.
What should I fix first after an audit?
Anything blocking indexing, then anything wasting crawl budget, then duplicate and orphan pages. Titles, speed and structured data come after, because they improve pages that already work rather than fixing pages that do not.
How many pages should be indexed?
Roughly the number you intend to be indexed, which is usually fewer than the number of URLs a site generates. Tag archives, feeds and pagination inflate the total without adding anything worth indexing.
My audit found nothing wrong but traffic is still low. What now?
That is a real and common outcome, and it means the constraint is not technical. Usually it is authority (too few sites linking to yours), or content that does not add anything to what already ranks. Neither is fixed by auditing again.
Should I disavow bad backlinks found in an audit?
Only with a manual action against you. Google discounts most spam automatically, and a disavow file risks the legitimate links you do have. A tool reporting hundreds of spam domains is usually describing links Google already ignores.
