# Google Search Console

GSC's Coverage + Crawl Stats reports are the **first-party Googlebot view** — what Google considers crawled, indexed, or excluded. Pair with server access logs (the origin view) and OurSEO crawl (the published view) for a complete crawl-budget audit.

## CLI access

```bash
our research search-console queries --site sc-domain:<domain> --days 28
our research search-console pages --site sc-domain:<domain> --days 28
```

`sc-domain:` prefix for Domain-verified properties.

Note: full **Coverage** and **Crawl Stats** report data is mostly UI-only in GSC — the API exposes performance (queries / pages) but limited crawl-stats fields. For exhaustive crawl analysis, export via the GSC UI and parse alongside log output.

## Ahrefs GSC alternates

When the site is connected as an Ahrefs project:

```
mcp__ahrefs__gsc-pages(project_id="<id>")
mcp__ahrefs__gsc-pages-history(project_id="<id>")
mcp__ahrefs__gsc-positions-history(project_id="<id>")
```

## How GSC pairs with the rest

| Source | Shows |
|---|---|
| Server logs | What hit the origin (bot behaviour at HTTP level) |
| OurSEO crawl | What URLs exist on the site today |
| Sitemap | What URLs the site claims to publish |
| **GSC** | **What Google considers indexed / excluded** |

The intersection (and differences) reveal:
- **Crawled-not-indexed**: Google saw it, won't index — often thin content or duplicates.
- **Indexed-not-crawled-recently**: bot budget moved elsewhere.
- **Discovered-not-crawled**: Google knows about the URL but hasn't fetched it.

## Not for this skill when

- **Korean bots** (Yeti, Daumoa) — GSC is Google-only.
- **Bot User-Agent + IP analysis** — server logs.

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