Most website audits do not fail in the checking. They fail in the sorting. You run a crawl, and the tool hands you two hundred issues: broken links, a slow template, duplicate titles, thin pages, missing alt text. All of it looks urgent, so you fix whatever sits at the top of the list, and weeks later the problems that were actually blocking your rankings are still sitting there.
This guide fixes the sorting problem. It walks you through a complete audit in five phases: technical, on-page, content, links, and local. Every check has a pass test, so you can tell whether you really have a problem, and a fix note, so you know what to do about it. At the end, a priority table sorts your findings into fix now, fix soon, and ignore for now, and a time budget shows what each phase should cost a small site.
You do not need paid tools or an agency to run this audit. Everything below works with Google’s free tools plus one crawler.
Key takeaways
- An audit’s value is the order of the fixes, not the number of issues found.
- Every check needs a pass test. A finding without a test is an opinion, and opinions do not get fixed in the right order.
- Blockers come first: anything stopping Google from reaching or indexing your pages outranks every polish item on the list.
- Budget by phase. Technical checks are fast because templates repeat; content checks are slow because every page needs a decision.
What a website audit is
A website audit is a structured check of everything that decides whether your site can be found, loaded, understood, and trusted. It is wider than an SEO audit. An SEO audit asks whether Google can rank your pages. A website audit also asks whether the pages work once a visitor lands: do they load fast on a phone, do the forms work, do your business details match everywhere they appear?
The output of an audit is not a score. Tools will give you one anyway, but a score does not tell you what to do on Monday morning. The output you want is a short, ordered list of fixes, each with a reason. That is what the five phases below build towards.
Before you start: tools and a baseline
Three tools cover the whole audit. Google Search Console is free, and it shows how Google itself sees your site: which pages are indexed, which are excluded and why, and how your pages perform in search. PageSpeed Insights is also free and reports your Core Web Vitals. For crawling, the Screaming Frog SEO Spider crawls up to 500 URLs free, which covers most small sites on its own; a licence removes the limit and costs €245 per year, per Screaming Frog’s own site. On a site too big for the free limit, crawl your page templates and your highest-traffic pages first, then widen the crawl later.
Before you change anything, record a baseline: your indexed page count, clicks and impressions for the last 28 days in Search Console, and your Core Web Vitals status. Google’s SEO Starter Guide warns that changes take time to show in search results, anything from a few hours to several months, and suggests waiting a few weeks before judging them. Your baseline is what makes that judgement possible later.
Phase 1: Technical audit
Technical problems outrank every other finding, because they can hide your pages from Google completely. A beautiful page that is blocked, broken, or stuck behind a redirect chain earns nothing. Work through this checklist in order, because the first items can invalidate everything after them.
Two habits matter here. First, trust Search Console over any third-party tool for indexation questions, because it is Google reporting on Google. Second, use the current Core Web Vitals set: Largest Contentful Paint, Interaction to Next Paint, and Cumulative Layout Shift. Older guides still list First Input Delay, but web.dev’s Web Vitals documentation shows INP in the current set in FID’s place, and gives the pass marks: LCP at 2.5 seconds or under, INP at 200 milliseconds or under, and CLS at 0.1 or under, measured at the 75th percentile of real page loads. A page passes when it meets all three targets at that percentile.
| Check | Pass test | If it fails |
|---|---|---|
| Site loads | Open your homepage and your five most important pages. Every one loads with no error. | Fix hosting or server problems first. Nothing else in this audit matters until the site loads. |
| No page blocked by robots.txt | Open yoursite.com/robots.txt and compare the rules with your key pages, CSS, and JavaScript files. No rule blocks content you want found. | Remove the blocking rule, then request indexing for the affected pages in Search Console. |
| No accidental noindex | In your crawl, filter for pages carrying a noindex directive. Only private, thank-you, or login style pages have one. | Remove the noindex from any page you want in Google. This single setting explains many “invisible site” cases. |
| The pages you care about are indexed | In Search Console (Indexing, then Pages), read the exclusion reasons. Every page you care about is indexed, and every exclusion is one you can explain. | Work through the exclusion reasons one at a time. The reason text tells you the fix: blocked, duplicate, or crawled but not indexed each need different work. |
| Sitemap is clean and submitted | Open your sitemap file. It lists only live pages that return a success status and that you want indexed, and it shows as submitted in Search Console. | Regenerate the sitemap without dead, redirected, or blocked URLs, and resubmit it. |
| One version of the site | Visit the www, non-www, http, and https versions of your homepage. All of them land on one single version. | Set site-wide redirects to your chosen version so links and signals are not split. |
| Redirects take one hop | In your crawl’s redirect report, every redirect lands directly on its final page. No chains of two or more, and no loops. | Point each redirect straight at the final URL. Chains slow crawlers down and can drop visitors. |
| No broken internal links | Filter your crawl for internal links pointing at error pages. The count is zero. | Update each link to point at the live page. If the dead page had traffic or backlinks, redirect it instead. |
| Canonical tags point the right way | Check the canonical on your key pages. Each one points to itself, or to the master version you chose on purpose. Canonical tags live on the page, not in Search Console. | Correct the tag in the page code or your SEO plugin. Google’s SEO Starter Guide recommends that each piece of content be reachable through one URL. |
| Core Web Vitals pass | In the Search Console Core Web Vitals report, or PageSpeed Insights for single pages, your templates meet the targets: LCP 2.5 seconds or under, INP 200 milliseconds or under, CLS 0.1 or under, at the 75th percentile (thresholds from web.dev). | Fix the biggest cause the report names first. Oversized images are the usual LCP cause; late-loading ads and embeds are the usual CLS cause. |
| Pages work on a phone | Open your key pages on a real phone. Text reads without zooming, buttons are easy to tap, and nothing is cut off at the edges. | Fix the highest-traffic template first. One template fix usually repairs dozens of pages at once. |
| HTTPS everywhere | Click through your main pages and watch for security warnings or pages that load partly insecure. There are none. | Move the insecure elements and internal links to HTTPS, and redirect the http versions. |
Phase 2: On-page audit
On-page checks cover the signals each page sends about itself: its title, its headings, its URL, and its images. These are the cheapest fixes in the whole audit, because most of them live in templates or in a single settings screen. Google’s SEO Starter Guide makes the underlying point: write for the words your readers actually search for, keep one clear topic per page, and use descriptive URLs and link text, so people and search engines can tell what a page is about before they open it.
| Check | Pass test | If it fails |
|---|---|---|
| Every indexable page has a unique title | In your crawl’s titles report, there are no missing titles and no duplicates. | Rewrite the duplicates so each title names its own page’s topic. Start with the pages that earn impressions. |
| Titles match the page and the search | Read your top 20 titles. Each one states plainly what the page is, in the words a searcher would use, with no keyword stuffing. | Rewrite around the page’s real topic. A title that promises the wrong thing loses the click and the visitor. |
| Key pages have meta descriptions | In your crawl, every important page has its own description that gives a reason to click. | Write descriptions for money pages and top landing pages first. The rest of the site can follow in batches. |
| One H1 per page | Your crawl shows exactly one H1 on every page, and it matches the page’s topic. | Demote extra H1s to H2. If a page has no H1, promote its main heading. |
| Headings run in order | Spot-check two or three templates. H2 sections sit under the H1, H3s sit under H2s, and no level is skipped for styling. | Fix the order in the template, not page by page, and style headings with CSS instead of heading levels. |
| URLs are descriptive | Read your key URLs. They are short, readable words a person can understand, not random numbers or codes (a point Google’s starter guide makes directly). | Leave working URLs alone unless they genuinely confuse. If you change one, redirect the old address to the new one. |
| Images carry alt text | In your crawl’s images report, content images have descriptive alt text, and purely decorative images have empty alt text. | Add alt text in batches, product and service images first. Describe the image; do not stuff keywords into it. |
Phase 3: Content audit
Content problems rarely look like errors, which is why tools underplay them. No crawler flags the page that targets the same query as another page on your site, the guide whose prices are two years out of date, or the service page that never received a single internal link. Google’s starter guide sets the standard in plain terms: content should be unique, up to date, and helpful, and each piece of content should live at one URL. Judge every page against that standard, and give every weak page a decision: improve it, merge it, or remove it. A page left undecided keeps diluting the rest.
| Check | Pass test | If it fails |
|---|---|---|
| One page owns each topic | Match your pages to the queries they earn impressions for in Search Console. One clear owner page per topic. | Merge the weaker page into the stronger one and redirect it. Two pages chasing one query split your chances; this is keyword cannibalisation. |
| Thin pages have a decision | List your shortest pages and check each against impressions and links. Every thin page is improved, merged, or removed on purpose. | Never leave a thin page undecided. A page with no impressions, no links, and no unique job is a merge or removal candidate. |
| Facts are current | Read your top pages for prices, dates, product names, and claims. Nothing out of date is presented as current. | Update the page, or date it clearly. Old advice wearing a new date is worse than an honestly old page. |
| No duplicate content | Your crawl’s duplicate report shows no two live URLs serving the same content. | Redirect the spare URL to the master version, or set its canonical to the master version. One piece of content, one URL. |
| Top pages answer the whole query | Compare your top 10 pages with what ranks for their query. Each page answers the full question without sending the reader back to Google. | Add the missing section. Answer depth beats word count; do not pad a page to make it longer. |
| No orphan pages | Your crawl shows every indexable page has at least one internal link pointing to it. Google finds pages mainly through links, as the starter guide notes. | Link to the orphan from the most relevant live page, using anchor text that describes it. |
| Internal anchor text describes the target | Scan your crawl’s anchor text report. Anchors describe the page they point to; “click here” style anchors are rare. | Rewrite the anchors on your most-linked pages first. Anchor text tells readers and Google what the linked page contains. |
Phase 4: Links audit
Links decide which of your pages carry weight. This phase covers both directions: the internal links you control completely, and the backlinks other sites give you. Internal links come first, because they are free and instant to fix. A page with no internal links is a page you are asking Google to ignore, since Google discovers pages through links. If the wider subject is new to you, it helps to understand what link building is before you judge the backlink half of this phase.
| Check | Pass test | If it fails |
|---|---|---|
| Important pages have the most internal links | Sort your crawl by number of internal links. Your money pages sit near the top, not buried under blog posts. | Add internal links from related, high-traffic posts to the pages that earn you money. |
| Key pages are within three clicks of home | Check crawl depth for your key pages. Each is at depth three or less. | Link them from section pages or navigation so visitors and crawlers reach them quickly. |
| No spam flood in the backlink profile | Open the Links report in Search Console and scan the top linking sites. They are mostly real sites with some connection to your topic. | Ordinary low-quality links are normal noise; ignore them. If there is a clear, deliberate spam flood, document it and disavow only the obvious junk. |
| Outbound links still work | Filter your crawl for external links returning errors. Key content links out to live pages only. | Update the link to a live source or remove it. Dead outbound links make a page look abandoned. |
| Backlink anchor text looks natural | Skim the anchor text in your links report. It is mostly your brand, your page titles, and descriptive phrases, not the same money keyword repeated. | This is usually an outreach habit, not an emergency. Fix the habit going forward; do not panic-edit links you do not control. |
Phase 5: Local audit (only if you serve a local area)
Skip this phase if you sell nationally or online only. If customers visit you, or you travel to them, local details carry rankings that the other four phases never touch. Google’s guide to improving your local ranking says local results rest mainly on relevance, distance, and prominence, and that businesses with complete and accurate information are more likely to show in local results. The checks below are the audit version of that advice.
| Check | Pass test | If it fails |
|---|---|---|
| Business Profile is complete | Open your Google Business Profile. Category, services, hours, photos, and website link are all filled in and current. | Complete every field before doing any other local work. This is the base layer of local visibility. |
| Name, address, and phone match everywhere | Compare your site footer, your Business Profile, and your top directory listings. The details are identical everywhere. | Fix the wrong listings in order of how much traffic each sends you. Mismatched details weaken trust in all of them. |
| A page exists for each location or service area | Check your site map. Every real location or service area has its own page with its own details. | Build the missing page before chasing local links. A page per area gives local searches somewhere to land. |
| Reviews are answered | Look at your recent reviews. Each one has a reply from the business. | Answer the backlog, then reply weekly. Replies are part of prominence and part of basic manners. |
| Location pages carry the details visitors need | Open each location page. It shows the address, opening hours, and a way to call or get directions. | Add the missing details. A location page that hides the address fails the visitor it was built for. |
How to prioritise: fix now, fix soon, ignore for now
You now have a list of findings. This is where most audits die, so use one rule: a finding’s priority comes from what it blocks, not from how alarming the tool made it sound. If it blocks Google from reaching or indexing your pages, it goes first. If it drags down pages that already earn traffic, it goes second. If it is cosmetic, affects pages nobody visits, or is normal web noise, it waits, however untidy it looks in a spreadsheet.
The table below sorts the common findings from this checklist into the three bands. Your list will differ in detail, but the reasoning transfers. For every finding, ask one question: what does this stop from happening?
Here is the rule at work. A crawl report that flags 300 missing alt texts and one noindex error looks like an alt text problem. It is not. The noindex error can be hiding your best page from Google today, while the alt texts cost you almost nothing and can be batched in an afternoon next month. Same report, opposite priorities, and only the blocking question separates them.
| Priority | Findings that belong here | Why |
|---|---|---|
| Fix now (this week) | Pages returning server errors; robots.txt or a noindex blocking pages that should rank; redirect loops; a hacked or malware-flagged site; a whole mobile template failing Core Web Vitals | These stop Google or your visitors outright. Every day they stay live, the affected pages earn nothing at all. |
| Fix soon (this month) | Duplicate titles on key pages; two pages targeting one query; thin or outdated money pages; orphan pages that should rank; redirect chains; missing alt text on product images | The pages work, but they underperform. Fixing these lifts what you already have instead of building something new. |
| Ignore for now | A handful of error pages on dead URLs with no links and no traffic; slightly long titles on low-traffic posts; one slow page nobody visits; ordinary low-quality links arriving on their own | Real, but tiny. Fixing them spends the same hours the first two bands need, and those hours decide whether the audit pays off. |
How long each phase takes
Audits balloon when there is no budget, so set one before you start. The estimates below are for one person working by hand with the free tools above: a small site means under 100 pages, and a medium site means 100 to 1,000 pages. Read them as planning figures built from the size of the checklists above, not as survey data about other people’s audits. A bigger site mostly costs more in the content phase, because every page needs a decision, while the technical phase grows slowly because the same templates repeat across pages.
| Phase | Small site (under 100 pages) | Medium site (100 to 1,000 pages) |
|---|---|---|
| Setup and baseline | 30 to 45 minutes | About 1 hour |
| Phase 1: Technical | 1 to 2 hours | 3 to 5 hours |
| Phase 2: On-page | About 1 hour | 2 to 3 hours |
| Phase 3: Content | 1 to 2 hours | 3 to 4 hours |
| Phase 4: Links | 30 to 60 minutes | 1 to 2 hours |
| Phase 5: Local (if relevant) | About 30 minutes | About 1 hour |
| Prioritise and write the plan | 30 to 45 minutes | About 1 hour |
| Total | Roughly 5 to 8 hours | Roughly 11 to 17 hours |
Turn the audit into a report and a routine
Write the findings up as a one-page plan, not a sixty-page tool export: each fix, its priority band, who owns it, and the baseline number it should move. If you report to a client or a manager, an SEO reporting tool that pulls Search Console and analytics data into one view makes the before and after easy to show. Then work the fix-now list, and after a few weeks re-run only the phase you fixed, to confirm the fix landed. Google’s guidance is to give changes a few weeks before judging them, so resist the urge to re-audit everything the next morning.
Set a rhythm after that: a light technical check each quarter, and a full audit after any redesign, migration, or traffic drop you cannot explain. The point of the whole exercise stays the same: get traffic to your website, and turn those visits into enquiries, sales, or sign-ups.
Audit mistakes that waste the budget
Fixing in the order the tool lists issues. Tools sort by category, not by impact. Your priority table, not the export, sets the order of work.
Chasing a perfect tool score. A score averages checks with wildly different weights. A site can score well and still have its most important pages blocked from Google.
Auditing once and framing the report. Pages change, links rot, and templates get edited by other people. An audit is a snapshot. The routine matters more than the document.
Removing pages on a hunch. Merge or delete only when the checklist gives you evidence: no impressions, no links, and a topic another page already owns. Redirect anything that ever earned a link or a visit.
The bottom line
A good website audit is a sorting exercise with a checklist attached. Run the five phases, give every check a pass or a fail, then spend your hours in the order the priority table sets: unblock first, strengthen second, polish last. Do that, and an audit stops being a report you file away and becomes the plan your next quarter of work follows.
Frequently asked questions
How long does a website audit take?
For a small site of under 100 pages, plan on roughly 5 to 8 hours in total, based on the per-phase budget in this guide: about 1 to 2 hours on technical checks and 1 to 2 on content, with the other phases under an hour each. A medium site of 100 to 1,000 pages runs to roughly 11 to 17 hours. The technical phase stays fast because templates repeat; the content phase takes longest because every page needs a decision.
Can you do a website audit with free tools only?
Yes. Google Search Console and PageSpeed Insights are free and come from Google itself. Screaming Frog’s crawler is free up to 500 URLs, which covers most small sites; a licence that removes the limit costs €245 per year, per Screaming Frog’s site. Paid audit platforms save time on very large sites, but they check the same fundamentals.
What is the difference between a website audit and an SEO audit?
An SEO audit asks whether search engines can find, crawl, and rank your pages. A website audit covers that, and also asks whether the pages work for the people who land on them: speed on a phone, working forms and contact routes, and business details that match across the web. Same foundation, wider questions.
How often should you audit your website?
Run a light technical check each quarter, and a full audit after any redesign, migration, or traffic drop you cannot explain. After fixing a phase, give the changes a few weeks before judging them in Search Console; Google’s own guidance is that changes can take from a few hours to several months to show in results.
My audit tool gave me 200 issues. Where do I start?
Sort before you fix. Anything blocking Google from reaching or indexing your pages goes in the fix-now band and gets done this week. Issues on pages that already earn traffic go in fix-soon. Everything cosmetic, or sitting on pages nobody visits, goes in ignore-for-now, however untidy it looks. The count of issues is not the problem; the order is.
Teams that outsource their dashboards can compare the best data visualization services companies by fit, tools and cost.
The content side deserves its own pass; our guide on what a content audit is breaks down that process.