Full inventory
URLs from the crawl, the sitemap, the CMS, Search Console, and external links. Pages missing from every menu often have the most to tell.
Blogs grow for years, and so do pages that compete for the same keywords, went stale long ago, or never had traffic. I go through every URL and propose one decision for each – based on data, with a confidence level and a test a crawler can run after the change ships.
In short
A content audit is an inventory of every content page – usually the blog, guides, and resources – with a decision for each URL: keep as is, update, rewrite, merge with another page, redirect, or remove. Decisions are based on traffic, keywords, links, and conversions, not on the publish date.
When to start with something else
If the site has indexing problems, start with an SEO audit – a page Google can’t see couldn’t have had traffic, so content data would mislead. And if you have a few dozen content pages, a single-section review is enough.
Scope
The spreadsheet has a row per URL, but recommendations cover groups: if most of a section shares the same fate, that’s one decision, not two hundred.
URLs from the crawl, the sitemap, the CMS, Search Console, and external links. Pages missing from every menu often have the most to tell.
Clicks, impressions, and positions over 12 months, plus the last six months against the previous six – to tell a dead page from one that’s losing ground right now.
Pairs of pages that share the same queries, from query × page data. I filter out branded queries and cases where both pages rank in the top 3 – that’s a good result, not a problem.
Conversions from analytics and the role of each section: a service page with no visibility gets rewritten; a post with no visibility and no links can go.
A page with links from other sites never disappears without a redirect. The 301 map points to the closest page by topic, never to the homepage by default.
Outdated data, old screenshots, no author, numbers without sources – the things that decide between “update” and “rewrite.”
How I work
We agree which sections are in scope, what they’re for, and what they’re worth to the business. Without that, every decision is a guess.
I collect every URL and the data for each. Whatever is missing gets written down right away – missing data isn’t zero traffic.
Each URL gets a proposal, a reason, and a confidence level. Irreversible decisions are flagged for human review.
We go through the uncertain cases together: pages to merge, remove, or redirect. You know context the data doesn’t have.
Your editors implement, and a recrawl checks every decision: the redirect works, the removed page returns 410, internal links are updated.
Results in numbers
The report shows decisions in aggregate, section by section – you see right away where most of the work is, and whether a section shares one fate for nearly every page.
Below, two indicators I check after implementation: the share of pages that bring traffic, and the number of page pairs competing for the same queries.
Pages with traffic
+18 pp
Cannibalizing pairs
−71%
Illustrative example – it shows the report format, not a specific client’s data.
What you get
Every row is one URL with a decision, a reason, a confidence level, and an acceptance criterion. Plus a report with decision groups and a redirect map ready to upload.
Illustrative example – it shows the format, not a specific client’s data.
Honestly
Decisions certain
For pages with clear data – lots of traffic, or no traffic, links, or conversions for a year – the decision is simple and marked as high confidence.
Intent needs review
Whether two pages answer the same question is decided by a person who reads both. Data shows where to look; it doesn’t replace reading.
New content out of scope
The audit decides what to do with what exists. What to publish next is content strategy – a separate service, often ordered together.
Removing pages is irreversible, so when I’m not sure, the page stays and I write down what’s missing for a decision.
Pricing
There are two shapes: a review of one section, or a full inventory of the site. Four things affect the price:
A hundred posts is different work from several thousand pages across several sections.
Search Console and analytics via API speed things up; without them, confidence drops.
Each language is its own inventory and its own cannibalization check – pages don’t compete across languages.
The sheet and report only, or also a review with your editors and a recrawl sign-off.
After a short call, I send a proposal with scope, timeline, and price – before any work starts.
Technical health, content, links, and AI readiness – findings grouped by root cause, prioritized by business value, each with an acceptance criterion.
MoreMigrationA new platform, domain, or structure without losing traffic: a baseline, a 301 map, and checks before and after the switch.
MoreContentWhat to publish next: a topic map, intent per page, the gap against competitors, and internal linking that builds authority.
MoreAn SEO audit asks whether the site is technically healthy and why it doesn’t rank – the unit is a root cause in a template. A content audit asks what to do with each existing page – the unit is a URL. Developers implement an SEO audit; editors implement a content audit.
Sometimes, but deleting isn’t the goal. A post with no traffic, links, or conversions for a year can usually be removed or merged. A post with external links never disappears without a redirect. And a post that’s losing traffic more often needs an update than removal.
From Search Console query × page data: I look for pairs of pages that share queries, where the weaker page gets most of its visibility from the stronger page’s queries. I filter out branded queries and cases where both pages rank in the top 3. The final call is made by a person who reads both pages.
A full inventory every year or two, section reviews more often – especially after major Google updates or when the blog is growing fast. A single-section review usually takes 8–14 hours of work. A full inventory depends on the number of URLs, sections, and languages, so I give a timeline after a first look at the site.
From Search Console: clicks, impressions, CTR, and position over 12 months, the last six months against the previous six, and query × page data for cannibalization. From analytics: organic sessions and conversions. From a link tool: referring domains. From the crawl and the CMS: status, indexability, and publish and edit dates. Any missing source lowers the confidence of a decision, and the report says so.
High: the data is clear-cut, for example no traffic, links, or conversions for a year. Medium: the data points one way but needs context, such as the intent of two similar pages. Low or missing data: the decision waits for human review. Every irreversible decision – remove, merge, redirect – is flagged for review regardless of confidence.
First, a recrawl checks that decisions shipped: redirects work, removed pages return 410, internal links are updated. Then I compare Search Console data for the changed pages before the change and after Google recrawls them – usually over a window of a few weeks.
It depends on the section’s role. An educational post that attracts the right people has value even if it doesn’t convert right away. A post that attracts traffic outside your audience can stay, but it doesn’t get priority in updates.
Implementation stays with your editors. I prepare the decision sheet and the redirect map, answer questions, and verify the result with a recrawl.
Tell me how many pages your blog has and what’s happening with traffic. I reply within one business day.
Ask about a content audit