SEO Agent — WordPressサイトのSEOをAPI経由でリモート最適化できるプラグイン

WordPressサイトのSEO対策、手作業で一つずつ直していませんか?

SEO Agent は、プラグインをインストールするだけで、REST API経由でSEOの問題検出から修正までをリモート実行できるWordPressプラグインです。noindex設定、サイトマップ最適化、日本語スラッグ変換、構造化データ、セキュリティヘッダーなど、9種類の修正をAPIコマンド1本で適用できます。

購入する(¥4,980)

動作要件:WordPress 6.0以上 / PHP 7.4以上


どんなプラグイン?

SEO Agentは、「顧客のサイトにインストール → トークンを共有 → こちらからAPI経由でSEO修正を適用」というワークフローを実現するためのプラグインです。

もちろん自分のサイトにインストールして、ターミナルからcurlコマンドで操作することもできます。

主な特徴

  • 8項目のSEOスキャン — ワンコマンドで問題を一括検出
  • 9種類のリモート修正 — API経由でnoindex、リダイレクト、構造化データなどを適用
  • セキュアなトークン認証 — bcryptハッシュ + IPごとのレート制限
  • 修正履歴の完全記録 — 誰がいつ何を変更したか追跡可能
  • WordPress標準に準拠 — Settings API、REST API、insert_with_markers等を正しく使用
  • アンインストール時に完全クリーンアップ — データもテーブルも.htaccessの変更も全削除

なぜ作ったか

自分のブログ(このサイト)のSEO整備をしていて、mu-pluginとしてnoindex制御、サイトマップ除外、リダイレクト、構造化データ出力、セキュリティヘッダーなどを一つのファイルに書いていました。

これを汎用化して、API経由で操作できるようにすれば、SEO代行サービスのツールとして使えるのでは?と思って作ったのがSEO Agentです。


スキャンで検出できる8つの問題

# チェック項目 概要
1noindex未設定support/privacyページなど、インデックス不要なページの検出
2サイトマップ漏れnoindexにすべきページがサイトマップに残っている
3日本語URLスラッグ%e3%80%90… のようなエンコード済みスラッグの検出
4構造化データ未設定BlogPosting JSON-LDが出力されていない
5ユーザー列挙可能REST API /wp/v2/users が匿名アクセスで閲覧可能
6RSSフィード漏れ不要な記事がRSSフィードに含まれている
7タグアーカイブのnoindexタグページがインデックスされている
8セキュリティヘッダー未設定.htaccessにHSTS等のヘッダーがない

API経由で実行できる9つの修正コマンド

アクション 内容
add_noindex_ruleパターン/スラッグ/ID/タクソノミー指定でnoindex追加
add_sitemap_exclusionサイトマップからの除外ルール追加
add_redirect301/302リダイレクト追加
migrate_slug投稿スラッグの変更(旧スラッグの自動リダイレクト付き)
migrate_term_slugカテゴリー/タグのスラッグ変更
enable_structured_dataBlogPosting JSON-LD自動出力
block_user_enumerationREST APIユーザー列挙ブロック
add_rss_exclusionRSSフィードからの除外
update_htaccessセキュリティヘッダーの追加

インストールと使い方

Step 1:プラグインのインストール

  1. 上のボタンから購入・ZIPファイルをダウンロード
  2. WordPress管理画面 → プラグイン → 新規追加 → プラグインのアップロード
  3. ZIPを選択してインストール → 有効化

Step 2:トークンの取得

有効化すると、設定 → SEO Agent にAPIトークンが表示されます。

このトークンは1回しか表示されません。すぐにコピーして安全な場所に保存してください。紛失した場合は「Regenerate Token」ボタンで再発行できます。

Step 3:APIでスキャン実行

curl -H "Authorization: Bearer YOUR_TOKEN" \
  https://your-site.com/wp-json/seo-agent/v1/scan

レスポンス例:

{
  "scanned_at": "2026-02-23T15:00:00+09:00",
  "issue_count": 3,
  "issues": [
    {
      "type": "noindex_missing",
      "message": "Page \"siplog-support\" should be noindex.",
      "fix": "add_noindex_rule"
    },
    {
      "type": "no_structured_data",
      "message": "BlogPosting JSON-LD is not enabled.",
      "fix": "enable_structured_data"
    }
  ]
}

Step 4:修正コマンドの実行

noindexルール追加(パターンマッチ):

curl -X POST \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"action":"add_noindex_rule","params":{"match_type":"pattern","pattern":"-(support|privacy)$"}}' \
  https://your-site.com/wp-json/seo-agent/v1/fix

日本語スラッグの変更:

curl -X POST \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"action":"migrate_slug","params":{"post_id":88,"new_slug":"english-slug"}}' \
  https://your-site.com/wp-json/seo-agent/v1/fix

構造化データ有効化:

curl -X POST \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"action":"enable_structured_data","params":{}}' \
  https://your-site.com/wp-json/seo-agent/v1/fix

セキュリティヘッダー追加:

curl -X POST \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"action":"update_htaccess","params":{}}' \
  https://your-site.com/wp-json/seo-agent/v1/fix

Step 5:適用済み修正の確認・削除

修正一覧を取得:

curl -H "Authorization: Bearer YOUR_TOKEN" \
  https://your-site.com/wp-json/seo-agent/v1/fix

特定の修正を削除(UUIDを指定):

curl -X DELETE \
  -H "Authorization: Bearer YOUR_TOKEN" \
  https://your-site.com/wp-json/seo-agent/v1/fix/uuid-here

REST APIエンドポイント一覧

すべてのリクエストに Authorization: Bearer <token> ヘッダーが必要です。

メソッド エンドポイント 用途
GET/seo-agent/v1/scanSEOスキャン実行
POST/seo-agent/v1/fix修正コマンド実行
GET/seo-agent/v1/fix適用中の修正一覧
DELETE/seo-agent/v1/fix/{id}修正の削除
GET/seo-agent/v1/statusプラグイン状態確認
GET/seo-agent/v1/history修正履歴取得

セキュリティについて

  • トークンは48文字のランダム文字列をbcryptでハッシュ化して保存
  • 平文トークンは管理画面で1回だけ表示(表示後にサーバーから削除)
  • 認証失敗はIPごとに5回/15分でレート制限
  • リダイレクト先は同一サイト内のURLのみ許可(オープンリダイレクト防止)
  • 正規表現パターンは実行前にバリデーション(ReDoS対策)
  • .htaccessは insert_with_markers()安全に書き換え(改行インジェクション防止)
  • プラグイン削除時に全データ・テーブル・.htaccessルールを完全削除
  • Cocoonテーマの cocoon_noindex フィルターにも対応

管理画面でも操作可能

APIを使わなくても、WordPress管理画面の設定 → SEO Agentから以下の操作ができます:

  • トークンの表示・再発行
  • APIエンドポイントURLのコピー
  • 適用中の修正の一覧と個別削除
  • ワンクリックでSEOスキャン実行
  • 修正履歴の確認(直近50件)

技術仕様

  • ファイルサイズ: 20KB(ZIP)
  • PHP: 7.4以上
  • WordPress: 6.0以上
  • データ保存: wp_options(修正設定)+ カスタムテーブル(履歴)
  • キャッシュ: スキャン結果は1時間のTransientキャッシュ
  • ライセンス: GPL-2.0-or-later

購入する(¥4,980)

動作要件:WordPress 6.0以上 / PHP 7.4以上

質問やフィードバックがあれば、コメント欄でお気軽にどうぞ。

コメント

タイトルとURLをコピーしました