Kacper Rafalski  SEO · GEO · AEO
Content audit

Content audit services
that end in decisions.

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

What is a content audit?

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 it’s worth doing

  • The blog has hundreds of posts, and a few dozen bring the traffic
  • Two or three pages show up for the same keyword and none of them wins
  • Traffic has been sliding for months with no single clear event
  • You’re planning a migration or redesign and don’t want to carry dead weight
  • Several teams and agencies wrote content, and nobody has the full picture

Scope

What I check for every page

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.

01

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.

02

Visibility and trend

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.

03

Cannibalization

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.

04

Business value

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.

05

External links

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.

06

Quality and freshness

Outdated data, old screenshots, no author, numbers without sources – the things that decide between “update” and “rewrite.”

How I work

From inventory to sign-off

  1. 01

    Scope and section goals

    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.

  2. 02

    Inventory and data

    I collect every URL and the data for each. Whatever is missing gets written down right away – missing data isn’t zero traffic.

  3. 03

    Proposed decisions

    Each URL gets a proposal, a reason, and a confidence level. Irreversible decisions are flagged for human review.

  4. 04

    Review with you

    We go through the uncertain cases together: pages to merge, remove, or redirect. You know context the data doesn’t have.

  5. 05

    Implementation and sign-off

    Your editors implement, and a recrawl checks every decision: the redirect works, the removed page returns 410, internal links are updated.

Results in numbers

Decisions by site section

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.

Decisions by section (% of pages)Illustrative
  • Keep
  • Update
  • Merge + 301
  • Remove 410

Pages with traffic

+18 pp

Cannibalizing pairs

−71%

Illustrative example – it shows the report format, not a specific client’s data.

What you get

A decision sheet, not a list of remarks

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.

Sample row

Two posts for the same keyword

URL
/blog/how-to-choose-a-crm-2019
Observation
Most impressions come from queries a newer CRM post also ranks for
Decision
Merge into /blog/how-to-choose-a-crm, move the current sections, 301
Confidence
Medium – needs a check of both pages’ intent
Sign-off
The old URL returns 301 to the new one, the new one returns 200, no internal links point to the old one

Illustrative example – it shows the format, not a specific client’s data.

Honestly

What a content audit won’t do

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

What drives the cost

There are two shapes: a review of one section, or a full inventory of the site. Four things affect the price:

  1. Number of URLs

    A hundred posts is different work from several thousand pages across several sections.

  2. Data access

    Search Console and analytics via API speed things up; without them, confidence drops.

  3. Languages

    Each language is its own inventory and its own cannibalization check – pages don’t compete across languages.

  4. Implementation support

    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.

Frequently asked questions

How is a content audit different from an SEO audit?

An 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.

Does deleting old posts improve SEO?

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.

How do you find keyword cannibalization?

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.

How often should you run a content audit, and how long does it take?

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.

What data do you collect for each URL?

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.

What does the confidence level on a decision mean?

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.

How do you measure the results of a content audit?

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.

What about content that brings traffic but doesn’t convert?

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.

Do you implement the decisions in the CMS?

Implementation stays with your editors. I prepare the decision sheet and the redirect map, answer questions, and verify the result with a recrawl.

Let’s see which pages
actually work.

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