WordPress MCPのテーマ変更がHTTP 429で止まった|検証ログと安全な代替策

WordPress管理画面とトップは200、最新記事と固定ページは429だった安全チェックの結果を示す図 AI成長記録
2026年10月14日に取得した応答をもとにした図解。実際の管理画面ではありません。

2026年10月14日、ミロクAIのWordPressサイトで、フッターに運営者情報やお問い合わせページへのリンクを追加しようとしました。テーマはCocoon Child、操作にはChatGPTから接続したWordPress MCPを使用しました。

子テーマのPHPとCSSを変更する下書きは作成できました。しかし、本番公開に必要なチェックで記事と固定ページへのリクエストがHTTP 429となり、公開処理は拒否されました。この記事では、実際にどこまで動き、何が未確認で、どのように目的を達成したかを分けて記録します。

最初に実現したかったこと

AdSense不承認の改善として、サイト訪問者が運営者情報や連絡先を確認できるようにする必要がありました。そこで、サイト全体のフッターに以下のリンクを共通表示する案を作りました。

Cocoon Childのfunctions.phpに出力処理を、style.cssにナビゲーションの見た目を追加する下書きをMCPで作成しました。

WordPressの事前検証で管理画面とトップは200、最新記事と固定ページは429を返した比較図
実際のMCP応答から作成した図解。管理画面のスクリーンショットではありません。

公開前チェックで返ってきた応答

テーマ下書きに対して実行した検証では、WordPress管理画面とトップページは正常に応答しました。一方、最新記事と最新固定ページの検証は429となり、チェックが完了しませんでした。

確認対象 結果 HTTP
WordPress管理画面 OK 200
トップページ OK 200
最新記事 検証未完了 429
最新固定ページ 検証未完了 429

PHPの致命的エラーが確認されたわけではありません。しかし「エラーを検出できなかった」ことと「安全が確認できた」ことは違います。WordPress MCPの本番反映機能は、検証不十分として公開を拒否しました。

HTTP 429とは何か

HTTP 429は通常「Too Many Requests」を意味し、一定の条件でリクエストの受付が制限されたことを示すステータスです。ただし、今回の環境でどの仕組みが429を返したのかは特定できていません。

当時サイトにはXserverのCloudSecure WP Securityなどが導入されていましたが、429の原因がそのプラグインだったと確認したわけではありません。サーバー側の制限、セキュリティ機構、プロキシ等の設定は追加調査が必要です。

本番反映を強行しなかった理由

WordPress MCPのテーマ公開機能は、PHPの変更をライブサイトへ反映する際に、事前の動作チェックを通す仕組みでした。今回のように検証が未完了の場合、そのまま公開しない判断が妥当です。

そこで、セキュリティプラグインを無効化したり、安全確認を回避したりする方法は選びませんでした。追加したテーマコードは本番に反映されていないことを確認し、保留中のテーマ下書きを破棄しました。

代替策:WordPress標準の固定ページを利用

目的は「テーマのPHPを編集すること」ではなく、読者が必要な情報を見つけられるようにすることでした。そこで別の方法に切り替えました。

  1. トップページ用の固定ページを新しく作成。
  2. 実践記録の一覧ページを公開。
  3. WordPressの表示設定で、トップを固定ページに変更し、記事一覧ページを設定。
  4. トップページから運営者情報、お問い合わせ、プライバシーポリシーへリンク。
  5. 公開中の既存記事と基本固定ページの本文にも案内リンクを設置。
  6. WordPress REST APIでトップページの表示内容を再取得し、新着記事と内部リンクの出力を確認。

この方法ならPHPを変更せず、WordPress標準機能の範囲で主要なサイト導線を構築できました。

同じ問題が起きたときの確認項目

  • 429が返った対象は管理画面、トップ、記事、REST APIのどれか。
  • 一時的な制限か、同じ条件で再発するか。
  • サーバーやセキュリティ関連のログに該当リクエストが残っているか。
  • テーマ変更が本番反映されたのか、下書きのままなのか。
  • 問題のあるコードを無理に適用せず、WordPress標準機能で代替できないか。

原因調査時には、ログに認証情報や第三者の個人情報が含まれないよう注意します。

今回わかったこと・わからなかったこと

確認できたこと:PHP/CSSの下書き作成は成功した。事前テストの一部でHTTP 429が返った。MCPによるテーマ公開は拒否された。固定ページを用いる代替策は公開できた。

未確認のこと:HTTP 429を返した具体的な機構、制限の閾値、サイト全体の訪問者に与えた影響。したがって、ここで原因を断定することはできません。

今回の試行錯誤は、ChatGPT+WordPress MCPに任せる作業と人が判断する作業の実例でもあります。AdSense不承認を受けた改修記録も合わせてご覧ください。

追記(2026年10月20日):楽天アフィリエイトの広告を全記事に自動表示する改修でもMCPのテーマ公開検証で429が発生しました。今回は既存のPHPファイルをバックアップしたうえでXserverのファイルマネージャーから手動更新し、本番コードとスマホでの表示を確認しました。詳しくは楽天モーションウィジェットの導入・サイズ調整記録を参照してください。なお、429の根本原因は引き続き未特定です。

2026年10月14日にWordPress MCPで取得した検証結果をもとに記録しました。

広告(楽天アフィリエイト)

コメント

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