---
name: seo-audit-search-console
description: Runs an SEO audit from a site's own Google Search Console, Bing Webmaster Tools and GA4 data via the Caybl.ai connector - indexation, decaying pages, CTR anomalies, striking-distance keywords, cannibalization and organic conversions - and ends with a prioritised fix list. Use for "SEO audit", "audit my site", "why is organic traffic down", "SEO health check", or "what should I fix first for SEO". For position changes over time see seo-rank-tracking; for paid/organic overlap see seo-vs-ads-overlap.
license: MIT
compatibility: Requires the Caybl.ai MCP connector (https://api.caybl.ai/mcp) with Search Console connected; Bing Webmaster Tools and Google Analytics are optional but recommended.
metadata:
  author: Caybl.ai
  version: "1.0"
  adapted-from: Ryze-AI-Adgent/open-seo-mcp-skills (seo-audit), MIT; coreyhaines31/marketingskills (seo-audit), MIT
---

# SEO audit from Search Console

## Requires

The Caybl.ai MCP connector with Search Console connected (https://caybl.ai/search-console-mcp). Bing (https://caybl.ai/bing-webmaster-tools-mcp) and GA4 make the audit better. Everything below comes from the site's own data - if a source isn't connected, say which and skip that section rather than estimating.

## Workflow

1. **Property.** `list_sites`. Use the one matching the user's domain (prefer the `sc-domain:` property); ask only if ambiguous.
2. **Performance baseline.** `run_search_analytics_report` for the last 90 days vs the previous 90, by `query` and by `page` (skip the last 2-3 days - Search Console data lags). Use `pageFilters` to exclude app/login paths.
3. **Indexation.**
   - `list_sitemaps` - submitted vs indexed per sitemap.
   - `find_zero_visibility_pages` with the sitemap URLs - pages with no impressions at all.
   - `inspect_url` on the 3-5 most important zero-visibility or decaying pages - coverage state, canonical, last crawl.
4. **Find the problems:**
   - **Decaying pages** - clicks down more than 30% period over period.
   - **CTR anomalies** - average position 5 or better but CTR under 2% -> title/meta problem.
   - **Striking distance** - queries at position 8-20 with high impressions (one push from page 1); positions 4-10 are the quickest wins.
   - **Cannibalization** - one query where 2+ of your pages share the clicks.
   - **No visibility** - indexed pages that never get impressions (wrong intent, thin, or orphaned).
5. **Bing as a second engine** (if connected): `bing_crawl_health` for crawl errors and pages in index, `bing_top_queries` for queries Google doesn't show, `bing_backlinks` for who links in. Bing's index feeds ChatGPT search and Copilot.
6. **Organic conversions** (if GA4 connected): `run_report` with `landingPage` x `sessionDefaultChannelGroup` = Organic Search, sessions and key events, same periods. A page can hold rankings and still lose revenue - call it out.
7. **Backlinks reality check:** if Bing shows almost no inbound links, say that authority - not on-page tweaks - is the main constraint.

## Output

1. **Verdict** (one paragraph): is organic search healthy, and the #1 issue.
2. **Indexation** - table of problem URLs with state and fix.
3. **Losers** - | Page | Clicks before | Clicks after | Delta | Main queries lost | Likely cause | Fix |
4. **Quick wins** - striking distance and CTR fixes, ranked by impressions, with a rewritten title/meta suggestion for each CTR fix.
5. **Cannibalization** - query, competing pages, which to consolidate into.
6. **Bing** and **Organic conversions** sections when available.
7. **Top 5 actions**, prioritised by impact x effort.

Offer to resubmit the sitemap (`submit_sitemap`) or submit URLs to Bing (`bing_submit_urls`) once pages are fixed - only with an explicit yes.

## Guardrails
- Impressions and average position are sampled and rounded; small sites see noisy numbers. Say so when volumes are low.
- Don't recommend rewriting pages that convert well just to chase rankings.
- Never invent search volumes - use `bing_keyword_research` or `generate_keyword_ideas` (Google Ads) if volume is needed.
