> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trysight.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Content Health

> Pages losing the clicks they used to win, and queries where your own pages compete with each other, from Google Search Console.

## Overview

**Content health** lives under **SEO Suite → Content health** (`/seo/content-health`). Two reports, each on its own tab, read the site's Google Search Console data:

* **Decay**: pages whose clicks fell against the previous period.
* **Cannibalization**: queries where two or more of your pages show up and split the result.

Both are computed when you open the page, from the data the Search Console sync keeps. Neither calls an outside provider.

<Note>
  Included from **Pro**. Both reports need a connected [Google Search Console](/integrations/google-search-console) property with data for the site; without it the tables stay empty.
</Note>

## The windows

Both reports compare the **last 28 complete days** with the **28 days before** them. Search Console takes about two days to finalise a day's numbers, so the windows end two days back. The card header shows the exact dates and how many pages were compared.

## Decay

A page is listed when either rule is true:

| Reason | Rule | What it means |
| - | - | - |
| **CTR** | Clicks fell by 30% or more while impressions fell by less than 15%. | Demand held, but the page stopped winning the click. The snippet is losing out, or the page has aged. |
| **Position** | The average position worsened by 3 places or more. | The page is being out-ranked. |

Pages with fewer than 10 clicks in the earlier window are skipped; a drop from 3 clicks to 1 is noise, not decay. A page with clicks before and none now counts as zero. The report ranks by lost clicks and shows up to 200 pages, compared across the 3,000 largest pages in each window.

| Column | Meaning |
| - | - |
| **Page** | The article title when Sight wrote it, otherwise the path, with the URL underneath. |
| **Lost clicks** | Previous clicks minus current clicks. The default sort. |
| **Clicks** | Clicks in the current window, with the previous total under it. |
| **Change** | The percentage change in clicks. |
| **Impressions** | The percentage change in impressions, with the current total. |
| **Position** | The current average position and how many places it moved. |
| **Why** | **CTR**, **Position**, or both. |
| **Action** | **Refresh with agent** opens the agent on the page's title. **Open page** opens the live URL. |

The **Reason** filter keeps only **Clicks fell, impressions held** or **Position slipped**. The toolbar also has a text filter and a CSV export.

### What to do about decay

* **CTR**: a refreshed title, intro or date usually wins the click back. The meta description is the second thing to look at.
* **Position**: the page is being out-ranked and needs updated content. Compare it with what now ranks above it.

**Refresh with agent** hands the page to the agent for the rewrite.

## Cannibalization

A query is listed when **two or more of your pages each had 20 or more impressions** for it in the window. Google is splitting one query's signals across pages, so neither ranks as well as one page would. Rows are ranked by the query's total impressions across the competing pages, up to 200 queries.

| Column | Meaning |
| - | - |
| **Query** | The search. |
| **Impressions** and **Clicks** | Totals across the competing pages. |
| **Pages** | How many pages compete. |
| **Recommendation** | **Consolidate** into one page, or **Differentiate intent**. |
| **Action** | **Refresh with agent** opens the agent on the query. **Open page** opens the page to keep. |

Expand a row to see each page's clicks, impressions, CTR and position. The page the recommendation would keep carries a **keep** badge.

### How the recommendation is made

The two biggest pages' top ten queries (by impressions) are compared:

* When they share **less than 20%** of their top queries, the pages serve different intents and only collide on this query. The recommendation is **Differentiate intent**: sharpen each page's angle so the collision stops. The overlap percentage is shown.
* Otherwise the recommendation is **Consolidate** into the page with the better position. When the positions are within one place of each other, the better click-through rate decides, then clicks.

The **Recommendation** filter shows only one kind.

### What to do about cannibalization

* **Consolidate**: merge the weaker page into the one marked keep, redirect its URL, and update the internal links that pointed at it.
* **Differentiate intent**: rework the titles, headings and openings so each page targets its own query.

## Alerts and weekly signals

Every Monday a background check runs both detectors and records what it finds as in-app notifications, and in Slack when a channel is linked to the site. On Business, the [SEO alerts](/seo/alerts) rules **Content decay** and **Cannibalization** send them by email, Slack or webhook on the schedule you set.

<AccordionGroup>
  <Accordion title="The decay table says no decaying pages. Is that right?">
    Probably. Pages need at least 10 clicks in the earlier 28 days to be compared, so a young site or one with little traffic produces few rows. Check the dates in the card header: both windows must have Search Console data.
  </Accordion>

  <Accordion title="Why is a page listed as decaying when I only changed its URL?">
    Search Console records the old and the new URL as separate pages. The old URL shows the drop. The new one is not compared until the earlier window has at least 10 clicks for it.
  </Accordion>

  <Accordion title="Why is a query missing from Cannibalization when I know two pages rank for it?">
    Each page needs 20 or more impressions for that query in the window. A page that showed up only a few times does not count as competing.
  </Accordion>
</AccordionGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.