A B2B SaaS content audit checklist only works if every post ends with a number and a verdict. Score each post on five factors, add the points, and let the total decide between keep, update, merge or delete. A post with little traffic but strong backlinks gets updated or redirected. It does not get deleted.
This holds for a blog of roughly 100 or more posts where you have six to twelve months of Search Console and GA4 data to score against.
The thresholds below are starting defaults, so calibrate them against your own site's median click-through rate and traffic before acting on a low score, and never delete a post without checking its backlinks and internal links first.
If your blog is past 100 posts and nobody has the hours to score it, our content audit service does the scoring for you. See how the Content Refresh service works.
Table of Contents
- What A Content Audit Checklist Is, And Where It Stops
- Before You Score: Set The Goal And Build The Inventory
- The Content Audit Checklist Template For B2B SaaS Blogs
- Factor 1: SEO Performance And Intent Match
- Factor 2: AI And Zero-Click Visibility
- Factor 3: Content Quality And Freshness
- Factor 4: Topical Authority, Cannibalisation And Backlinks
- Factor 5: Strategic Fit And Conversion
- From Score To Verdict: Keep, Update, Merge Or Delete
- Worked Example: Scoring Three Posts
- The Copy-Ready Audit Sheet
- Who Should Run The Audit: In-House Or A Consultant?
- How Often Should You Re-Audit Your Blog?
- How To Measure Whether The Audit Worked
- Content Audit Mistakes That Cost Rankings
- FAQs
What A Content Audit Checklist Is, And Where It Stops
Most blog audits fail because they end in opinions. One person says a post feels stale, another says it still gets traffic, and nothing gets decided. A score ends that argument.
Definition. A content audit checklist is a structured set of criteria for evaluating existing blog posts across performance, quality, relevance and search visibility, and it outputs one verdict per post.
Run it for four reasons.
- It surfaces the posts that drag down the average for the whole blog.
- It shows which posts need an update because search intent or product messaging has moved on.
- It finds thin posts that would be stronger merged into one.
- It makes your cluster structure visible, so orphaned posts get found.
This page scores posts and nothing else. If you want the process of running an audit from first export to final redirect, read our step-by-step content audit method. Crawlability, indexing and site speed belong to a different job, which is technical SEO and AI readiness work. Keep the two apart and the checklist stays short enough to finish.
Before You Score: Set The Goal And Build The Inventory
Scores mean nothing until you know what the audit is for. Pick one goal before you open a spreadsheet. Traffic recovery, pipeline from the blog and citations in AI answers all push different posts to the top of the update list, and a post that is a Keep for one goal can be a Delete for another.
Then build the inventory. For every post, record these fields.
- URL and title: The two keys everything else hangs on.
- Meta description: Needed later when you rewrite a title and opening.
- Publish and update dates: Freshness is a scored factor.
- Word count: Thin posts are flagged by length.
- Target keyword: The query the post is meant to win.
- Search intent: What the searcher expects to find.
Export a 6 to 12 month lookback from Search Console and GA4 so seasonality does not distort the scores. You cannot go further back than the tool allows. Search Console keeps data for the last 16 months, and Google's Analytics help page notes that reports built on linked Search Console data cover at most 16 months. A single month of data is never enough, and anything beyond a year is mostly history.
Last, give every URL an owner, a deadline and a success metric. A usable audit assigns all three. Without them, the sheet becomes a list of good intentions that nobody owns.
The Content Audit Checklist Template For B2B SaaS Blogs
The template scores five factors, SEO Performance, AI Visibility, Content Quality, Topical Authority and Strategic Fit, at 0, 1 or 2 points each, for a total between 0 and 10 per post.
These triggers are TRM defaults to tune against your own data. They are not industry standards, and no one should present them as findings. Change a trigger if your site's numbers say it is wrong, then keep it fixed for the whole audit so posts are scored on the same ruler.
| Factor | What To Check | Where To Find It | Score 2 | Score 1 | Score 0 |
|---|---|---|---|---|---|
| SEO Performance | Click trend over the lookback, average position and click-through rate against the site median for that position band | Search Console Performance report, GA4 landing page report | Clicks flat or rising against the previous equal period, and CTR at least half the site median for its position band | Clicks down more than 25%, or average position 11 to 20 | Clicks down more than 50%, or average position beyond 20 |
| AI Visibility | Whether the post holds a featured snippet or is cited in an AI answer, and whether it opens with a direct answer | Manual search and AI answer check on the target query, the post itself | Holds the featured snippet or is cited in an AI answer for its target query, and opens with a direct answer | Direct answer present, but no snippet or citation yet | No direct answer, or no structure a summary could quote |
| Content Quality | Age of statistics, accuracy of facts and screenshots, word count, broken links | The post itself, a link checker, the inventory | Every statistic under 12 months old, facts and screenshots current | Some statistics 12 to 18 months old | Statistics over 18 months old, broken or obsolete facts, or under 500 words |
| Topical Authority | Competing URLs for the same query, internal links to and from the cluster, backlinks | Search Console query filter, internal link report, backlink tool | No competing URL for the query, linked to and from its cluster | Partial cluster links, or an orphan that has backlinks | Competes with another post and is orphaned |
| Strategic Fit | Buyer journey stage, CTA, conversions, relevance to the current product and audience | GA4 conversions, CRM, the post itself | Core topic with a relevant CTA and conversions | Adjacent topic, or a weak CTA | Off-ICP, or no role in the buyer journey |
Score each post in that order. The next five sections explain how to read each factor from your data, and the verdict table further down turns the total into an action.
Factor 1: SEO Performance And Intent Match
Factor 1 asks one question. Is this post still earning clicks from the queries it ranks for? Pull the click trend over your lookback from Search Console, then read average position and engagement beside it. Bounce rate, time on page and conversions in GA4 should be tested before any removal decision. A post with weak traffic and strong conversions is a very different animal from a post with weak traffic and nothing else.
The gap most checklists miss is the intent-mismatch test. The rule is that a post at average position 1 to 10 whose click-through rate is below half the site median for that position band has an intent or zero-click mismatch, so update its title, meta description and opening, and do not delete it. The formula is clicks divided by impressions, compared with the median for the same position band across your own blog.
Here is an illustrative example, not real client data. A post sits at average position 9 with 20,000 impressions and 10 clicks.
- Its CTR: 10 divided by 20,000 is 0.05%.
- The band median: Suppose your export shows a median of 1.2% for posts at positions 8 to 10.
- Half the median: 0.6%.
- The result: 0.05% is far below 0.6%, so the post is ranking and being ignored.
That post does not need deleting. It needs a title and opening that match what the searcher wants, and probably a direct answer near the top. Run the test on your own export like this.
- Export clicks, impressions, CTR and average position per URL for a 6 to 12 month lookback.
- Group URLs into position bands, such as 1 to 3, 4 to 7 and 8 to 10.
- Take the median CTR of each band across the whole blog.
- Flag every post at position 1 to 10 whose CTR is under half its band median.
- Check bounce rate, time on page and conversions before you change anything.
For a reference point on typical click-through rates, our B2B SaaS benchmarks post lists median CTRs by intent. Your own blog's median still beats any outside number. If you would rather automate the data pull, audit reports from GA4 and Search Console cover most of it.
Score 2 when clicks are flat or rising and CTR clears the half-median line. Score 1 when clicks are down more than 25% or the post sits at position 11 to 20. Score 0 when clicks are down more than 50% or the average position is beyond 20.
Factor 2: AI And Zero-Click Visibility
Visibility no longer means clicks. SparkToro's 2024 study found that 58.5% of US Google searches and 59.7% of EU Google searches end with no click, using Datos clickstream data from September 2022 to May 2024. For scoring, that means a click decline is not automatically content decay. A post can lose clicks because the answer now sits on the results page, while its content is perfectly healthy.
Rand Fishkin put the shift bluntly with "Google doesn't need your traffic to give users answers anymore." That is a prompt to make your posts quotable, and it starts with checking which ones can be quoted at all.
Factor 2 scores whether a passage can be lifted into a snippet or an AI answer. Look for a direct answer under the heading, lists and tables where the content is a list or a comparison, FAQs or schema where they fit the page, and an author and citations as trust signals. Structure helps a passage get quoted. It does not guarantee a citation, and no checklist should claim otherwise.
A post scores 0 when you see these symptoms.
- No direct answer: The paragraph under each heading wanders before it says anything.
- Nothing to quote: No short lists, tables or definitions a summary could lift whole.
- No trust signals: No author, no sources, no named experts.
- Missing from the results: The post does not hold the snippet or appear in the AI answer for its own target query.
Score 2 when the post holds the featured snippet or is cited in an AI answer for its target query and opens with a direct answer. Score 1 when the direct answer is there but no snippet or citation has followed yet.
Three posts go deeper on the fixes. Start with how to find zero-click queries in your own data. Then see how to write AEO-ready blog posts for a post that scores 0. For background on what a citation means, read about AI search visibility. If the whole blog scores low here, our answer engine optimization service covers snippet and AI-answer readiness.
Factor 3: Content Quality And Freshness
Quality is the easiest factor to score because most of it can be flagged with a number. Three flags matter, and each one triggers a specific action.
- Under 500 words: The post is thin, so it is an Update candidate, or a Merge candidate if a stronger post covers the same query.
- Statistics older than 18 months: The post needs a refresh, so it is an Update.
- Broken or obsolete facts: Dead links, screenshots of a UI you no longer have, or features you have sunset. Fix and Update, or Delete or redirect when the whole premise is obsolete.
Statistics under 12 months old are what a post needs for the top score. Between 12 and 18 months scores 1. A freshness flag leads to Update. Only an obsolete premise leads to Delete or a redirect, so do not retire a useful post because one number has aged.
Credibility is the second half of this factor. Check that the post has a named author with a bio that shows relevant experience, and that its claims point to sources a reader can open. Add expert commentary, customer quotes or first-party data where you have them. A line as small as "Reviewed by the Head of Product" lifts a post that would otherwise read as anonymous.
Readability finishes the job. Short paragraphs, descriptive headings, no unexplained jargon, and lists where the content is a list. Tools like Hemingway or Grammarly catch complexity, but a human read catches whether each paragraph could stand as a standalone answer. If it cannot, a summariser will not quote it, and a skimming buyer will not either.
Factor 4: Topical Authority, Cannibalisation And Backlinks
Factor 4 is where audits protect the most value and lose the most. It scores three things together. Does the post sit inside a cluster, linked to and from its pillar page. Does another of your posts compete with it for the same query. And does it have backlinks.
Cluster fit is simple to check. An orphan, a post with no internal links in or out, is far less likely to hold its rankings, and the fix is contextual links with descriptive anchor text. Do not delete an orphan before you have tried linking it.
Cannibalisation needs a query-level test. Cannibalisation shows in Search Console as several of your URLs ranking for the same query. Check it in five steps.
- Open Search Console and filter the Performance report by the target query of one post.
- Switch to the Pages tab and note every URL that earns impressions for that query.
- Mark the URL with the strongest clicks, position and backlinks as the stronger URL.
- Merge the useful content from the weaker URLs into the stronger one, then redirect the weaker URLs to it.
- Where both URLs earn clicks for different intents, keep both and differentiate their focus instead.
The rule in one line is to merge into the stronger URL and redirect the others, unless both earn clicks for different intents, in which case differentiate them.
Backlinks protect a post. A low-scoring post with referring domains gets redirected or updated, never simply deleted, because the links are the part of the post you cannot rebuild by writing a new one. If you want one account for both checks, Semrush shows which of your URLs rank for the same keyword and how many referring domains each post has, which covers the cannibalisation and backlink columns of the sheet.
Score 2 when no competing URL exists and the post is linked to and from its cluster. Score 1 for partial cluster links, or an orphan that has backlinks. Score 0 when the post competes with another and is orphaned. For the merge and redirect mechanics, use our content pruning guide.
Factor 5: Strategic Fit And Conversion
A post that brings thousands of visits and no conversions may not be helping the business at all. Factor 5 asks whether each post has a job.
Place each post in the buyer journey first, as top of funnel, middle of funnel or bottom of funnel. Many SaaS blogs over-index on top of funnel guides that draw traffic and never convert. Then check the CTA and the conversions. A bottom of funnel post with no clear call to action is leaving money on the table, and a generic "Contact Us" rarely works as well as a CTA written for the topic.
Then check relevance to your current product and audience. Legacy posts linger long after the product or ICP has moved on. Finally, check unique value. Does the post carry original data, a framework, or first-hand insight, or does it say what ten other SaaS blogs already say? Posts that repeat consensus are the ones least likely to earn a citation.
The three outcomes are simple.
- Score 2: Core topic with a relevant CTA and conversions. Keep it and protect the CTA.
- Score 1: Adjacent topic, or a weak CTA. Update the angle or the CTA.
- Score 0: Off-ICP, or no role in the buyer journey. Delete candidate, unless backlinks say redirect.
A high-traffic post with no conversions is an Update for the CTA, not a Delete. An off-ICP post with no role is the Delete candidate. When you are unsure how a post fits the wider plan, our guide to content marketing practices for B2B SaaS sets the context. If the audit shows a strategy gap rather than a few weak posts, our SaaS content marketing programme is built for that.
From Score To Verdict: Keep, Update, Merge Or Delete
Scores of 8 to 10 mean Keep, 5 to 7 mean Update, 3 to 4 mean Update or Merge where Factor 4 scored 0, and 0 to 2 mean Delete or redirect where the post has referring domains, with three overrides that beat the total.
| Total Score | Verdict | Condition |
|---|---|---|
| 8 to 10 | Keep | Monitor the post and protect what works |
| 5 to 7 | Update | Fix the factors that scored 0 or 1 |
| 3 to 4 | Update or Merge | Merge when Factor 4 scored 0, otherwise update |
| 0 to 2 | Delete or Redirect | Redirect when the post has referring domains, delete only when it has none |
Three overrides beat the total. Apply them before you write the verdict.
- Backlinks mean redirect, not delete: A post with referring domains is redirected to the closest relevant page or updated, whatever it scored.
- A cannibalisation flag means Merge: Merge the post into the stronger URL and redirect the weaker one.
- An intent-mismatch flag means Update: Rewrite the title, meta description and opening, even if the total looks healthy.
Before you remove or redirect anything, estimate the search visibility you would lose. A page redirected to a weaker page can lose more than it frees. Test bounce rate, time on page and conversions first, and review the click trend for the URL and its queries in Search Console.
Then set the order of work. On a large blog, prioritise by effort against impact, and do the quick, high-impact updates first. A title and opening rewrite on a post sitting at position 9 comes before a full rewrite of a post at position 40.
Worked Example: Scoring Three Posts
The three posts below are illustrative. The figures are not TRM client data, and nothing here promises a ranking or traffic outcome. They show how the factor scores, the total and the overrides combine.
| Post | SEO Performance | AI Visibility | Content Quality | Topical Authority | Strategic Fit | Total | Verdict |
|---|---|---|---|---|---|---|---|
| Example 1, ranks but gets no clicks | 1 | 1 | 1 | 2 | 2 | 7 | Update |
| Example 2, thin and outdated with backlinks | 0 | 0 | 0 | 1 | 1 | 2 | Redirect |
| Example 3, the weaker of two overlapping posts | 1 | 1 | 1 | 0 | 2 | 5 | Merge |
Example 1, The Post That Ranks But Gets No Clicks
This post is an Update with a total of 7. It sits at position 9 with 20,000 impressions and 10 clicks, a CTR of 0.05%, which is far below half the band median, so the intent-mismatch override applies. SEO Performance scores 1 because clicks are down 30% on the previous period. AI Visibility scores 1 because a direct answer exists but no snippet or citation has followed. Content Quality scores 1 because some statistics are 12 to 18 months old. Topical Authority scores 2 and Strategic Fit scores 2. The action is a new title, meta description and opening, then a statistics refresh.
Example 2, The Thin Outdated Post With Backlinks
This post is a redirect with a total of 2. It has no conversions, under 500 words and statistics older than 18 months. SEO Performance scores 0 because clicks are down more than 50%. AI Visibility scores 0 because there is no direct answer. Content Quality scores 0 on all three flags. Topical Authority scores 1 because it is an orphan with backlinks, and Strategic Fit scores 1 because the topic is adjacent with a weak CTA. The total says Delete, but the backlinks override says redirect, so the post is redirected to the closest relevant page and the links keep working.
Example 3, Two Posts Targeting The Same Query
The weaker of the two posts is a Merge with a total of 5. Its SEO Performance scores 1 because it sits at position 14. AI Visibility scores 1, Content Quality scores 1 and Strategic Fit scores 2. Topical Authority scores 0 because the post competes with another URL and is orphaned. The 5 total alone says Update, but the cannibalisation override says Merge into the stronger URL, so the useful content moves across and the weaker URL redirects.
The Copy-Ready Audit Sheet
The sheet holds one row per post, with these columns, and the total and verdict columns are computed by formula from the factor scores and the flags. Paste the layout into a spreadsheet and fill it from your Search Console and GA4 exports.
| Column | What It Holds |
|---|---|
| URL | The post's address, the key for every row |
| Title | The current page title |
| Publish Date | When the post first went live |
| Last Updated | The most recent substantive update |
| Target Keyword | The query the post is meant to win |
| Intent | What the searcher expects to find |
| Clicks Current And Previous | Clicks for the lookback period and for the equal period before it |
| Impressions | Impressions for the lookback period |
| Average Position | Average position for the lookback period |
| CTR | Clicks divided by impressions |
| Factor 1 To Factor 5 Scores | One column per factor, each scored 0, 1 or 2 |
| Total | The sum of the five factor scores, 0 to 10 |
| Flags | Intent mismatch, cannibalises another post, has backlinks |
| Verdict | The band from the total, then the three overrides applied from the flags |
| Owner | The person accountable for the action |
| Deadline | The date the action is due |
| Success Metric | The number that shows the action worked |
The Total column is a simple sum. The Verdict column reads the total against the four bands, then checks the three flags in order, so a backlinks flag turns a Delete into a redirect, a cannibalisation flag turns an Update into a Merge, and an intent-mismatch flag forces an Update. If you would rather use a tool than a spreadsheet, see our look at AI content audit software.
Who Should Run The Audit: In-House Or A Consultant?
Run it in-house when a senior content person owns both the data and the verdicts and has the tooling to pull Search Console, GA4 and backlink data. Bring in outside help when nobody has the time, or when you want a verdict from someone with no attachment to the old posts. Neither choice changes the template. It changes who fills it in and who signs off the deletions.
| Situation | Better Choice |
|---|---|
| A senior owner and the tooling already exist | In-house |
| Nobody has the capacity to score 100 or more posts | Outside help |
| You want an unbiased view of your own posts | Outside help |
| The audit is a one-off and the team knows the content well | In-house |
If you are weighing the buy decision, read how to hire a content audit consultant. Our content audit services run the same five-factor score for you.
If you would rather not own a quarterly audit, the GEO + SEO Growth Programme builds it into ongoing reporting. Send us your post count and we will tell you what we would fix first.
How Often Should You Re-Audit Your Blog?
A blog publishing 50 or more posts a year suits a quarterly audit, and a smaller blog suits a twice-yearly audit with monthly spot checks on its top traffic URLs.
Some events call for an audit outside the schedule.
- A product repositioning: Posts written for the old product turn into liabilities overnight.
- A sudden traffic drop: Find out whether it is decay, a zero-click shift or a cannibalisation problem before you react.
- Lost citations in AI answers: If your posts stop appearing in answers they used to appear in, re-score Factor 2 first.
Do not turn the audit into a fixed ritual that nobody believes in. A short quarterly pass on a large blog beats an annual marathon that is out of date by the time it finishes.
How To Measure Whether The Audit Worked
Re-pull the same metrics 60 to 90 days after the changes go live. Compare clicks, CTR, average position and conversions against the baseline you saved before the audit, and do it per verdict group. Updated posts, merged posts and redirected posts behave differently, and one blended average hides all of that.
Then work out the return. The formula is audit ROI equals revenue from audited content minus audit cost, divided by audit cost, where revenue from audited content is the revenue you can attribute to the posts you changed.
Here is a worked example with illustrative inputs. Replace them with your own.
- Audit cost: $3,000, covering team time and tooling.
- Revenue from audited content: $12,000 over the 90 days after the changes.
- Net gain: $12,000 minus $3,000 is $9,000.
- ROI: $9,000 divided by $3,000 is 3, or 300%.
Attribution is the hard part, so agree before the audit starts how you will credit revenue to a changed post. A rough rule you apply consistently beats a precise rule you apply once.
Content Audit Mistakes That Cost Rankings
Five mistakes cause most of the damage. Each has a fix.
- Deleting a post that has backlinks. Redirect it to the closest relevant page so the links keep working.
- Scoring on a single month of data. Use a 6 to 12 month lookback so one quiet or busy month does not decide a verdict.
- Treating a zero-click drop as decay. Run the intent-mismatch test first, and update the title and opening instead of retiring the post.
- Skipping the cannibalisation check. Filter Search Console by each target query and merge overlapping URLs into the stronger one.
- Running the audit with no owner, deadline or success metric per URL. Fill those three columns before anyone touches a post.
FAQs
How Often Should I Do A Content Audit?
What Is The Difference Between A Content Audit And A Content Inventory?
What Does A Content Audit Measure?
Can A Content Audit Improve SEO?
How Do I Prioritize Content During An Audit?
What Tools Can I Use For A Content Audit?
Should I Delete Or Redirect A Post That Has Backlinks?
How Far Back Should The Search Console Lookback Go?
Does A Zero-Click Traffic Drop Mean I Should Delete The Post?
Not sure which of your posts to cut first, or how to score a tricky one? Get in touch and one of the team will point you in the right direction.
📑 Disclosure!
Some links in this article are affiliate links. If you sign up through them, The Rank Masters may earn a commission at no additional cost to you. This does not influence which tools we recommend or what we say about them.





