← All articles

    Content Marketing

    How to Do a Content Audit When Your SaaS Blog Has 30 Posts and No Traffic

    Written by:Jai JalanJai Jalan
    Updated 18 min read
    A short list of blog posts on one audit sheet gets a one-word verdict per post, with the refresh verdict in rust as the decision that matters.

    Quick Answer

    A content audit on a small SaaS blog takes one weekend and needs only a sitemap, Google Search Console and a spreadsheet. Each post gets one verdict, either leave alone, too new, refresh, merge, retarget or redirect. Impressions and buyer fit decide it, since clicks are too sparse. Fixes follow in order of effort, with deletion last. That order keeps content marketing for tech companies moving with a team of one.

    A content audit is a post-by-post review of everything you have published, ending in a written decision about each piece. Most guides to it assume thousands of pages and a team to split the work.

    I'm writing for the founder who has neither. You have around 30 posts, a domain a year or two old, and a traffic line that has not moved in months.

    In this blog I'll cover my one-weekend method and the six verdicts I give each post. I'll also cover how to spot two posts fighting over one search, why deleting comes last, and what to fix first.

    How I Do a Content Audit on a 30-Post SaaS Blog in One Weekend

    I do a content audit on a small blog in five steps. I list every post, pull 16 months of Search Console data, check indexing, score buyer fit, then write one verdict per post. Nothing in it needs a paid tool. The whole content audit fits in one spreadsheet and roughly two working days.

    Here is how I run each step.

    1. List Every Post From Your Sitemap Into One Sheet

    I start with a content inventory, which is simply a list of every URL you have published. On a small blog I skip crawlers and open /sitemap.xml in the browser, then paste the blog URLs into a sheet.

    Most CMSs generate the sitemap automatically. If a post is missing from it, write that down, because a post Google cannot find in your sitemap is harder for it to discover.

    This is the content audit template I use. It is deliberately short, because a founder with 30 posts does not need 40 columns.

    Column What goes in it Where it comes from
    URL The full post address Your sitemap
    Publish date The date it first went live Your CMS
    Target query The one search the post was written to win Your notes, or your best guess
    Impressions (16 months) Times the post appeared in Google results Search Console, Pages tab
    Clicks (16 months) Times someone clicked through Search Console, Pages tab
    Average position Where it usually shows Search Console, Pages tab
    Top 3 queries What Google actually shows it for Search Console, Queries tab filtered to the page
    Indexed? Yes, no, or the exact status URL Inspection in Search Console
    Buyer fit (1 to 3) How close the topic sits to what you sell Your judgment
    Verdict One of six Step 5

    2. Pull 16 Months of Search Console Data per URL

    Google Search Console is the only data source I trust at this size. Google's own help pages say Search Console keeps data for the last 16 months, so set the date range to the full 16 months, not the default three.

    Short windows mislead a small blog. Semrush's content audit guide suggests comparing the last three months to the previous three, which works when a page gets hundreds of visits. When a post gets four clicks a quarter, that comparison is noise.

    I record impressions first and clicks second. Impressions tell me Google has decided the post is relevant to something, even when nobody clicks yet.

    3. Check Index Status Before Judging Any Post

    Before I judge any post, I check it is actually indexed. A post with zero impressions might be a weak post, or it might be invisible.

    The Page indexing report in Search Console lists every excluded URL with a reason. Two statuses matter most on a young blog. "Crawled - currently not indexed" means Google read the page and chose not to index it. "Discovered - currently not indexed" means Google knows the URL but has not crawled it yet.

    I treat these as separate problems. The first is usually about the page itself. The second is often about the site, with too few internal links or a domain Google does not visit often yet.

    4. Mark Each Post's Buyer Fit on a Three-Point Scale

    Buyer fit is the column most audits skip, and on a small blog I think it matters most. I score each post from 1 to 3.

    • 3 means the post answers a question your buyer asks right before they would need your product.
    • 2 means the post answers a question your buyer asks, but far from a purchase.
    • 1 means the post was written for traffic, a trend or a keyword tool, and your buyer would never search it.

    Scalerrs puts the reasoning well in its SaaS content audit guide. In its words, "A post pulling 50 visits a month that sources two demos beats a 5,000-visit guide."

    At 30 posts, buyer fit is the tiebreaker for almost every verdict.

    Pro tip: I score buyer fit before I look at the traffic columns. If I see the numbers first, I catch myself rating a post higher just because it gets a few clicks.

    5. Give Every Post One Verdict and Write It Down

    The last step is a single verdict per row. I choose leave alone, too new, refresh, merge, retarget or redirect. I write it down even when the verdict is "leave alone", because an unrecorded decision gets made again next quarter.

    For timing, I budget the first weekend day for steps 1 to 3 and the second for steps 4 and 5. That is my own planning estimate for about 30 posts, not a benchmark. The slow part is reading each post honestly, not pulling data.

    The Six Content Audit Verdicts I Give a Post With Almost No Traffic

    In a content audit on a small blog, every post gets one of six verdicts. I choose leave alone, too new, refresh, merge, retarget or redirect. I decide using age, impressions, average position, buyer fit and overlap with other posts, in that order.

    Clicks come last, because at this size they are too rare to separate good posts from bad ones.

    This decision table is the core of my method.

    Verdict When I give it What I do next
    Too new Live for less than three months Nothing. Re-check at the next audit
    Leave alone Buyer fit 3, used in sales or onboarding, stable impressions Nothing, apart from fixing facts that aged
    Refresh Buyer fit 2 or 3, impressions exist, average position roughly 8 to 30 Rewrite to match the queries Google already shows it for
    Merge Shares its queries or search results with another post Combine into the stronger URL, then 301 redirect
    Retarget Buyer fit 2 or 3, indexed, near-zero impressions after three months Pick a narrower query and rewrite for it
    Redirect Buyer fit 1 and near-zero impressions 301 redirect to the closest relevant post

    Here is how I apply each verdict.

    1. Too New to Judge

    I never judge a post that has been live for under three months. Google's SEO Starter Guide says some changes "could take several months" to show in results.

    Semrush's guide recommends "waiting at least two months" after an update before analyzing performance. For a brand-new post on a young domain, I stretch that to three months. Most big-site guides mention this case in passing at most, and it saves me from rewriting posts that were simply young.

    2. Leave Alone

    Some posts earn their place without search traffic. A post your founder sends to every prospect after a first call is doing its job, even with 20 impressions.

    I give "leave alone" when buyer fit is 3 and the post has a clear non-search job. I still fix any number, price or screenshot that has aged, because a buyer reading it during a deal will notice.

    3. Refresh

    A content refresh is my verdict for posts Google already considers relevant but ranks too low to be clicked. The signal is impressions with an average position somewhere around 8 to 30. Semrush's guide calls pages with "an average position between 10 and 30" strong pages with high potential to reach page one.

    The mistake I find in most refresh advice is adding length. Google's guidance on helpful, people-first content states plainly that it has no preferred word count. I open the post's top queries in Search Console and rewrite so the post answers those exact queries in its first lines and headings.

    Say your post "Onboarding Emails for SaaS" shows up for "trial onboarding email sequence" at position 17. That is a hypothetical, but it shows the move. I would retitle the post around that sequence and add the sequence itself as the core of the post.

    4. Merge

    I merge two posts when they compete for the same search. The combined post lives at the stronger URL, and the weaker URL gets a 301 redirect to it.

    Google's documentation on consolidating duplicate URLs calls a redirect "a strong signal that the target of the redirect should become canonical."

    In plain terms, a 301 redirect is the permanent form of URL redirection. It tells Google to move the old page's signals to the new one.

    5. Retarget

    A retarget is for a good topic aimed at the wrong query. The post is indexed, buyer fit is 2 or 3, and after three months it still has almost no impressions.

    That pattern usually means one of two things. Nobody searches the query, or page one is held by sites a young domain cannot displace.

    In both cases I pick a narrower query the buyer actually types, check its search engine results page by hand, and rewrite the post around it. Rewriting at the same URL keeps any links it already has.

    6. Redirect

    Redirect is the verdict for posts with buyer fit 1 and no impressions after three months. These are usually trend posts or keyword-tool posts that no buyer would search.

    I 301 redirect each one to the closest relevant post rather than deleting it into a 404. If nothing on the blog is close, I redirect to the blog index. This is the only kind of content pruning I do on a blog this small.

    Pro tip: Before any merge or redirect, I copy the old post's text into a private doc. A strong paragraph from a retired post can still open a future one.

    How to Tell If Two Posts Compete for the Same Search in a Content Audit

    Two posts compete when Google shows either of them for the same queries, or when their target queries return mostly the same results. I check both during the content audit before I merge anything.

    On a 30-post blog this is easy to miss. It can start when the same topic gets written twice, a year apart, under two different titles.

    • Check the Queries Tab for Two URLs on One Query

    In Search Console I open a query, then switch to the Pages tab. If two of my URLs appear for that one query, I note both. When it happens across several queries, the two posts are splitting the same demand.

    • Run the Four-in-Ten Search Overlap Test

    For the stricter check, I search each post's target query in a private window and list the top 10 results. If 4 or more of the 10 results are the same pages, I treat the two queries as one intent and merge. With 3 or fewer shared results, I keep both posts and sharpen each one's angle.

    The four-in-ten line is a working rule I use, not a Google threshold. I like it because it tests what Google actually shows, not what I assume the two posts are about.

    • Keep the Post With More Proof, Not the Older One

    When I merge, I keep the URL with more impressions or more links pointing at it. Age alone is not a reason to keep a URL. The merged post takes the best material from both, and nothing from the weaker post is kept just to preserve word count.

    Why a Content Audit on a Small Blog Should Not Start With Deleting Posts

    A content audit on a 30-post blog should end with very few deletions, because the problems big-site pruning solves mostly do not exist at this size. Low traffic is the normal state of a young domain, not proof that a post failed.

    Most pruning advice comes from large libraries. Scalerrs, writing for mid-market SaaS, expects an audit to "identify 10-30% of content as candidates" for action. That ratio makes sense with 3,000 articles. With 30 posts, it would mean retiring up to nine pieces on thin evidence.

    Question Content audit on a 3,000-page library Content audit on a 30-post blog
    Main signal Clicks and sessions Impressions and buyer fit
    Time window Recent quarter vs last year Full 16 months, or since publish
    Biggest risk Outdated pages diluting the site Judging posts that are simply young
    Typical action Prune and consolidate in bulk Refresh, retarget, merge a few
    Who does it A team, over weeks One founder, over a weekend

    I hold back on deleting for three reasons.

    • Google Says Removing Old Content Will Not Make a Site Look Fresh

    Google's helpful content guidance asks if you are removing "a lot of older content" to make a site "seem fresh." Its own answer, in parentheses, is "No, it won't."

    I read that as a clear signal that bulk deletion is not a ranking tactic on its own.

    • Low Traffic Is the Normal State for a Young Domain

    Search engine optimization on a young domain is slow, and most posts sit beyond page one for a long time.

    Our post on domain authority of 8 covers what a low authority score does and does not mean. The click math behind startup SEO shows why positions below the top few barely get clicked. I expect near-zero clicks at those positions, so I do not read them as failure.

    • A Post Can Sell Without Ranking

    A post that closes deals when sent by hand has value search data cannot show. Our post on Chartbeat's small publisher data explains why a startup blog behaves like a small publisher. The short version is that I judge a post by the relationship it builds as well as the referrals it earns.

    What to Fix First After Your Content Audit, Ranked by Effort

    After the content audit, I fix posts in order of effort against likely payoff. Indexing gaps come first, then titles, merges, refreshes and finally retargets. The first two jobs take minutes per post, and the last one takes a full rewrite.

    This is my running content audit checklist for the week after the audit.

    1. Fix Indexing Gaps

    Any buyer-fit post that is not indexed comes first. I add two or three internal links to it from related posts, make sure it is in the sitemap, and request indexing through URL Inspection. None of the other work matters for a post Google has not indexed.

    2. Rewrite Titles on Posts With Impressions and No Clicks

    A post in the top 10 with impressions but almost no clicks usually has a title that does not match the query. I rewrite the title and meta description to use the searcher's own words from the Queries tab. The benefits of on-page SEO covers what title changes can and cannot do.

    3. Merge Overlapping Posts

    Merges are next because each one removes a competitor from your own results. I do one merge at a time and set the 301 redirect the same day the combined post goes live.

    4. Refresh Posts Ranking Between Roughly 8 and 30

    Refreshes take longer because the rewrite has to follow the queries Google already associates with the post. I limit myself to three refreshes per cycle, so I can see what moved.

    5. Retarget Posts With Zero Impressions

    Retargets come last because they are closest to writing a new post. Each one starts with fresh research into what the buyer actually types, the same research I would do for a new topic.

    Pro tip: I keep a changelog column in the audit sheet with the date of every change. When a post moves three months later, I can tie it to the change instead of guessing.

    How a Content Audit Fits Into Content Marketing for Tech Companies Run by One Founder

    For a founder doing content marketing for tech companies alone, a content audit belongs on the calendar twice a year, with a short check each quarter. A full audit more often than that mostly measures posts that are still too young to judge.

    Published cadence advice varies with site size. Kontent's guide says "smaller websites may only require an annual content audit." Semrush cites its 2023 State of Content Marketing report, which found "one-third of marketers conduct content audits twice a year."

    I use twice a year for a full blog content audit because a founder's blog changes fast in its first two years.

    I also treat the audit as part of content strategy, not a cleanup chore. Every verdict tells you something about what your buyer searches, and that feeds the plan in our AEO-first content marketing playbook.

    A SaaS content audit that ends with "we wrote the wrong 10 posts" is still a useful result. It tells you what the next 10 should be.

    Even with help, I would have the founder read all 30 posts during the first audit. Reading your own posts against your buyer's real questions is how you learn what to write next.

    Between full audits, my quarterly check takes about 30 minutes. I look at three things in Search Console.

    • Posts That Just Crossed Three Months Old

    Any post that passed the three-month mark since the last check gets its first real verdict in this content audit pass. Until then it stays in the too-new bucket.

    • Posts Whose Impressions Dropped by Half

    A post whose impressions fell by half since the last check can signal a new competitor or a changed result page. I search its top query by hand before touching the post.

    • New Queries Google Shows the Blog For

    New queries in the Queries tab show what Google now links the blog to. They often point to the next topic worth writing.

    Run Your Content Audit This Weekend and Fix Three Posts Next Week

    If you want to know how to perform a content audit on a small blog, it fits in one weekend. I list every post, pull 16 months of Search Console data, check indexing, score buyer fit and give each post one verdict.

    Then I fix indexing and titles first, merge competing posts, and delete only what no buyer would search. Shipping three fixes next week keeps content marketing for tech companies moving with a team of one. If you want a partner to read the blog with you, talk to Better Marketing.

    Frequently Asked Questions

    Only partly. When I asked ChatGPT, logged out, how to run a content audit on a 30-post blog on 27 September 2026, it gave a sound framework and asked for my post URLs. It could not see any Search Console data, so I treat it as a checklist writer, not an auditor.

    Neil Patel's SEO audit pricing guide puts most quality SEO audits between $500 and $7,500, and enterprise audits at $10,000 or more. For a blog of 30 posts, I would run a content audit myself first, since free Search Console data answers most of the same questions.

    I run a social media content audit the same way. I list every post from the last 90 days, record reach, saves, comments and profile visits, then tag each by topic and format. The pattern I look for is which topics earn replies from buyers, not which earn the most likes.

    Public examples help me more than templates. The Nielsen Norman Group records a keep, update or remove status for each page, and YaleSites sorts findings into risks, opportunities, gaps and hidden gems. Both treat a content audit as a sheet of decisions.

    An SEO audit tool crawls your site the way a search bot does and flags technical faults such as broken links, redirect chains and missing titles. Screaming Frog crawls up to 500 URLs for free. I run one after a content audit, because it checks plumbing, not which posts deserve to exist.

    About the author

    Jai Jalan

    Jai Jalan

    Founder

    Jai Jalan is the founder of Better, a software and growth partner for US-founded startups. Over eight years, he and his team have worked with 30+ venture-backed companies on work tied to more than $100M in revenue impact. IIT alumnus and former Google and Microsoft engineer.

    Share: Twitter LinkedIn
    SaaS
    SEO
    content strategy
    startup SEO