mcpField
I
internal-link-builder

internal-link-builder

github.com/respira-pressマーケティング・グロース4984 回インストール1 週間前に更新
リポジトリ

internal-link-builder について

internal-link-builderは、公開済みのWordPressコンテンツを整理し、文脈に沿った内部リンクの機会を見つけるスキルです。提案を確認してもらってから、対象を絞った編集とスナップショットで変更を管理します。

主な機能

  1. 01トピックと既存の内部リンクを整理
  2. 02孤立ページと文脈に合うリンク機会を発見
  3. 03アンカーテキスト、挿入箇所、優先度、理由を提案
  4. 04承認済みリンクを対象指定または一括編集で適用
  5. 05リンク戦略の保存とページのスナップショット

活用シーン

  1. 01WordPressの投稿やページ間の関連リンクを発見
  2. 02孤立コンテンツを見つけ、トピッククラスターを強化
  3. 03優先度付きの内部リンク提案を確認して適用

MCP 対応

RespiraのMCPツールでWordPressコンテンツを読み取り、リンク機会を分析し、承認されたリンクを編集してサイト戦略を保存し、ページのスナップショット取得や復元を行います。

インストール

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

$npx skills add https://github.com/respira-press/agent-skills-wordpress --skill internal-link-builder

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

詳細

内部リンク構築

バージョン: 1.2.0 更新日: 2026-06-30 最新の更新: v1.2.0 では、リンクに触れる前に respira_get_snapshot ですべてのページのスナップショットを取得し、respira_find_element で対象の段落を正確に特定してから、ページ全体を書き換えるのではなく respira_update_element でその箇所に文脈に合ったリンクを挿入します。また、respira_batch_update で多くのページに一度にリンクを適用し、サイトごとのリンク戦略(アンカーテキストのルール、構築済みのクラスター、リンク禁止の組み合わせ)を respira_get_option / respira_update_option で保存するため、繰り返しの実行でも過去の作業を踏まえて構築できます。

WordPress サイト向けの戦略的な内部リンク構築です。公開済みのコンテンツをすべて分析し、トピック間の関連性を整理して、ページ間の価値の高いリンク機会を特定します。変更を加える前に、明確な計画を提示して承認を得ます。内部リンク、リンク構築、コンテンツの相互リンク、リンクが必要な孤立ページ、トピッククラスター、ピラーページについて言及された場合や、SEO のためにサイトの内部リンク構造を改善したい場合は、このスキルを使用してください。

このスキルでできること

内部リンクは、オンページ SEO における特に効果の高い施策の 1 つです。ページの評価を分配し、検索エンジンがサイト構造を理解するのを助け、訪問者を関連コンテンツへ誘導します。多くの WordPress サイトでは内部リンクが大幅に不足しており、本来得られる価値を逃しています。

このスキルは、公開済みのすべてのページと投稿を読み込み、コンテンツの関連マップを作成して、文脈に合ったリンクで関連コンテンツをつなぐ自然な機会を見つけます。変更に着手する前に、必ず計画の全容を提示します。

特定する項目:

  • 孤立したコンテンツ(内部リンクの受信がない、または少ないページ/投稿)
  • 関連するサブページへリンクすべきなのに、リンクしていないハブページ
  • 他のページで取り上げられているトピックに触れているものの、リンクしていないブログ投稿
  • ピラー/クラスターの機会(相互にリンクすべき、トピック関連性のあるコンテンツ)
  • リンクエクイティを分配できていない、評価を高める可能性の高いページ
  • リンク過多のページ(発リンクが多すぎて価値が希薄化しているページ)
  • 文脈に沿ったリンクの不足(トピックに言及しているのに、対応するリンクがない箇所)

提案する項目:

  • 具体的なリンク元ページ → リンク先ページの組み合わせ
  • 推奨アンカーテキスト(自然で説明的、キーワードを詰め込まないもの)
  • リンクを配置する文脈(リンクを含める段落/セクション)
  • 優先度(影響度:高/中/低)
  • 各提案の理由(なぜこのリンクが適切なのか)

要件

  • Respira for WordPress プラグインがインストールされ、接続されていること
  • MCP 接続が有効であること(デスクトップまたは WebMCP)
  • サイトのコンテンツをスキャンするための読み取りアクセス
  • 重複を作成するための書き込みアクセス(ユーザーが変更を承認した場合のみ)

トリガーフレーズ

  • 「内部リンクを構築して」

別のトリガー

  • 「内部リンクを改善して」
  • 「内部リンクの機会を見つけて」
  • 「コンテンツを相互にリンクして」
  • 「孤立したページを修正して」
  • 「トピッククラスターを作成して」
  • 「ページ同士をリンクして」
  • 「内部リンクを監査して」

実行ワークフロー

フェーズ 1:コンテンツの棚卸しとマッピング
  1. respira_get_site_context を使用して、Respira と MCP の接続を確認します。利用できない場合は、作業を中止してセットアップ手順を案内します。
  2. respira_get_option(キー respira_internal_link_strategy)を使用して、このサイト用に保存されたリンク戦略があれば読み込みます。保存されている場合は、前回までに構築したアンカーテキストのルール、トピッククラスター、リンク禁止の組み合わせが含まれています。前回の作業を繰り返し提案するのではなく、既存の作業を拡張できるように活用します。保存されていない場合は、新規に作成し、フェーズ 4 で書き戻します。
  3. 公開済みコンテンツをすべて取得します。
    • respira_list_pages — すべてのページを取得します
    • respira_list_posts — すべての投稿を取得します
  4. 各コンテンツ項目について、全文を読み込みます。
    • respira_read_page または respira_read_post
    • 次の項目を抽出します:タイトル、URL/スラッグ、見出し、主要トピック、既存の内部リンク、文字数
  5. コンテンツマップを作成します。以下を構造化してまとめます。
    • 各ページ/投稿の主要トピックとサブトピック
    • 各コンテンツがターゲットとするキーワードとフレーズ
    • 既存の内部リンク(リンク元 → リンク先の組み合わせ)
    • ページごとの被リンク数
    • コンテンツの種類(ピラーページ、ブログ投稿、製品ページ、ランディングページなど)
フェーズ 2:機会の分析

コンテンツマップを分析して、リンクの機会を見つけます。リンク候補ごとに、次の点を評価します。

  1. トピックとの関連性 — リンク元のコンテンツはリンク先と自然に関連していますか?読者にとって本当に役立つつながりがある場合にのみ、リンクを提案します。リンクは、無理な SEO 対策ではなく、「詳しくはこちらをご覧ください」と自然に案内するように感じられる必要があります。

  2. 文脈への適合性 — リンク元のコンテンツに、リンクを自然に配置できる場所がありますか?次の点を確認します。

    • リンク先ページのトピックへの言及があるものの、リンクが設定されていない箇所
    • 関連する概念について説明している段落
    • リンク先を自然に追加できるリストやリソースのセクション
    • より広いトピックに言及している導入部や結論
  3. リンクエクイティの価値 — 次の点を考慮します。

    • 孤立ページ(被リンク数が 0〜1 件)は、リンク先として優先します
    • トラフィックやオーソリティの高いページは、リンク元として価値があります
    • ナビゲーションからアクセスしにくい深い階層のページほど、リンクの効果が高くなります
    • 特定のページにリンクを貼りすぎないようにします(1 ページあたり新規リンクが約 3〜5 件を超えると効果が薄れていきます)
  4. アンカーテキストの品質 — 次の条件を満たすアンカーテキストを提案します。

    • 文脈の中で自然に読める
    • 読者がリンク先で何を読めるかを説明している(「ここをクリック」ではない)
    • スパム的にならず、関連するキーワードを使用している
    • 同じリンク先へのリンクごとに表現を変えている
フェーズ 3:計画の提示

リンク計画を、わかりやすく確認しやすいレポートとして提示します。優先度別に提案をまとめます。

## Internal Link Building Plan

### Site Overview
- Total pages/posts scanned: X
- Existing internal links found: X
- Orphaned content (0-1 inbound links): X
- New links recommended: X

### High Priority (orphaned pages & pillar connections)

1. **[Source Page Title]** → **[Target Page Title]**
   - Why: [Brief reasoning — e.g., "Source discusses WordPress security but doesn't link to your dedicated security guide"]
   - Anchor text: "[suggested anchor text]"
   - Placement: [Where in the source content — e.g., "In the paragraph about plugin vulnerabilities (under H2 'Keeping Your Site Safe')"]

2. ...

### Medium Priority (topical cluster links)
...

### Low Priority (nice-to-have contextual links)
...

### Summary
- High priority: X links (strongly recommended)
- Medium priority: X links (good for SEO)
- Low priority: X links (optional enhancement)

次に、以下のように尋ねます。

内部リンクの計画はこちらです。次のどれをご希望ですか?

  1. すべての提案を適用する(確認用の重複を作成します)
  2. 優先度の高いリンクのみ適用する
  3. 適用するリンクを選ぶ
  4. 参考資料として残し、変更は加えない

続行する前に、明示的な確認を待ちます。

フェーズ 4:リンクを適用する(承認された場合のみ)
  1. 編集を行う前に、変更するページのスナップショットを respira_get_snapshot で作成します。1つのスナップショットで一連の作業をカバーでき、respira_restore_snapshot を使ってワンステップで全体を元に戻せます。一般的なケースでは、従来の「先に複製する」手順の代わりに、ページを直接編集しつつスナップショットを安全策として使います(公開前に確認するため、ユーザーが横並びの下書きを明示的に希望する場合は、respira_create_page_duplicate / respira_create_post_duplicate による先行複製も引き続き選択できます)。
  2. 承認されたリンクごとに、ページを書き換えるのではなく、正確な挿入箇所を特定します。
    • respira_find_element を使い、リンクを挿入する段落またはブロックを特定します(プランの Placement メモに記録された周辺テキストまたは見出しと照合します)。
    • respira_update_element を使って該当する要素だけにリンクを適用し、一致したテキストに <a href="...">アンカーテキスト</a> をインラインで挿入します。これにより、ページの残りの部分はバイト単位で変更されません。
    • ページビルダーの形式(Gutenberg ブロック、Divi ショートコード、Elementor データなど)を守ります。構造が複雑な場合は、まず respira_extract_builder_content を使ってノードツリーを確認します。
  3. 1回の実行で多くのページにリンクを追加する場合は、ページごとに個別に書き込む代わりに respira_batch_update を使います。承認済みプランから編集リスト(ページ/投稿 ID + 要素のターゲット + 新しいマークアップ)を作成し、まとめて送信します。単発の挿入に限り、respira_update_element / respira_update_page / respira_update_post の個別呼び出しに切り替えます。
  4. すべての編集を適用した後、次の内容を含む概要を提示します。
    • 変更したページ数
    • 追加したリンクの合計数
    • ロールバック用のスナップショット IDと、WordPress 管理画面で変更後のページを確認するためのリンク
  5. respira_update_option(キー respira_internal_link_strategy)を使って、更新後のリンク戦略を保存します。構築済みのトピッククラスター、使用したアンカーテキストの規則、リンクを設定しない組み合わせを記録し、次回の実行がこの状態から始まるようにします。

リンク品質ルール

これらのルールに従って、有害またはスパム的な提案を防ぎます。

  • 関連性を最優先 — SEO の仕組みだけを理由にリンクを提案してはいけません。2つのページ間を移動する読者にとって、すべてのリンクが実際に役立つ必要があります。
  • 自己リンクは禁止 — ページから同じページへのリンクは設定しません。
  • 重複リンクは禁止 — リンク元のページにすでに存在するリンクは提案しません。
  • 既存リンクを尊重 — 段落にすでに2つ以上のリンクがある場合、追加しません。読みやすさにはリンク密度も重要です。
  • 自然なアンカーテキスト — 完全一致キーワードの詰め込みは禁止です。アンカーテキストは文の一部として自然に読めるものにします。
  • ページビルダーに配慮 — リンクを挿入するときは、ページビルダーのコンテンツ形式を維持します。Divi のショートコード、Elementor の JSON、Gutenberg のブロックマークアップを壊してはいけません。
  • デフォルトでは慎重に — リンクの関連性に確信が持てない場合は、追加しません。質の低いリンクを30件提案するより、優れたリンクを10件提案する方が適切です。

出力形式

必ず次の内容を含めます。

  1. サイトコンテンツの概要(スキャンしたページ/投稿、既存のリンク密度)
  2. コンテンツマップの要点(特定したトピッククラスター、見つかった孤立コンテンツ)
  3. 優先順位を付けたリンク計画(高/中/低。それぞれの理由を含める)
  4. 明確な確認依頼 — 承認なしに作業を進めてはいけません
  5. 影響の見積もり(リンクによってどの孤立ページが救済され、どのクラスターが強化されるか)

変更を適用した場合は、次の内容も含めます。

  1. 変更概要(変更したページ、追加したリンク、スナップショット ID)
  2. 確認手順(WordPress で確認するページと、ロールバックの方法)

安全モデル

  • まず読み取り専用で分析します — 変更を加える前に、コンテンツ全体をスキャンします
  • 編集前に、ユーザーの明示的な確認を得ます
  • 書き込み前にスナップショットを取得します — respira_get_snapshot で先にページを保存するため、respira_restore_snapshot を使って実行全体を一度に元に戻せます
  • 対象を絞って編集します — respira_find_element と respira_update_element で、一致した段落だけを変更し、ページの残りの部分には手を加えません(ページ全体を書き換えません)
  • ユーザーがインプレース編集ではなく、並べて確認できる下書きを希望する場合は、複製を先に作成する方法も引き続き利用できます
  • ロールバックの手順を案内します(変更を取り消したい場合は、スナップショットを復元します)
  • 既存のコンテンツとリンクをすべて保持します — 削除せず、追加のみ行います

誠実な免責事項

このスキルは、内部リンクの機会を見つけ、レビュー用に最適化した複製を作成します。

できないこと:

  • 検索順位の向上を保証すること
  • 外部リンク/被リンクのプロファイルを改善すること
  • 適切なコンテンツ戦略に取って代わること
  • レビューなしで変更を公開すること

できること:

  • 見落としていた、実際に関連性のあるコンテンツを見つけること
  • 孤立したページを見つけやすくすること
  • 文脈に沿ったリンクでトピッククラスターを強化すること
  • 手作業によるコンテンツ監査の時間を大幅に節約すること

ツール

WordPress のコアツール

  • respira_get_site_context
  • respira_list_pages
  • respira_list_posts
  • respira_read_page
  • respira_read_post
  • respira_extract_builder_content
  • respira_inject_builder_content
  • respira_create_page_duplicate
  • respira_create_post_duplicate
  • respira_update_page
  • respira_update_post

対象を絞った挿入(リンク編集に推奨)

  • respira_find_element — 文脈に沿って挿入するため、対象の段落/ブロックを正確に特定します
  • respira_update_element — ページ全体を書き換えず、その要素だけにリンクを挿入します
  • respira_batch_update — 1 回の処理で複数のページにリンクを適用します

スナップショットとロールバック

  • respira_get_snapshot — 編集前にページを保存します
  • respira_restore_snapshot — 1 回の操作で元に戻します

サイトごとの戦略の保存

  • respira_get_option — 保存済みのリンク戦略(respira_internal_link_strategy)を読み込みます
  • respira_update_option — 作成したクラスター、アンカーテキストのルール、リンクを避ける組み合わせを保存します

テレメトリー

実行の完了後、次の宛先に、ユーザーを待たせずに利用状況を送信します。

  • POST https://www.respira.press/api/skills/track-usage

次の情報を含めます。

  • skill_slug = internal-link-builder
  • サイト/バージョンのコンテキスト
  • 所要時間と成功の有無
  • スキャンしたページ数、推奨したリンク数、適用したリンク数
  • 使用したツール

テレメトリーの送信に失敗しても、ユーザーの操作を妨げてはいけません。

関連スキル

  • SEO & AEO Amplifier(このスキルを補完します — 先に SEO 監査を実施し、その後リンクを作成します)
  • WordPress Site DNA(リンク作成前にサイト構造を把握します)
  • Technical Debt Audit

Respira Team が開発 https://respira.press/skills/internal-link-builder

コメント