mcpField
T
topical-authority-mapper

topical-authority-mapper

github.com/gooseworks-aiマーケティング・グロース1.3k65 回インストール3 日前に更新
リポジトリ

topical-authority-mapper について

SEO チームやコンテンツ戦略担当者向けに、トピッククラスターの設計、網羅状況の監査、コンテンツカレンダーの作成を支援するマーケティングスキルです。基本調査に加え、キーワードデータで分析を補強できます。

主な機能

  1. 01自社と競合のコンテンツ監査
  2. 02サブトピックの発見と分類
  3. 03ピラーページとクラスターの設計
  4. 04内部リンク構造の設計
  5. 05ギャップ評価とカレンダー作成

活用シーン

  1. 01特定テーマのコンテンツを計画
  2. 02競合とのコンテンツギャップを発見
  3. 03SEOカレンダーの記事に優先順位を設定

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/gooseworks-ai/goose-skills --skill topical-authority-mapper

インストール後、Claude Code で/topical-authority-mapperを入力して読み込まれたか確認します。

同梱ファイルskill.meta.json

詳細

トピック権威性マッパー

多くのコンテンツ戦略は、キーワードのリストをブログ記事にしただけです。本当のトピック権威性を築くには、構造化されたマップが必要です。幅広いトピックを扱うピラーページ、サブトピックを掘り下げるクラスター記事、そして「このテーマを網羅的に扱っている」と Google に伝える内部リンク構造です。このスキルは、そのマップを作成します。

基本原則: Google が評価するのは、無作為なキーワードの網羅ではなく、トピックの深さです。「営業自動化」を徹底的に扱う相互リンクされた15本の記事があるサイトは、たまたまその語句に触れているだけの無関係なブログ記事が50本あるサイトより上位に表示されます。このスキルは、真の権威性を生み出すクラスター構造を構築します。

使用する場面

  • 「[トピック]で優位に立つには、どんなコンテンツを作成すればよいですか?」
  • 「ブログ向けのトピッククラスター戦略を作成してください」
  • 「[カテゴリ]におけるトピック権威性をマッピングしてください」
  • 「トピッククラスターに基づくコンテンツカレンダーを作成してください」
  • 「どんなコンテンツギャップがありますか?」

ツールによる拡張(任意)

検索ボリューム、難易度、何百ものサブトピックのバリエーションにわたる意味的な関連性を示すキーワードデータがあれば、トピッククラスターのマッピングの精度が大幅に向上します。

ユーザーへのエージェントのプロンプト

「競合分析とコンテンツギャップの特定を通じて、包括的なトピック権威性マップを作成できます。最も精度の高い結果を得るには、特に正確な検索ボリュームデータや大規模なキーワードクラスタリングが必要な場合、キーワードデータ API の接続をおすすめします。」

おすすめ:DataForSEO(従量課金、1キーワードあたり約$0.01、月額最低料金なし)

  • dataforseo.com で登録し、API ログイン名とパスワードを取得します
  • DATAFORSEO_LOGIN と DATAFORSEO_PASSWORD の環境変数を設定します

利用可能な代替サービス:

  • Keywords Everywhere API(10クレジットあたり$1=10万キーワード、非常に安価)→ KEYWORDS_EVERYWHERE_API_KEY を設定します
  • SEMrush API(サブスクリプションをお持ちの場合)→ SEMRUSH_API_KEY を設定します
  • Ahrefs API(サブスクリプションをお持ちの場合)→ AHREFS_API_TOKEN を設定します

「いずれかを使用しますか?それともベースラインモードで進めますか?ベースラインモードでは、既存の SEO ツールとウェブ調査を使用します。サブトピックごとの検索ボリュームデータはより大まかになりますが、質の高いトピックマップを作成できます。」

モードの選択
  • 拡張モード — DataForSEO / Keywords Everywhere / SEMrush / Ahrefs を使った一括キーワードデータ取得。すべてのサブトピックについて、検索ボリューム、難易度、意味的なグルーピングを取得します。データに基づく優先順位付けと、ギャップの正確な特定が可能になります。関連語句を自動的にグループ化するキーワードクラスタリング API にも対応しています。
  • ベースラインモード — ドメイン指標には seo-domain-analyzer、トピック調査には web_search、質問の調査には reddit-post-finder、競合分析には site-content-catalog を使用します。トピックマッピングとクラスター構造の品質は同等です。検索ボリュームは正確な値ではなく、目安として推定されます。

フェーズ 0:ヒアリング

  1. サイト URL — 既存コンテンツの監査に使用します
  2. 対象トピック — 権威性を築きたい幅広いトピック領域を1~5個(例:「営業自動化」、「コンテンツマーケティング」、「データプライバシー」)
  3. 競合 — これらのトピックで上位表示されている競合サイトの URL を2~5個
  4. ICP — 誰がコンテンツを読みますか?(役職、課題、目標)
  5. コンテンツ制作能力 — チームで月に何本の記事を制作できますか?
  6. 既存コンテンツ — ブログはありますか?記事は何本ありますか?(監査します)
  7. 期間 — 3か月、6か月、12か月のいずれの計画ですか?
  8. ツールの希望 — キーワード API を使用する拡張モードと、ベースラインモードのどちらにしますか?(上記の「ツールによる拡張」を参照)

フェーズ 1:現状の監査

1A:既存コンテンツ

自社サイトで site-content-catalog を実行します。

python3 skills/site-content-catalog/scripts/catalog_content.py \
  --url "<your_site_url>" \
  --output json

既存のコンテンツをすべて整理します。

  • トピック別のブログ記事
  • リソースページ、ガイド、用語集
  • コンテンツを含むランディングページ
  • すでにコンテンツがあるトピックを特定する
  • 注意点:内容の薄いページ、古いコンテンツ、孤立ページ(内部リンクがないページ)
1B: 競合コンテンツのマッピング

競合ごとに site-content-catalog を実行します:

python3 skills/site-content-catalog/scripts/catalog_content.py \
  --url "<competitor_url>" \
  --output json

競合のコンテンツ構造をマッピングします:

  • トピッククラスターはどのように構成されていますか?
  • ピラーページがあるトピックはどれですか?
  • クラスターはどの程度深く掘り下げられていますか?
  • 内部リンクのパターン
  • コンテンツの鮮度(更新日)
1C: ドメインオーソリティの基準値

自社サイトと競合サイトで seo-domain-analyzer を実行します:

  • 自社のドメインオーソリティと競合の比較
  • キーワードの重複分析
  • 競合が上位表示されていて、自社が上位表示されていないキーワード

フェーズ 2:トピックの範囲を拡大する

2A: サブトピックの発見

対象となるトピック領域ごとに、サブトピックを網羅的に洗い出します:

拡張モード(DataForSEO / Keywords Everywhere):

# DataForSEO keyword suggestions
POST /v3/dataforseo_labs/google/keyword_suggestions/live
{
  "keyword": "<topic>",
  "limit": 500
}

# DataForSEO related keywords
POST /v3/dataforseo_labs/google/related_keywords/live
{
  "keyword": "<topic>",
  "limit": 500
}

以下を抽出します:

  • 関連するすべてのキーワードと質問
  • キーワードごとの検索ボリューム
  • キーワード難易度スコア
  • 意味ごとに自動クラスタリングされたセマンティックグループ

ベースラインモード:

複数の情報源を使ってサブトピックのリストを作成します:

  • web_search で「トピック + [what/how/why/best/vs/guide/examples]」を検索
  • reddit-post-finder で、そのトピックについて人々が尋ねている質問を調べる
  • Google オートコンプリートのパターン(ウェブ検索経由)
  • 競合のコンテンツタイトル(フェーズ 1B から)
  • 検索結果の PAA 質問
2B: 質問の抽出

トピック領域ごとに reddit-post-finder を実行します:

python3 skills/reddit-post-finder/scripts/search_reddit.py \
  --subreddit "<relevant_subs>" \
  --keywords "<topic>" \
  --days 365 --sort top --time year

以下を抽出します:

  • 人々が尋ねている質問(→ 個別の記事トピック)
  • 繰り返し現れるテーマ(→ クラスターピラー)
  • 誤解(→ 誤解を正すコンテンツ)
  • 人々が行う比較(→ vs/ コンテンツ)
  • 話題に上がるユースケース(→ ユースケースのコンテンツ)
2C: キーワードのクラスタリング

見つかったキーワード/サブトピックを意味ごとのクラスターにまとめます:

拡張モード: DataForSEO のキーワードクラスタリング API を使うか、SERP の重複に基づいてグループ化します(上位表示 URL を 3 件以上共有するキーワードは、同じクラスターに属する可能性が高いです)。

ベースラインモード: 以下に基づいて、手動で意味ごとにグループ化します:

  • 共通する基本概念
  • ユーザーインテントの一致(情報収集/商用/ナビゲーション)
  • トピックの階層(広いもの → 具体的なもの)

フェーズ 3:クラスター構造

3A: ピラーとクラスターのマッピング

トピック領域ごとに、クラスターの階層構造を設計します:

PILLAR: [Broad Topic] — "The Complete Guide to [Topic]"
│
├── CLUSTER 1: [Subtopic Group A]
│   ├── Article: [Specific subtopic A1]
│   ├── Article: [Specific subtopic A2]
│   └── Article: [Specific subtopic A3]
│
├── CLUSTER 2: [Subtopic Group B]
│   ├── Article: [Specific subtopic B1]
│   ├── Article: [Specific subtopic B2]
│   └── Article: [Specific subtopic B3]
│
├── CLUSTER 3: [Subtopic Group C]
│   ├── Article: [Specific subtopic C1]
│   └── Article: [Specific subtopic C2]
│
└── SUPPORTING: [Glossary terms, FAQs, tools]
    ├── Glossary: [Term 1]
    ├── Glossary: [Term 2]
    └── FAQ: [Common questions]
3B: コンテンツタイプの割り当て

クラスター内の各コンテンツに、コンテンツタイプを割り当てます:

コンテンツタイプ使用する場面標準的な語数
ピラーページ幅広いトピックの概要を扱い、クラスター内のすべてのコンテンツにリンクする3,000-5,000+
クラスター記事サブトピックを深く掘り下げる1,500-3,000
比較記事vs/ や代替案に関するコンテンツ2,000-3,500
ハウツーガイド手順を追った説明1,500-2,500
用語集の項目定義と文脈500-1,000
ツール/計算機インタラクティブなリソース500 + ツール
ケーススタディ根拠を示すコンテンツ1,000-2,000
リスト記事厳選した項目の一覧1,500-3,000
3C: 内部リンクの構造

リンク構造を設計します:

  1. ピラー → すべてのクラスター記事(すべてのクラスター記事に、ピラーからリンクする)
  2. クラスター記事 → ピラー(すべての記事からピラーに戻るリンクを設定する)
  3. クラスター記事 ↔ 関連するクラスター記事(クラスター内の記事同士を相互にリンクする)
  4. トピックが重なる箇所にクラスターをまたぐリンクを設定する
  5. 補助コンテンツ → 関連するクラスター記事(用語集の項目から、その用語を詳しく説明する記事にリンクする)

リンクごとに具体的なアンカーテキストを指定します。

フェーズ 4:ギャップ分析と優先順位付け

4A: コンテンツ網羅性のギャップマトリックス
サブトピック自社のコンテンツ競合 A競合 B検索ボリューム難易度ギャップ?
[subtopic 1]✗ なし✓ ピラーページ✓ ブログ記事[vol][diff]✓ 優先度高
[subtopic 2]✓ 内容の薄い記事✓ 詳細なガイド✗ なし[vol][diff]✓ 更新が必要
[subtopic 3]✓ 詳細なガイド✓ 同様の内容✓ 同様の内容[vol][diff]✗ 網羅済み
[subtopic 4]✗ なし✗ なし✗ なし[vol][diff]✓ ホワイトスペース
4B:優先度スコアリング

各コンテンツの優先度をスコア化し、次のものを作成します。

要素重み説明
検索ボリューム25%月間検索需要
競合との差25%既存のものと比べて、どれだけ優れたものを作れますか?
検索意図との適合性20%検索ユーザーはあなたの ICP に該当しますか?
クラスターの網羅性15%クラスター内の重要な不足を補えますか?
労力15%高品質なコンテンツの作成にどれだけの作業が必要ですか?
4C:コンテンツカレンダー

コンテンツ制作のキャパシティと優先度スコアに基づきます。

1か月目: [N] 個のピラーの基盤を構築

  • [ピラー 1] — [理由]
  • [優先度が最も高いクラスター記事 3~5 件]

2か月目: クラスター 1 を深掘りし、クラスター 2 を開始

  • [記事 5~8 件] — [理由]

3か月目: クラスター 2 を完成させ、クラスター 3 を開始

  • [記事 5~8 件] — [理由]

4~6か月目: 拡張

  • キャパシティに応じて、このパターンを継続

フェーズ 5:出力

# Topical Authority Map — [Site/Client] — [DATE]

## Executive Summary
- Topic areas mapped: [N]
- Total content pieces identified: [N] (pillars: [N], clusters: [N], supporting: [N])
- Existing content: [N] pages ([N] strong, [N] need updates, [N] gaps)
- Net new content needed: [N] pages
- Estimated timeline to full coverage: [N] months at [N] articles/month

---

## Topic Map: [Topic Area 1]

### Cluster Architecture
[Visual tree structure per Phase 3A]

### Pillar Page
- **Target keyword:** [keyword] ([volume]/mo, [difficulty])
- **Title:** [recommended title]
- **Content type:** Comprehensive guide
- **Word count target:** [X]-[Y]
- **Links to:** [all cluster articles listed]
- **Status:** [Exists — needs update / New — priority [P0/P1/P2]]

### Cluster: [Subtopic Group A]

#### Article: [Subtopic A1]
- **Target keyword:** [keyword] ([volume]/mo, [difficulty])
- **Content type:** [how-to / comparison / listicle / etc.]
- **Word count target:** [X]-[Y]
- **Links to:** Pillar + [related articles]
- **Links from:** Pillar + [related articles]
- **Priority:** [P0/P1/P2]
- **Anchor text:** "[anchor]" from pillar, "[anchor]" from [related article]

#### Article: [Subtopic A2]
...

### Cluster: [Subtopic Group B]
...

---

## Topic Map: [Topic Area 2]
...

---

## Internal Linking Matrix

| From ↓ / To → | Pillar | Article A1 | Article A2 | Article B1 | ... |
|----------------|--------|-----------|-----------|-----------|-----|
| **Pillar** | — | ✓ "[anchor]" | ✓ "[anchor]" | ✓ "[anchor]" | |
| **Article A1** | ✓ "[anchor]" | — | ✓ "[anchor]" | | |
| **Article A2** | ✓ "[anchor]" | ✓ "[anchor]" | — | | |
| **Article B1** | ✓ "[anchor]" | | | — | |

---

## Content Calendar

### Month 1: Foundation
| Week | Content Piece | Type | Cluster | Keywords | Priority |
|------|--------------|------|---------|----------|----------|
| W1 | [Pillar: Topic 1] | Pillar page | — | [kw] ([vol]) | P0 |
| W1 | [Article A1] | Cluster article | A | [kw] ([vol]) | P0 |
| W2 | [Article A2] | Cluster article | A | [kw] ([vol]) | P0 |
| W2 | [Article B1] | Cluster article | B | [kw] ([vol]) | P0 |

### Month 2: Depth
...

### Month 3: Expansion
...

---

## Coverage Gap Report

### High Priority (Competitors rank, you don't)
| Topic | Competitor Coverage | Your Status | Volume | Recommended Action |
|-------|-------------------|-------------|--------|--------------------|
| [topic] | A: Pillar, B: Blog post | None | [vol] | Create [content type] |

### Medium Priority (Weak coverage)
| Topic | Your Current Page | Issue | Volume | Recommended Action |
|-------|------------------|-------|--------|--------------------|
| [topic] | [URL] | Thin (400 words) | [vol] | Expand to [X] words, add [sections] |

### Existing Content Updates Needed
| URL | Issue | Action Required | Effort |
|-----|-------|----------------|--------|
| [url] | Outdated (2023 data) | Update stats, refresh examples | 2 hours |
| [url] | No internal links | Add [N] links to cluster articles | 30 min |
| [url] | Missing from pillar | Add link from pillar with "[anchor]" | 15 min |

---

## Metrics to Track
- **Topical coverage %** — Articles created vs. total identified
- **Internal link density** — Avg links per article within cluster
- **Cluster ranking velocity** — Time from publish to page 1 per cluster
- **Pillar page rankings** — Position for head terms
- **Organic traffic by cluster** — Traffic attributed to each topic cluster

現在の作業ディレクトリ、またはユーザーの希望する場所に保存します。

大規模なトピックマップ(トピック領域が 3 つ以上)の場合は、概要 CSV もエクスポートします。 content-calendar-[YYYY-MM-DD].csv

コスト

コンポーネントコスト
サイトカタログ(自社サイト、1 回)~$0.05-0.10
競合サイトごとのサイトカタログ~$0.05-0.10
SEO ドメインアナライザー~$0.10-0.20
Reddit スクレイパー(トピック領域ごと)~$0.05-0.10
DataForSEO キーワードデータ(拡張版)~$0.50-3.00(キーワード数による)
Keywords Everywhere(拡張版の代替)~$0.01-0.10
ページの取得(競合コンテンツの分析)~$0.01-0.05
分析無料(LLM による推論)
トピック領域あたりの合計(基本)~$0.25-0.50
トピック領域あたりの合計(拡張版)~$0.75-3.50
トピック領域 3 つ(基本)~$0.75-1.50
トピック領域 3 つ(拡張版)~$2.25-10.50

必要なツール

  • Apify API トークン — APIFY_API_TOKEN env var
  • 上流スキル: site-content-catalog、seo-domain-analyzer、reddit-post-finder、fetch_webpage
  • オプション(拡張版): DataForSEO(DATAFORSEO_LOGIN + DATAFORSEO_PASSWORD)、Keywords Everywhere(KEYWORDS_EVERYWHERE_API_KEY)、SEMrush(SEMRUSH_API_KEY)、または Ahrefs(AHREFS_API_TOKEN)

スケジュール

継続的なトピック領域の権威性追跡には、次のように実施します。

  • 四半期ごとに実行し、網羅性の不足を再評価します
  • 毎月、その分野で新たに生まれたサブトピックがないか確認します
  • コンテンツを公開するたびに、公開 URL と内部リンクをマップに反映します

トリガーフレーズ

  • 「[トピック] における当社のトピック領域の権威性をマップ化して」
  • 「トピッククラスター戦略を構築して」
  • 「どのようなコンテンツの不足がありますか?」
  • 「SEO 向けのコンテンツカレンダーを作成して」
  • 「[トピック領域] で権威性を高めるにはどうすればよいですか?」
  • 「コンテンツアーキテクチャを計画して」

コメント