RefreshRadarStart free

Content Decay in a Spreadsheet: How to Build It (and When to Stop)

Published · Eugene

The short version: a spreadsheet can do the entire content-decay job — find the pages, rank them by what they're worth, and prove a refresh worked — for $0, using two Search Console exports and about eight formulas. Below is that build. Then the honest part: the flaw shared by every published decay template I could find, and the four signs it's time to stop maintaining a spreadsheet.

I sell a tool that does this. That's the obvious reason to distrust the second half of this article, so I've put the free version first and made it complete. If the spreadsheet works for you, use the spreadsheet.

What the spreadsheet has to actually do

Four jobs. Every one of them is a formula, and skipping any of them is why most decay spreadsheets end up abandoned in a Drive folder.

  1. Set a baseline — what "normal" was for this page, before the decline.
  2. Apply a threshold — how far below normal counts, and how small a page is too small to bother measuring.
  3. Rank — which of the flagged pages is worth the most, in clicks per month.
  4. Remember — which pages you already refreshed, and whether it worked.

Job 4 is the one no template has, and it's the one that turns a report into a loop.

Build it: two exports and eight formulas

Pull the data. Open the Performance report in Search Console, set the date range to the last 28 days, open the Pages tab, and use the Export button (Google's reference on the report is here) to send it to Google Sheets. Rename that tab recent. Now change the range to a custom window covering the 56 days before that — days 29 to 84 — export the Pages tab again, and call it baseline. Two exports, about three minutes.

Build the sheet. New tab, and paste the URL list from baseline into column A (it's the longer window, so it has more pages). Then:

B2  recent clicks      =IFERROR(VLOOKUP($A2,recent!$A:$B,2,FALSE),0)
C2  baseline clicks    =IFERROR(VLOOKUP($A2,baseline!$A:$B,2,FALSE),0)
D2  baseline weekly    =C2/8
E2  recent weekly      =B2/4
F2  decline            =IFERROR((D2-E2)/D2,0)
G2  clicks/mo at stake =(D2-E2)*4.33
H2  flag               =IF(AND(D2>=10,F2>=0.2),"CHECK","")

Fill down, then sort by column G, largest first. That's the list. The page at the top is the one costing you the most traffic per month, which is not usually the page with the scariest percentage.

Those numbers are my working rules, not industry law: a page counts as decaying when its last four weeks sit 20% or more below the previous eight, and only if that baseline was at least 10 clicks a week — below that the percentages are noise. The 4.33 is weeks per month.

Add the memory tab. Columns: URL, date you refreshed it, clicks in the 28 days before that date, clicks in the 28 days after. Fill the last column in four to eight weeks later. That's the whole verification method, and I've written up how to read the result honestly — including the three ways this comparison lies to you.

One difference worth knowing if you ever compare your sheet to a tool's output: dividing the 56-day total by 8 gives you the mean weekly baseline. My own tool takes the median of those eight weeks, which is less sensitive to one freak week. On most pages the two agree; on spiky pages the median is kinder.

The mistake in every template I could find

I read the published content-decay spreadsheet guides before writing this, and they share a flaw that quietly ruins the output.

They anchor on the page's best month. Botpresso's guide builds monthly columns and measures the drop with =MAX(A2:Z2) — the all-time peak. Aubrey Yung's template compares the first month in the range against the last. Both are peak-anchored in effect, and peak-anchored means nothing ever recovers. A post that got one good week from a newsletter is measured against that week forever. Every seasonal page is flagged for the whole off-season. You open the sheet each month to the same twenty URLs, most of which are fine, and after a while you stop opening it.

It's the same trade-off I wrote about in the SEOTesting comparison — that's a $50 tool with the same peak-month baseline, so this isn't a DIY-versus-paid failing, it's a methodology choice most of the category has made. A rolling baseline ages spikes out. It also has a genuine blind spot, which I'll come back to.

They track impressions, not clicks. Aubrey Yung's overview tab is built on monthly impressions. Impressions move for reasons that have nothing to do with your page — a query gets more popular, an AI Overview changes how far down the results go — and a page whose impressions fell while its clicks held is not decaying. Rank by clicks. If you want to know what impressions are telling you, that's a separate diagnosis.

Nobody defines a floor. Without the D2>=10 condition, a page that went from 6 clicks to 2 shows up as "down 67%" and outranks a page that quietly lost 90 clicks a month. Half the value of the threshold is what it excludes.

Spreadsheet or tool: the honest comparison

SpreadsheetA decay tool
Cost$0Free tiers exist; $15–50 for the focused ones, $119–499 for suites
Setup~40 minutes onceMinutes — connect Search Console
Recurring effort15–20 min every month, by youNone
Page ceiling1,000 rows per exportThousands
Change the methodInstantly — it's your formulaNot at all
Remembers what you fixedOnly if you write it downYes
Tells you when something changesNo. You are the schedulerYes, usually by email
Sees a slow two-year slideYes — the whole arc is in front of youOften no

That last row is the one people get backwards, and it's the honest point against my own product. A rolling four-versus-eight-week baseline structurally cannot see a page losing 3% a month for two years, because it never drops 20% below its own recent average. A spreadsheet holding all 16 months Search Console keeps shows you that arc in one glance. If long, slow erosion is your worry, an eyeball on a 16-month chart genuinely beats my threshold.

Two practical notes on the ceiling. The Search Console interface caps reports at 1,000 rows, and that's what the export gives you — past roughly a thousand pages, the free route means the Search Console API (up to 25,000 rows per request) or a paid connector. And since December 2025 the Performance chart has a weekly/monthly granularity selector, which makes month-by-month exports cleaner than they used to be — it also shifted the export's tab names and column order slightly, so check the columns your VLOOKUP is pointing at.

When to stop maintaining a spreadsheet

Four signals. None of them is "you have too many pages."

You skipped last month. This is the real one. Month one is interesting. Month four is a chore. Month seven is the one that doesn't happen, and a decay sheet that runs twice a year isn't monitoring, it's archaeology. The monthly Search Console routine exists precisely because consistency is the hard part — the fifteen minutes were never the problem, the twelfth month is.

You're past about 300 URLs. Not the 1,000-row limit — the point where scanning the flagged list stops being a glance and starts being a task.

You've started tuning the threshold to get a shorter list. That's the sheet telling you it's making work rather than saving it.

You keep re-deriving what you already knew. If you can't remember whether you refreshed a page in March, the memory tab isn't being kept, and jobs 1–3 don't pay off without job 4.

And two situations where you should stop for the opposite reason — nothing at all is the right purchase. Under about 50 pages, you can hold the whole site in your head. Under 10 clicks a week per page, the statistics don't work regardless of what you're using. Both are covered honestly in the tool roundup, which also names the free options: SEO Gets has the strongest free tier in the category — unlimited sites, 16 months of history, no cost — though its content-decay tabs sit on the paid plans ($39 Core / $49 Pro, checked 16 August 2026).

The version that runs itself

If your spreadsheet is working, keep it. It's the same method, it costs nothing, and you can change it in ten seconds — which is more than you can say for anything you'd pay for.

What you're buying, if you ever buy, isn't the maths. It's month seven. RefreshRadar runs exactly what's above — last 4 weeks against the median of the prior 8, a 20% threshold, a 10-clicks-a-week floor, ranked by clicks per month at stake — every week on every page in your Search Console, remembers which pages you marked as refreshed, and compares the 28 days after against the 28 days before to tell you whether it worked. Then it emails you the list. Being straight about the trade: you give up the flexibility of your own formula, and you give up the 16-month eyeball that catches the slow arc.

Connect Search Console read-only and see what's decaying on your site — free — no card, about 30 seconds, and we never post or change anything. You'll get your three worst-decaying pages with the reason on each. Run your spreadsheet alongside it for a month and see whether the two agree; if the sheet is enough, you'll have lost nothing but half an hour.

FAQ

Frequently asked

Can I track content decay in a spreadsheet instead of buying a tool?+

Yes, and for most small sites you should. Two Search Console exports and about eight formulas give you the same ranked list a paid tool produces — the same baseline, the same threshold, the same clicks-at-stake ordering. What a spreadsheet cannot do is run itself. The build takes forty minutes once; the cost is doing it again every month for a year, which is where almost everyone stops.

What columns should a content decay spreadsheet have?+

Six that matter. The URL, baseline weekly clicks, recent weekly clicks, the percentage decline between them, the clicks per month at stake, and a flag. Most published templates track impressions rather than clicks, which is the wrong metric to rank by — impressions move for reasons that have nothing to do with your page, and a change in impressions with no change in clicks is a different problem entirely. Sort by clicks at stake, not by percentage.

What is wrong with comparing against a page's best month?+

It never lets anything recover. Every spreadsheet template I could find compares today against the page's all-time peak, usually with a MAX formula across the monthly columns. That means a post that had one good week because a newsletter linked to it is scored against that week forever, and every seasonal page is permanently flagged in its off-season. A rolling baseline — the last four weeks against the eight weeks before them — ages spikes out and shows you what changed recently.

How many pages can a spreadsheet handle?+

The hard ceiling is the Search Console export, which gives you up to 1,000 rows per report. Past that you need the Search Console API, which returns up to 25,000 rows per request, or a paid connector to pull the data into Sheets for you. The practical ceiling arrives much earlier than the technical one — a monthly copy-paste-and-check routine across a few hundred URLs stops getting done long before it stops being possible.

Is a free content decay tool better than a spreadsheet?+

It depends which job you want done. SEO Gets has the strongest free tier in the category — unlimited sites and 16 months of history at no cost — though its content-decay tabs sit on the paid plans, checked 16 August 2026. A free tool beats a spreadsheet at consistency and loses to it at flexibility, because you cannot change how a tool defines decay and you can change a formula in ten seconds.

How do I know if a refresh worked, using a spreadsheet?+

Add a second tab and write down the date before you touch anything, along with the page's clicks in the 28 days before that date. Then wait four to eight weeks, pull the 28 days after, and compare the two. This is the step almost every template skips, and it is the only part of the whole exercise that tells you whether any of your work is paying off.

Your next SEO win is already on your site.

Connect Google Search Console (read-only) and see what’s decaying on your site — free. If nothing is, we’ll tell you that instead. Pay only when you want the full ranked list and your weekly digest.

No card to start · 7-day money-back guarantee