マーケティング — SEO内部リンク

WordPress内部リンク自動挿入ツール

内部リンク候補エージェントが提案した承認済み候補を
WordPress REST API で記事に自動書き込み
Gutenberg / Classic エディタ両対応・重複チェック付き。

🔗 WordPress REST API 📊 Google Sheets API 🐍 Python 🖥️ Claude Code CLI

このツールはどのフェーズで使うのか

内部リンク構築は2フェーズで構成されています。 本ツールは第2フェーズとして、 AIエージェントが出力した「承認済みリンク候補」をWordPressへ自動反映します。

📊 Spreadsheet
SEOデータ入力
🤖 AIエージェント
STEP1〜5 候補提案
✅ 承認
H〜M列に候補記録
🔧 本ツール
WordPress自動挿入
📝 完了
N/O/P列にステータス

手動反映作業のボトルネックを解消

Before — 従来の課題
  • 承認済み候補が100件超えると手動反映に数日かかる
  • Gutenberg / Classic の判定を誤り挿入が壊れる
  • すでにリンクが貼られた記事に二重挿入してしまう
  • どの記事が処理済みか管理が煩雑になる
  • SWELL ブログカード(投稿ID埋め込み)を重複と見抜けない
After — このツールの解決策
  • スプレッドシートのURLを渡すだけで全件を自動処理
  • ブロックコメントを検出してエディタを自動判定
  • raw + rendered 両コンテンツで二重挿入を防止
  • 処理結果をN/O/P列に書き戻し、次回実行でスキップ
  • renderedコンテンツの href 解析でブログカード重複を検知

5つの主要機能

🔍
エディタ自動判定

4ステップの自動挿入フロー

コマンド1行で以下が自動実行されます。

1
承認済み候補の読み込み
Spreadsheet の H〜M 列(承認済みリンク先URL・見出し 最大3セット)を取得。N列にステータスがある行はスキップして処理済み記事を自動除外します。
Google Sheets API
2
WordPress 記事の取得
候補URLからスラッグを抽出し、WordPress REST API で記事本文を取得。raw(ブロックマークアップ)と rendered(レンダリング済みHTML)の両方を取得して処理に使います。
WordPress REST API / wp-json/wp/v2
3
見出しへのリンク挿入
エディタ形式(Gutenberg / Classic)を自動判定し、指定見出しセクション末尾にリンクを挿入。すでに同一URLが存在する場合はスキップ(SWELL ブログカードも検知)。挿入後 REST API で記事を更新します。
WordPress REST API(PUT /posts/{`id`})
4
ステータスの書き戻し
処理結果を Spreadsheet に記録(済み / スキップ / エラー)。エラー時は詳細メッセージも記録。次回実行時は処理済み行を自動でスキップします。
Google Sheets API(N/O/P列)

Gutenberg / Classic エディタ 両対応

記事ごとにエディタ形式が異なるサイトでも、--editor auto(デフォルト)を指定するだけで自動判定・適切な形式で挿入します。

📝 Classic エディタ
  • HTMLの <h2〜h5> タグで見出しを検索
  • 同レベル以上の次の見出し直前に挿入
  • リンク形式: <p><a href=…> タグ
  • URLのみ形式(WordPress oEmbed処理)も選択可
⚡ Gutenberg エディタ
  • <!-- wp: コメント or wp-block クラスを検出
  • セクション末尾に wp:embed ブロックとして挿入
  • atag モードでは wp:paragraph ブロックで挿入
  • SWELL ブログカード形式にも対応

Spreadsheet N〜P 列でステータス管理

処理結果は自動でスプレッドシートに書き戻されます。再実行しても処理済み行はスキップされるため、大量処理を分割実行しても安全です。

内容 書き込み値の例
N列(結果) 処理ステータス。空欄の行のみ処理対象 済み  スキップ(リンク済み)  エラー
O列(日時・詳細) 処理日時 + エラー時は詳細メッセージ 2026-07-12 14:30 / 見出し未発見: …
P列(挿入件数) 実際に挿入できたリンク数(0〜3) 2

実行コマンド例

# 基本実行(エディタ自動判定 / URLリンク形式) py main_wp.py "https://docs.google.com/…" # 10件ずつ分割実行(安全な確認ながら処理) py main_wp.py "https://docs.google.com/…" --count 10 # テキストリンク形式で挿入(atag) py main_wp.py "https://docs.google.com/…" --link atag # 特定行のみ再実行(エラー行の修正確認に) py main_wp.py "https://docs.google.com/…" --row 42 # マルチサイト構成 / Gutenberg 固定指定 py main_wp.py "https://docs.google.com/…" --site example.com --editor gutenberg

導入効果

0
手動コピペ作業
全件をスクリプト1本で自動処理
2
チェック方式
raw + rendered で重複挿入ゼロ
Auto
エディタ判定
混在サイトでも設定不要
再実行回数
--count 分割で大量処理も安全

使用技術・ツール

🔗 WordPress REST API 📊 Google Sheets API(gspread) 🐍 Python 🖥️ Claude Code CLI 🔐 Application Password 認証 📄 regex(ブロック解析)

WordPress 認証情報は ~/.secrets/nyseo_sites.json に保存し、プロジェクトフォルダ外で一元管理。複数サイトを site_key(ドメイン名)で切り替え可能です。

内部リンク候補提案エージェントもご覧ください

本ツールは「内部リンク構築AIエージェント(STEP1〜5)」とセットで動作します。
候補提案フェーズの詳細はこちら。