Communityコーディング&開発github.com

cygnixlabs-cmd/cygnix-seo-skills

Google Search Consoleのエクスポートデータから、自分のページ同士が同一クエリでインプレッションを奪い合っているキーワードカニバリゼーションを検出し、HIGH/MEDIUM/LOWにランク付けします。ユーザーがキーワードカニバリゼーションやページの競合について質問したとき、またはクエリとページのカラムを含むGSCエクスポートをアップロードしたときに使用します。オフラインで動作し、APIキーは不要です。

cygnix-seo-skills とは?

このスキルは、Google Search Consoleのパフォーマンスエクスポート(クエリ+ページレベルのデータ)を分析し、同一クエリに対して複数の自社URLがインプレッションを競合している「キーワードカニバリゼーション」を特定します。分析結果は、競合の深刻度に基づいてHIGH(2ページ目がクエリのインプレッションの30%以上を獲得し、順位差10以内)、MEDIUM(20%以上)、LOW(閾値以上だが多くの場合は無害)の3段階に分類されます。このスキルは完全にオフラインで動作するため、APIキーや外部サービスは不要で、データはユーザーのローカル環境にとどまります。主なユースケースは、SEO担当者が自社サイト内での意図しないキーワード競合を発見し、ページ統合、301リダイレクト、または意図分化といった対応策を検討するための第一歩を提供することです。各HIGH判定の行に対しては、マージと弱いページへの301リダイレクト、タイトル/H1の最適化解除、または意図の分化といったアクションを推奨しますが、クリックを獲得しているページのリダイレクト提案はユーザーに確認します。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/cygnixlabs-cmd/cygnix-seo-skills/tree/HEAD/skills/keyword-cannibalization-lite

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

キーワードカニバリゼーションファインダー(ライト版)

クエリとページの両方のカラムを持つSearch Consoleエクスポートを読み込み、複数のURLが実際にインプレッションを獲得しているクエリを一覧表示します。

いつ使うか

  • 「自分のページ同士がカニバリゼーションを起こしてる?」「同じキーワードで2つのページがランクインしている」「なぜGoogleはどのページを表示するか入れ替わるの?」という質問があるとき
  • ユーザーがクエリ+ページレベルのGSCパフォーマンスエクスポート(Looker StudioやAPIからのエクスポートも可)を持っているとき

実行方法

  1. GSCからエクスポート:パフォーマンス → クエリとページの両方のディメンションを追加(API、Looker Studio、またはGSCエクスポートツールを使用;UIだけでは一度に1つのディメンションしかエクスポートできません)。必要なカラム:query、page、clicks、impressions、position。名前は自動検出されます。
  2. 実行:
    python3 scripts/cannibalization.py gsc.csv
    python3 scripts/cannibalization.py gsc.csv --min-impressions 50 --min-share 15 --exclude "ブランド名"
    
  3. テーブルを表示します。各HIGHの行に対して、1つのアクションを推奨します:弱いページをマージして301リダイレクト、そのクエリに対するタイトル/H1の最適化を解除、または意図を分化します。クリックを獲得しているページのリダイレクトを提案する前には、ユーザーに確認してください。

深刻度

  • HIGH:2ページ目がクエリのインプレッションの30%以上を獲得し、1ページ目との順位差が10以内。
  • MEDIUM:2ページ目が20%以上を獲得。
  • LOW:閾値以上のその他(多くの場合は無害。例:ホームページと商品ページの組み合わせ)。

制限事項

このツールはページの内容を取得したり、意図の重複を判断したりしません。また、各ページに対する修正方法を選びません。分割が適切な場合(異なる意図に対応する異なるページ)もあるため、LOWは参考情報として扱ってください。

例

ベストランニングシューズ → プライマリ /best-running-shoes (6.2) と /blog/running-shoes-guide (14.8、インプレッションの31%) → HIGH。

ページごとの修正方法が欲しいですか?

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

cygnixlabs-cmd/cygnix-seo-skills

Give one web page a quick 0-100 AI search visibility (GEO/AEO readiness) score from its server-rendered HTML - AI crawler access, Organization/WebSite JSON-LD, structured data, title/meta, question headings, answer-first opening, llms.txt and freshness - with the top 5 fixes. Use when the user asks if a page is ready for ChatGPT, Perplexity, Google AI Overviews or other AI search, or wants a GEO/AEO score.

cygnixlabs-cmd/cygnix-seo-skills

Compare two Google Search Console page exports (an earlier period and a recent one) and flag pages that are LOST, DECLINING, in STRIKING_DISTANCE, GROWING or STABLE, ranked by clicks lost. Use when the user asks which pages lost traffic, about content decay, what to refresh or update first, or uploads two GSC page exports. Offline, no API keys.

cygnixlabs-cmd/cygnix-seo-skills

Group a keyword list into topic clusters with a pillar keyword, majority search intent and suggested page type, so one page targets each cluster. Use when the user pastes keywords or a keyword CSV and asks to cluster, group, organise or map keywords to pages, or plan a content hub. Offline, no API keys.

cygnixlabs-cmd/cygnix-seo-skills

Check whether a website has a valid /llms.txt (llmstxt.org format, working links, size) and whether robots.txt lets AI crawlers such as GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot and Google-Extended in. Use when the user asks about llms.txt, AI crawler access, blocking or allowing AI bots, or whether ChatGPT/Claude/Perplexity can read their site. Read-only.

関連スキル