跳到正文
cccskills
免费在 GitHub 公开

seo-gsc-cannibalization

Detect keyword cannibalization by identifying queries where multiple pages are competing for the same ranking. Uses Google Search Console data to find queries appearing across 2 or more pages. Use when user says "keyword cannibalization", "same keyword multiple pages", "cannibalizing keywords", or "duplicate rankings".

中文简介正在准备中。当前显示原文说明。

集成工具Search Console

实测评分 未实测

查看安装方法

包含的文件(1)

  • SKILL.md4.2 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

GSC Cannibalization — Keyword Cannibalization Detection

@skills/seo/references/mcp-degradation.md @skills/seo/references/gsc-api-reference.md

Finds queries where multiple pages compete for the same ranking, causing them to cannibalize each other's traffic. Identifies the "winning" page and "losing" pages for each cannibalized keyword.

MCP Check

Before calling any GSC tool, verify the MCP is connected:

  1. Use ToolSearch with query +google-search-console
  2. If tools returned — note the actual tool name prefix, proceed to Inputs
  3. If no tools returned — display the GSC MCP error template from references/mcp-degradation.md and stop:
## Google Search Console MCP Not Available

The `/seo gsc cannibalization` command requires the GSC MCP, which is not currently connected.

**What you can do:**
- Use `/seo technical <url>` for crawlability and indexability analysis (no live data)
- Use `/seo audit <url>` for a full static SEO audit

**To connect GSC MCP:**
- Install and configure a Google Search Console MCP server (see README for setup)
- Add it to ~/.claude/mcp.json at user scope (NOT project scope)
- Verify GSC property access before running commands (domain vs URL prefix format)
- See references/gsc-api-reference.md for property format details

Inputs

  • site: The GSC property URL. Accept both formats:
    • Domain property: sc-domain:example.com
    • URL prefix: https://example.com or https://www.example.com
    • If user provides a bare domain (no prefix), call list_sites to identify the correct property format registered in GSC.

Date Calculation

Use Bash to calculate dates (GSC has ~3 day delay):

endDate=$(date -v-3d +%Y-%m-%d)
startDate=$(date -v-31d +%Y-%m-%d)
echo "endDate: $endDate | startDate: $startDate"

Execution

Step 1 — Pull query+page data: Call query_search_analytics with:

  • siteUrl: the site property
  • startDate: calculated startDate
  • endDate: calculated endDate
  • dimensions: ["query", "page"]
  • rowLimit: 1000

Post-processing — detect cannibalization: Group the results by query. For each query:

  • Count distinct page values
  • If a query has 2 or more distinct pages → it is cannibalized
  • Keep only cannibalized queries for the report

For each cannibalized query, identify:

  • "Winning" page: the page with the most clicks for that query
  • "Losing" pages: all other pages competing for the same query

Sort cannibalized queries by total impressions descending (highest-traffic cannibalization issues first).

CTR display rule: API returns CTR as decimal — multiply by 100 for display.

Output Format

## GSC Cannibalization Report: [site property]
**Period:** [startDate] to [endDate] (28 days)
**Cannibalized queries found:** [count]

### Cannibalized Keywords

#### Query: "[query]" ([total impressions] impressions)
| Role | Page URL | Clicks | Impressions | CTR | Position |
|------|----------|--------|-------------|-----|----------|
| WINNING | [url] | [n] | [n] | [X.XX%] | [X.X] |
| losing | [url] | [n] | [n] | [X.XX%] | [X.X] |

**Recommendation:** [recommendation based on situation]

[Repeat for each cannibalized query...]

### Summary
| Metric | Value |
|--------|-------|
| Total cannibalized queries | [count] |
| Total pages involved | [count] |
| Estimated lost clicks | [sum of losing page clicks] |

Recommendation logic:

  • If winning page has much higher position (lower number): consolidate losing pages into winning page via redirect or canonical
  • If positions are close (within 3): add canonical signals pointing from losing to winning page; consider merging content
  • If the pages cover distinct subtopics: differentiate content more clearly or use internal links to signal hierarchy

If no cannibalization found, report: "No keyword cannibalization detected. Each query appears on only one page in the top 1000 results."

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

seo

免费

Comprehensive SEO analysis for any website or business type. Orchestrates 52 sub-skills (52 active): full site audits, technical SEO (CWV/INP), schema, E-E-A-T content quality, images, sitemaps, GEO for AI Overviews, llms.txt generation, AI crawler audit, plus live GSC and Ahrefs MCP data. GSC: overview, drops, opportunities, brand-vs-nonbrand, cannibalization, compare, content-decay, index-issues, new-keywords. Ahrefs: overview, backlinks, keywords, competitors, content-gap, broken-links, new-links, anchor-analysis, dr-history, top-pages. Cross-MCP: serp, content-brief, brand-radar, site-audit-pro, report. Local: log-analysis, ai-content-check, internal-links, local, migration-check, obsidian-kb. AI Readability: llms-txt, robots-ai. Performance: lighthouse-audit, core-web-vitals, page-experience. Quality & AI Search: rich-results, ai-optimization, eeat-audit, helpful-content. Triggers on: "SEO", "audit", "schema", "Core Web Vitals", "sitemap", "E-E-A-T", "AI Overviews", "GEO", "technical SEO", "content quality", "structured data", "GSC", "Ahrefs", "backlinks", "keywords", "search console", "domain rating", "local SEO", "migration", "lighthouse", "pagespeed", "LCP", "INP", "CLS", "page experience", "interstitials", "mobile friendly", "rich results", "rich snippets", "schema eligibility", "AI optimization", "AI search readiness", "EEAT", "trust signals", "helpful content", "people-first", "content quality gate".

中文简介正在准备中。当前显示原文说明。

lionkiii/claude-seo-skills222026年6月11日 更新

Analyze a domain's anchor text distribution from Ahrefs: see the breakdown of anchor text used across all backlinks and assess link profile health. Use when user says "anchor text", "anchor analysis", "anchor distribution", "link anchors", or "anchor text profile".

中文简介正在准备中。当前显示原文说明。

lionkiii/claude-seo-skills222026年6月11日 更新

Analyze a domain's backlink profile using Ahrefs: see who links to the domain, source Domain Rating, anchor text, link type, and when each link was first seen. Use when user says "Ahrefs backlinks", "backlink profile", "who links to", "link analysis", or "referring pages".

中文简介正在准备中。当前显示原文说明。

lionkiii/claude-seo-skills222026年6月11日 更新

Find broken backlinks pointing to a domain using Ahrefs: links targeting 404 pages that can be reclaimed. Prioritizes highest-DR lost links for maximum recovery impact. Use when user says "broken backlinks", "broken links", "link reclamation", "dead backlinks", or "404 backlinks".

中文简介正在准备中。当前显示原文说明。

lionkiii/claude-seo-skills222026年6月11日 更新

Discover a domain's top organic competitors from Ahrefs: competing domains, keyword overlap count, shared keywords, and unique competitor keywords. Use when user says "Ahrefs competitors", "organic competitors", "competing domains", "keyword overlap", or "who competes with".

中文简介正在准备中。当前显示原文说明。

lionkiii/claude-seo-skills222026年6月11日 更新

Find keywords that competitors rank for but the target domain does not, using Ahrefs data. Reveals content opportunities and topic gaps. Use when user says "content gap", "keywords competitors rank for", "missing keywords", "competitor keywords", or "content gap analysis".

中文简介正在准备中。当前显示原文说明。

lionkiii/claude-seo-skills222026年6月11日 更新

查看 lionkiii 的全部技能

报告此技能的问题