# Google Search Console

**Required** for two content-strategy tasks that no other backend can do honestly:

1. **Cannibalization detection** — query × page combos where multiple URLs share impressions.
2. **Decay detection** — period-over-period impression decline on the target's existing pages.

## CLI commands

```bash
# Top queries — what the site already ranks for
our research search-console queries --site sc-domain:<domain> --days 28

# Top pages by clicks/impressions
our research search-console pages --site sc-domain:<domain> --days 28

# Combined query × page — REQUIRED for cannibalization
our research search-console combined --site sc-domain:<domain> --days 90
```

`sc-domain:` prefix for Domain-verified properties; URL-prefix properties use the plain URL.

## Decay workflow

1. Pull `pages` for the last 90 days.
2. Pull `pages` for the same 90-day window from 90 days prior (or use cached prior runs).
3. Diff impression / click counts per URL.
4. Flag URLs with >30% impression decline as decay candidates.
5. Cross-reference with `our collect crawl` output to check freshness signals (last-modified, content age).

## Cannibalization workflow

1. Pull `combined` over 90 days.
2. Group by query; count distinct URLs per query.
3. Flag queries where 2+ URLs each have >100 impressions — the site is competing with itself.

## Not for this skill when

- **Net-new content discovery** — GSC only knows what already ranks. Use Semrush/Ahrefs for gap discovery.
- **Competitor performance** — single-site only.

Gotcha: `our-claude-skills/custom-skills/15-seo-search-console/code/gotcha/gsc-cli-integration.md`.
