OVERVIEW
このツールはどのフェーズで使うのか
内部リンク構築は2フェーズで構成されています。 本ツールは第2フェーズとして、 AIエージェントが出力した「承認済みリンク候補」をWordPressへ自動反映します。
📊 Spreadsheet
SEOデータ入力
SEOデータ入力
→
🤖 AIエージェント
STEP1〜5 候補提案
STEP1〜5 候補提案
→
✅ 承認
H〜M列に候補記録
H〜M列に候補記録
→
🔧 本ツール
WordPress自動挿入
WordPress自動挿入
→
📝 完了
N/O/P列にステータス
N/O/P列にステータス
CHALLENGE / SOLUTION
手動反映作業のボトルネックを解消
Before — 従来の課題
- 承認済み候補が100件超えると手動反映に数日かかる
- Gutenberg / Classic の判定を誤り挿入が壊れる
- すでにリンクが貼られた記事に二重挿入してしまう
- どの記事が処理済みか管理が煩雑になる
- SWELL ブログカード(投稿ID埋め込み)を重複と見抜けない
After — このツールの解決策
- スプレッドシートのURLを渡すだけで全件を自動処理
- ブロックコメントを検出してエディタを自動判定
- raw + rendered 両コンテンツで二重挿入を防止
- 処理結果をN/O/P列に書き戻し、次回実行でスキップ
- renderedコンテンツの href 解析でブログカード重複を検知
FEATURES
5つの主要機能
🔍
エディタ自動判定
PROCESS
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列)
EDITOR SUPPORT
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 ブログカード形式にも対応
STATUS MANAGEMENT
Spreadsheet N〜P 列でステータス管理
処理結果は自動でスプレッドシートに書き戻されます。再実行しても処理済み行はスキップされるため、大量処理を分割実行しても安全です。
| 列 | 内容 | 書き込み値の例 |
|---|---|---|
| N列(結果) | 処理ステータス。空欄の行のみ処理対象 | 済み スキップ(リンク済み) エラー |
| O列(日時・詳細) | 処理日時 + エラー時は詳細メッセージ | 2026-07-12 14:30 / 見出し未発見: … |
| P列(挿入件数) | 実際に挿入できたリンク数(0〜3) | 2 |
USAGE
実行コマンド例
# 基本実行(エディタ自動判定 / 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
EFFECTS
導入効果
0件
手動コピペ作業
全件をスクリプト1本で自動処理
2重
チェック方式
raw + rendered で重複挿入ゼロ
Auto
エディタ判定
混在サイトでも設定不要
∞
再実行回数
--count 分割で大量処理も安全
TECH STACK
使用技術・ツール
🔗 WordPress REST API
📊 Google Sheets API(gspread)
🐍 Python
🖥️ Claude Code CLI
🔐 Application Password 認証
📄 regex(ブロック解析)
WordPress 認証情報は ~/.secrets/nyseo_sites.json に保存し、プロジェクトフォルダ外で一元管理。複数サイトを site_key(ドメイン名)で切り替え可能です。
内部リンク候補提案エージェントもご覧ください
本ツールは「内部リンク構築AIエージェント(STEP1〜5)」とセットで動作します。
候補提案フェーズの詳細はこちら。