# Content Decay

> The Content Decay heatmap: your top pages month by month against their own best month, with the rules behind decaying, growing and stable.

Page: https://serplyze.com/docs/content-decay

**Content Decay** is a heatmap of your top pages, one row per page and one column per calendar month. Each cell compares the month with that page's own best month, so a page that fades slowly stands out even when the site total grows.

Open **Content** and switch to the **Content Decay** tab. Use it to pick pages for a content update before they drop out.

## Range and pages included

- The range buttons **3M**, **6M**, **12M** and **16M** set how many months are shown. The default is 12 months, and your last choice is remembered in the browser.
- The heatmap lists the pages with the most clicks over the selected range: the top 100 on the Free plan, the top 500 on paid plans.
- Everything is computed inside the selected range. A page's peak is its best month in that range, so the same page can read differently at 6 and at 16 months.

## How a cell is computed

A cell is the month's clicks per day (clicks divided by the days of that month in the range) as a share of the page's peak month. Comparing per day keeps 28-day and 31-day months, and a partial current month, on the same footing.

| Share of the peak month | Colour |
| --- | --- |
| 90–100% | Strongest green (at peak) |
| 75–90% and 60–75% | Lighter greens |
| 40–60% | Neutral |
| 25–40% and 10–25% | Lighter reds |
| Under 10% | Strongest red (far below peak) |

- A month marked `*` is partial. A month with fewer than 7 days in the range cannot be the peak.
- A cell showing `?` is unknown: the page fell outside the rows read for that month (up to 25,000 pages per month on paid plans, 5,000 on Free).
- Hover or tap a cell for the month's clicks, impressions and position.

## Status rules

Status compares the last 3 months, as clicks per day, with the peak month and with the 3 months before them. The rules are applied in this order:

| Status | Rule |
| --- | --- |
| Too few clicks | Fewer than 30 clicks over the whole range. The page is not scored. |
| Decaying | The last 3 months are at 70% of the peak month or lower (a drop of 30% or more). |
| Growing | The last 3 months are 30% or more above the 3 months before them. |
| Stable | Neither of the above. |

- The column **Now vs peak** shows the first comparison as a percentage.
- **Clicks lost / month** is the peak level minus the recent level, per day, times 30.
- With the 3-month range there are no earlier months to compare with, so no page is labelled Growing.

## Filters and sorting

- The cards **Decaying**, **Growing** and **Stable** show the counts. Click one to list only those pages.
- The search box filters URLs by plain text or regex.
- The filter bar has the columns URL, Status, Now vs peak, Now vs prior 3 months, Clicks and Clicks lost / month.
- **Sort** offers **Most clicks lost** (the default), **Biggest decay (%)**, **Most clicks** and **URL**. Sorting by clicks lost keeps small pages that went from 40 clicks to 0 from crowding the top.
- The table shows 100 pages at a time; a button under it shows the next 100.

## Acting on a page

1. Click a row to open the page detail on 16 months, with the queries that land on the page.
2. Update the page.
3. Back in the heatmap, click **Log action** on the row. The action opens as a content update with the page filled in, and its before/after result is measured for you.

In [Content findings](https://serplyze.com/docs/content-findings.md), a keyword whose page is decaying carries a **Decaying** badge that links back here.

## Export and data source

- **Export** offers two datasets, each as CSV, Excel or Copy for Sheets: **Pages by month** (one row per page with a clicks and impressions column for every month) and **Page × month (one row each)** for pivot tables, with CTR, position and the share of the peak.
- Finished months do not change and are kept. The current and the previous month are refreshed after each daily sync. **Reload from Search Console** under the table fetches the open months again.
- On a paid plan with a working [BigQuery](https://serplyze.com/docs/bigquery.md) connection, the month lists are read from the bulk export instead of the API, and the header reads “Search Console (BigQuery export)”.

> **Limit:** The heatmap covers the top 100 or top 500 pages only, with or without BigQuery. It reads clicks; it does not look at the content of your pages or at anyone else's rankings.

## Read next

- [Content findings](https://serplyze.com/docs/content-findings.md): How Serplyze finds losing keywords, page-two keywords, CTR gaps, cannibalised keywords and device gaps, and how clicks at stake are estimated.
- [Traffic](https://serplyze.com/docs/traffic.md): The Traffic screen: site totals, breakdowns and the full lists of pages, queries, folders and page groups from Search Console.
- [Actions and impact](https://serplyze.com/docs/actions-and-impact.md): Log the SEO changes you make and see a before/after comparison of the pages and keywords they targeted, set against the whole site's trend.
- [BigQuery](https://serplyze.com/docs/bigquery.md): Connect a Search Console bulk export in BigQuery so the Traffic lists read every query and page from it instead of the API.
