What a website content audit is
Quick answer
A website content audit is a review of every page on a site, recorded one row per page in a spreadsheet, that ends with a decision for each page: keep, improve, merge, redirect, remove or monitor. On a small business site it takes an afternoon at 20 pages and a day at 40, with free tools: list the pages, add clicks and impressions from Search Console and views from Analytics, read each page for accuracy and a clear next step, then decide and work the list. The 15-column template in step 2 is the whole sheet.
Most guides to content audits are written for a marketing team managing thousands of pages, with a crawler, a paid SEO tool and a quarter to spend on it. This guide is for the owner of a site with a few dozen pages, most of them written once when the site launched and not read since. At that size the audit needs no crawler and no subscription. The hard part is not collecting the data; it is deciding what to do with each page and then doing it.
It is a different job from a general site review. The website audit checklist walks through the site the way a visitor does, checking speed, the first screen, the proof and the phone number. The content audit works from a spreadsheet: a number next to every page, then a judgment on whether the page is still true, useful and earning its place. An SEO content audit is the same sheet with the Search Console columns doing most of the deciding.
Why a small business site needs a content audit
Sites go stale quietly. A service is dropped but its page stays up, a price changes at the counter and not on the site, a post for a promotion that ended two years ago still ranks for its own name, and two pages written in different years answer the same question in different words. None of this arrives as a complaint. It arrives as a customer who calls to ask whether the price on the site is still right, or as one who does not call.
In Theo's audit of 5,974 small business websites, 48 percent of the 4,027 sites with search data got an estimated zero visitors a month from Google search. On a site like that, the audit is less about which pages to cut and more about which pages could be made to earn a visit: a service page that never names the service the way customers search for it, or a post with hundreds of impressions and a title that does not match them. The full report, including the limits of its sample, is The State of Small Business Websites 2026.
A content audit is due when any of these is true:
- A service, price, location, staff member or opening time has changed since the page was written.
- Two or more pages answer the same question, and neither is clearly the main one.
- Search Console shows pages with impressions but almost no clicks, or service pages with no impressions at all.
- A redesign or a move to a new platform is coming, and the new site needs a page list to build from.
- Nobody has read the whole site, start to finish, in the last year.
Who does a content audit on a small business site
On a large site a content audit involves writers, an SEO specialist, subject experts and a legal review. On a small business site it is one or two people, and the split matters more than the head count: the person who knows the numbers is rarely the person who knows which facts have changed.
| Who | What they do in the audit | Time |
|---|---|---|
| The owner | Sets the goal, makes the decision in every row, signs off on removals and redirects | About two hours across the afternoon |
| Whoever answers the phone | Fills the accuracy column (prices, hours, services, staff) and adds the questions customers ask that no page answers | One hour |
| Whoever writes the pages (the owner or a freelancer) | Works the improve and merge rows once the decisions are made | Two to four weeks after the audit |
| Theo | The free audit does the first read of the live site; on Starter, the search side of the list (new pages, technical fixes, Search Console submissions) is ongoing work | Continuous on Starter and Pro |
The tools you need, and what each one is for
Everything in the table is free; the last row is optional on a site under a few hundred pages. Set up the first two before the audit day: Search Console needs the domain verified, and Analytics needs its tag on the site, and neither shows anything for the day it was connected.
| Tool | What it gives the audit | Cost |
|---|---|---|
| Google Search Console | Clicks, impressions, average position and the top query for every page, from the Performance report | Free |
| Google Analytics | Views per page from every source, not only search, from the Pages and screens report | Free |
| The sitemap at yourdomain.com/sitemap.xml, plus the builder's page list | The inventory: every public address in one place | Free |
| A spreadsheet (Google Sheets, Excel or Numbers) | The template, the sort by decision and the to-do list | Free |
| Theo's free audit | An outside read of a live site: traffic and rankings, search health and specific fixes, with no login, at theo.site/audit | Free |
| A site crawler | Every address, title and link on the site in one export; useful past a few hundred pages | Not needed for 10 to 40 pages |
Step 1: Set the goal and list every page (30 minutes)
Write the goal at the top of the sheet before anything else, because the goal settles the close calls in step 5. For most small businesses it is one of three: more calls from search, pages that say something wrong, or pages competing with each other. Then build the inventory.
- Open the sitemap at yourdomain.com/sitemap.xml and copy every address into the URL column, one per row. Add anything the builder's page list shows that the sitemap missed: old landing pages, hidden pages, legal pages, every post.
- Search Google for site:yourdomain.com and add any address that appears there but not in the sheet. Those are pages Google still holds that you had forgotten about.
- Type the page type in the next column: home, service, service area, about, contact, post, landing, legal or other.
- Write the page's job in five words or fewer: get calls, book a class, explain a price, answer a question. A page whose job you cannot name is already a candidate for merge or remove.
- Add the last-updated date from the builder, or your best guess. A blank here is a finding on its own.
Step 2: The website content audit template (15 columns)
Fifteen columns, one row per page: four from the inventory, six from Search Console, Analytics and a site search, three from reading the page, and two from the decision and the to-do list. Copy the column names into the header row of a blank sheet, freeze that row, and set the Decision column to a dropdown with the six words so no row can end with anything else.
| Column | What to enter | Where it comes from |
|---|---|---|
| URL | The page address | Sitemap or page list |
| Page type | Home, service, service area, about, contact, post, landing, legal or other | Inventory |
| Job | The one thing the page is for, in five words or fewer | Inventory |
| Last updated | The date the page was last changed | Builder, or best guess |
| Clicks, 3 months | Visits from Google search to this page | Search Console, Performance, Pages tab |
| Impressions, 3 months | Times the page appeared in a Google result | Search Console, Performance, Pages tab |
| Average position | Average rank for the searches it appears in | Search Console, Performance, Pages tab |
| Top query | The search that shows the page most often | Search Console, click the page, then Queries |
| Views, 3 months | Page views from every source, not only search | Analytics, Pages and screens report |
| Links in | How many other pages on the site link to this one | Site search of the address |
| Next step | The button or link the page sends the visitor to | Read the page |
| Accurate | Yes, or what is wrong: price, service, hours, staff, address | Read the page |
| Score | 1 wrong or no next step, 2 accurate but thin, 3 strong, using the checks in step 4 | Read the page |
| Decision | Keep, improve, merge, redirect, remove or monitor | Step 5 |
| Notes and due date | What to change, who does it, by when | Step 6 |
Step 3: Fill in the numbers from Search Console and Analytics (one hour)
The numbers answer one question per page: does anyone see it. Use the same three-month window everywhere. Mixing a 28-day Search Console view with a 90-day Analytics view makes every comparison in the sheet wrong.
- Search Console: open Performance, set the date to the last three months, open the Pages tab, and copy clicks, impressions and average position for each address. Click a page, then Queries, to see the search that shows it most; that is the top query.
- Analytics: under Engagement, the Pages and screens report lists views per page. Set the date range by hand to the same three months; the default is shorter.
- Links in: search the site for the address in the builder's page search, or open each page and note which ones link to it; on a 20-page site this takes ten minutes and finds the pages nothing points to.
How to read the numbers in the sheet
Zeros are information. A service page with zero impressions is either not in Google's index or never names the service the way customers search for it; check indexing first with the guide to getting Google to index a site, then improve the page. A post with hundreds of impressions and no clicks has a title that does not match the search. The patterns below cover most rows on a small site; the decision column is a starting point to test against the read in step 4, not a verdict.
| What the row shows | What it usually means | Decision to test |
|---|---|---|
| Impressions in the hundreds, clicks near zero, position 8 to 20 | Google shows the page, and the title does not match what the searcher wanted | Improve: rewrite the title and the first screen around the top query |
| Zero impressions on a service page | The page is not in Google's index, or it never names the service the way customers search for it | Check indexing first, then improve |
| Clicks steady, position 1 to 5 | The page earns its place | Keep; touch only the facts |
| Two pages share the same top query | They split the visits and neither ranks as well as one would | Merge into the stronger page, redirect the other |
| Views in Analytics, no search clicks | Visitors arrive from ads, social, email or a link, not from Google | Keep if the page does its job; the gap is not a search problem |
| Position 30 or worse with a handful of impressions | Indexed, not competitive | Improve if the topic brings customers; monitor if not |
| Published inside the three-month window | Too new to judge | Monitor |
Step 4: Read each page and score it (five to ten minutes a page)
Numbers say whether a page is seen; reading says whether it deserves to be. Open each page on a phone, not a desktop, because that is how most customers meet it. Score 3 if every check passes, 2 if the page is accurate but thin, 1 if it fails on accuracy or has no next step. The guide to writing website copy is the fix for a page that scores 1 or 2.
- The first screen says what the page is about and who it is for, without scrolling.
- Every fact is current: services, prices, hours, address, staff names, the year in the footer.
- The page answers the question its top query asks. A page shown for "water heater cost" states a cost or a range.
- There is one clear next step, a phone number, booking link or form, and it works when tapped.
- Proof sits next to the claim: a review, a photo of the work, a license number.
- Nothing on the page repeats another page, every link goes somewhere current, and the title matches what the page says.
What to check on each page type
Each page type has one check that fails more often than the others. Look for that one first; it is where most of the score 1 and score 2 rows come from.
| Page type | Must have | The finding that comes up most |
|---|---|---|
| Home | What the business does, for whom and where, in the first screen; a phone or booking link | A slogan first and the service second |
| Service | What is included, a price or a range, proof, one next step | No price and no photo of the work |
| Service area | The town named, the services offered there, a local review or job | The same text with the town swapped |
| About | Who runs the business, credentials, current photos | A staff photo with someone who left |
| Contact | Phone, address, hours, a form that sends | Hours that changed a year ago |
| Post | One question answered, a link to the service page it supports | A promotion that ended, no link to a service |
| Legal | The current business name, address and what the site collects | Copied from another site with the wrong name |
Step 5: Decide what happens to each page
Every row ends with one word in the decision column. Two habits keep the audit honest: no row is left at "review later", and remove is the last choice, not the first. A page with zero clicks can still be the one a customer is sent after a phone call, or the only page that states a license number.
| Decision | Use it when | Example |
|---|---|---|
| Keep | Right topic and job, has a next step, numbers steady; at most a fact or a link to fix | A service page with a price range, two reviews and a working phone link |
| Improve | The topic still matters but the page is thin, stale or has no next step | A post with impressions and no clicks |
| Merge | Two or more pages answer the same question and split the visits | Three short posts about the same seasonal service, folded into one |
| Redirect | A newer or stronger page now covers the same topic | An old promotion page sent to the current specials page |
| Remove | No visits, no links in, no job, nothing worth keeping | A test page or a duplicate contact page |
| Monitor | Too new for numbers, or the numbers are moving | A page published in the last three months |
How to settle the close calls
Close calls follow the goal from step 1. If the goal is more calls from search, a thin page with impressions is improve, not remove. If the goal is accuracy, a page that is wrong and has no numbers is remove today, and rewrite later if anyone turns out to miss it. If the goal is pages competing with each other, every pair with the same top query is a merge, and the page with more links in and the better position is the one that survives.
When a page is merged or removed, redirect its old address to the page that replaces it. Most builders have a redirect setting, and each redirect is one line: the old path and the new one. A removed page with no redirect becomes a dead link on every page and every outside listing that pointed to it. On a move to Theo, the old addresses that still get traffic or carry links are redirected to the matching new pages once Search Console is connected.
Step 6: Turn the decisions into a to-do list (two to four weeks)
The audit is done when the changes are made, not when the sheet is full. Sort the sheet by the decision column, then work in this order. It puts the cheapest and most visible fixes first, so the site is more accurate by the end of the first day even if the rest slips.
| Order | Work | Who | When |
|---|---|---|---|
| 1 | Fix anything wrong: prices, services, hours, addresses, staff | Owner | Same day |
| 2 | Give every page a working next step: a phone link, a booking link or a form | Owner or builder | This week |
| 3 | Improve the pages with impressions but few clicks: title and first screen to match the top query | Whoever writes | Two pages a week for two to four weeks |
| 4 | Merge and redirect the duplicates, then link each post to the service page it is about | Owner, with the builder's redirect setting | Week three |
| 5 | Remove the leftovers, redirect their addresses, update the last-updated column | Owner | Week four |
| 6 | Pull the same Search Console report again and paste it into a second tab | Owner | Three months later |
How to work an improve row
The improve rows are where the time goes, and one pattern covers most of them. A page appears for a specific search, say "water heater cost", and opens with the company history. Rewrite the title so it uses the top query's own words, then rewrite the first screen so it answers that query within two sentences: a price range in the first line, what changes the price in the second, the phone link right after. Leave the history for lower down.
Change the title and the first screen together. A new title wins the click and the old first screen loses the visitor, so clicks rise and calls do not, and the row is no better three months later.
Worked example: a plumber's 20-page site, start to finish
The demo plumbing site Theo built shows the shape a service site's inventory usually takes: click-to-call in the header, service pages for repair, drains and water heaters, service-area pages by town, and reviews with license details. A 20-page plumbing site built on that shape would audit like this; the numbers are placeholders in the ranges a small local site sees, and ten of the twenty rows are shown.
| URL | Type | Clicks | Impressions | Position | Accurate | Score | Decision |
|---|---|---|---|---|---|---|---|
| / | Home | 41 | 1,900 | 6 | Yes | 3 | Keep |
| /water-heater-repair | Service | 14 | 620 | 9 | Yes | 2 | Improve: add a price range and two reviews |
| /drain-cleaning | Service | 22 | 800 | 7 | Yes | 3 | Keep |
| /plumbing-repair | Service | 9 | 410 | 11 | Yes | 2 | Improve: name the repairs and their price ranges |
| /plumber-in-springfield | Service area | 3 | 150 | 14 | Yes | 2 | Improve: the town's own jobs and a local review |
| /about-us | About | 6 | 90 | 12 | No, old staff photo | 1 | Keep, swap the photo |
| /blog/spring-2024-special | Post | 0 | 3 | 48 | No, offer ended | 1 | Redirect to /specials |
| /blog/why-is-my-water-heater-leaking | Post | 18 | 900 | 5 | Yes | 3 | Keep, link to /water-heater-repair |
| /blog/water-heater-leaking-what-to-do | Post | 4 | 300 | 15 | Yes | 2 | Merge into the leaking post, redirect |
| /contact-2 | Contact | 0 | 0 | None | Duplicate | 1 | Remove, redirect to /contact |

What the finished sheet says
Across all twenty rows the decisions come out at ten keep, four improve, two merge, one redirect, two remove and one monitor, which is the usual shape on a small site: most pages stay, a few get real work, and the removes are test pages and duplicates rather than anything a customer uses. The two merges are the second leaking-water-heater post and a post about a new van that belongs on the about page.
The to-do list that falls out of it is short. Same day: swap the staff photo and point the ended promotion at the specials page. Next two weeks: a price range and two reviews on the water heater page, named repairs on the repair page, and each town page rewritten with its own jobs. Week three: fold the two leaking posts into one and redirect the weaker, move the van post into the about page. Week four: remove the duplicate contact page and the test page, with redirects. Three months later: the same Search Console report on a second tab.
What the numbers look like when new pages follow
The numbers below come from the growth work publishing new pages after a move, not from this spreadsheet. Buy My Lunch, a school lunch ordering service, moved its site to Theo in June 2026, and the growth work published pages from there. In the site's own Search Console data through September 27, 2026, it had 929 clicks from Google search in the last 90 days, up from 131 in the 90 days before; impressions rose from 7,500 to 61,700 over the same two periods; and average position moved from 13 to 8 as the pages went out.
Two things in that pattern apply to any small site. Impressions usually move before clicks, so a page that gains impressions in the first month after an improve is on the right track even while clicks lag. And a site usually gains position as it gains pages that answer specific questions, which is why the merge decision (fewer, stronger pages) and the new-page work belong in the same plan rather than in two.

Common content audit mistakes and the fix for each
These are the ways a small-site audit goes wrong, in the order they usually happen.
| Mistake | What happens | Fix |
|---|---|---|
| Auditing only the blog | The service pages, where the calls come from, stay wrong | Every public page goes in the sheet, legal pages included |
| Deleting posts because they are old | Pages that still earn impressions disappear and their addresses die | Decide by the numbers and the job, never the date; redirect anything removed |
| Leaving rows at "review later" | The sheet becomes a list of pages nobody decided on | Six words in the dropdown and no seventh |
| Different date windows in Search Console and Analytics | A page looks strong in one column and weak in the next | Three months in both, written in the sheet's title |
| Running the audit before Search Console has data | Every number column is blank and the decisions come from guesswork | Read and score now; add the numbers after three months |
| Treating zero clicks as worthless | The license page, the page a customer is sent after a call and the legal pages get removed | Zero clicks plus a job is keep |
| Rewriting the title and leaving the first screen | The click arrives and leaves | Title and first screen change together |
| Removing pages without a redirect | Dead links on the site and in outside listings | One redirect per removed address, tested the same day |
| Doing it once | The site is stale again in two years | Full audit yearly, top pages quarterly |
How often to run a website content audit
A full audit once a year is enough for a small site, with a short pass each quarter and a targeted pass after any change to the business. The guide to how often to update a website covers the weekly and monthly upkeep that sits around it.
| When | What to review | Time |
|---|---|---|
| Every quarter | The ten most visited pages: accuracy, next step, title | 20 minutes |
| Every year | Every page, the full template | An afternoon at 20 pages, a day at 40 |
| After a change to the business | Every page that mentions the changed service, price, person or location | Until all are found |
| After a redesign or a move | The old addresses that got traffic or carried links: does each one redirect to the matching new page | An hour |
Frequently asked questions
What is a website content audit?
A page-by-page review of a site, recorded in a spreadsheet, that ends with one decision for each page: keep, improve, merge, redirect, remove or monitor. It pairs numbers from Search Console and Analytics with a read of each page for accuracy and a clear next step. On a small site it needs no paid tool.
How do you do a content audit, step by step?
Set the goal and list every page from the sitemap; copy the template's 15 columns into a sheet; fill in clicks, impressions, position and views for the last three months; read each page on a phone and score it; give every row one of six decisions; then work the list in order, wrong facts first. Re-check the numbers three months later on a second tab.
How long does a content audit take for a small business site?
An afternoon for a 20-page site, a day at 40 pages. The inventory takes about 30 minutes, the numbers about an hour, and reading and scoring five to ten minutes a page. The changes that follow usually run over two to four weeks.
What is a content audit template, and what columns does it need?
A content audit template is the header row of the spreadsheet: one column for each thing you record about a page. The 15 columns in step 2 are the address, page type, job and last-updated date; clicks, impressions, position, top query, views and links in; then next step, accuracy, score, decision and notes. Copy them into a blank sheet and add one row per page.
How often should you do a website content audit?
Once a year in full, plus a 20-minute pass over the ten most visited pages each quarter. Run a targeted pass whenever a price, service, person or location changes, checking every page that mentions it. After a redesign or a move, check that the old addresses which got traffic redirect to the matching new pages.
Should old blog posts be deleted after a content audit?
Not because they are old. Improve a post when the topic still matters, merge it when several overlap, redirect it when a stronger page now answers the same question. Remove it only when it has no visits, no links in and no job, and redirect its address when you do.
Does a content audit help a site rank on Google?
In three ways: pages that say the same thing stop splitting the visits between them, pages with impressions but no clicks get titles that match the search, and posts get links to the service pages they support. No audit promises a ranking; it removes the reasons a page is passed over. The numbers that show it worked are impressions first, then clicks, on the improved pages three months later.
How much does a content audit cost?
Done yourself with Search Console, Analytics and a spreadsheet, nothing but the afternoon. An agency audit is a one-time project fee or part of a monthly retainer, and the number depends on the site's size. Theo's free audit reads a live site with no login, and on Starter, $69.99 a month and free for the first 30 days, the ongoing search work the audit points to is part of the plan.
A website content audit, then the work it points to
Theo's free audit is the outside read of a live site before the inside one: traffic and rankings, search health and specific fixes, with no login. Once the sheet is decided, the improve rows on a Theo site are chat messages: the owner types the change in plain English, a new price range on the water heater page or a review under the drain page, and Theo makes it. On Starter, $69.99 a month and free for the first 30 days, the search side of the list is ongoing work: keyword research, new pages and posts, technical fixes, Search Console submissions and tracking, visible in the Growth tab and the weekly report. Run the free audit on your site.
More like this in the guides and under building a small business website. The numbers behind it are in Theo's research.
