AIによるWordPress管理:AIエージェントでサイトを運営する
WordPressはWeb全体の43%を支えています。それでもWordPressサイトの管理はまだ手作業の連続です。記事の執筆、コメントのモデレート、プラグインの更新、統計の確認、設定の調整。一つひとつは小さなタスクでも、合わさると無数のクリックによる疲弊につながります。
WordPressサイトに何をすべきかを直接伝えるだけで済むとしたら、どうでしょう?
それが TeamDay の AI WordPress Studio が実現することです。WordPress.comまたはセルフホスト型WordPressを接続すると、AIエージェントが会話を通じてサイトを管理します。自動的にゴミコンテンツを生成するプラグインではありません。サイトを読み込み、文脈を理解し、指示を実行する本物のエージェントです。
仕組み:WordPressとMCPの出会い
この仕組みの核心はMCP — Model Context Protocol です。AIエージェントが外部ツールへの構造化アクセスを得るためのオープンスタンダードです。WordPressの管理画面をスクレイピングしたり、盲目的なAPI呼び出しをするのではなく、WordPressがネイティブに話すプロトコルを通じてエージェントが接続します。
TeamDayは2つの接続方法をサポートしています。
WordPress.com — ワンクリックOAuth
サイトがWordPress.comにある場合、接続は10秒で完了します:
- WordPress Studioで接続をクリック
- WordPress.comアカウントで承認
- 完了 — エージェントがサイトを管理できるようになります
内部ではOAuth 2.1とPKCEを使用したWordPress.comの公式MCPエンドポイントを利用します。認証情報がTeamDayのサーバーに触れることはありません。
セルフホスト型WordPress — プラグイン + アプリケーションパスワード
独自サーバーでWordPressを運営している場合はWordPress 6.9以上が必要です(MCPが依存するAbilities APIを導入したバージョン)。そして2つの手順が必要です:
- MCP Adapterプラグインをインストール — WordPress管理画面:プラグイン → 新規追加 → 「MCP Adapter」で検索。またはGitHubからダウンロード。有効化します。
- アプリケーションパスワードを作成 — ユーザー → プロフィール → 「アプリケーションパスワード」までスクロール → 「TeamDay」と名前を付けて追加をクリック。パスワードをコピーします(再表示されません)。
次にTeamDayでセルフホストWordPress統合を追加し、サイトURL、ユーザー名、アプリケーションパスワードを入力します。
なぜアプリケーションパスワードなのか? WordPress 5.6以来組み込まれています。メインのログインパスワードとは異なり、個別に取り消すことができ、WordPress管理UIへのアクセスは許可せず、REST APIへのアクセスのみを提供します。エージェントアクセスに最適です。
エージェントができること
接続すると、WordPressサイトはAIが使えるツールになります:
コンテンツ操作
- 記事の執筆 — 「Q1製品アップデートについてのブログ記事を書いて公開して」→ エージェントが記事を下書きし、フォーマットし、カテゴリとタグを設定して公開します。
- ページの編集 — 「会社概要ページを更新して — 設立年を2024年に変更して」→ 数秒で完了。
- メディア管理 — 画像のアップロード、アイキャッチ画像の設定、メディアライブラリの整理。
サイト管理
- プラグイン管理 — 「更新が必要なプラグインはどれ?」→ リストを取得。「全部更新して」→ 実行完了。
- コメントのモデレート — 「スパムコメントをチェックして削除して」→ 確認、フィルター、削除。
- ユーザー管理 — 「[email protected]の投稿者アカウントを追加して」→ 適切な権限でアカウント作成。
モニタリング
- トラフィック統計 — 「先週のブログ記事はどうだった?」→ ビュー数、訪問者数、参照元を取得。
- サイトの健康状態 — 「サイトに問題はある?」→ プラグインの競合、更新状態、セキュリティ通知を確認。
チャットボットとの重要な違い:エージェントはこれらのことをやり方を教えるのではなく、実際にやります。「記事を公開して」と言えば公開されます。
真の力:オフィス間の相乗効果
WordPress管理エージェント単体でも役立ちます。しかしWordPressは孤立して存在するのではなく、SEO調査、アナリティクス、コンテンツ制作、配信を含むコンテンツ運用の公開レイヤーです。ここでTeamDayのマルチオフィスアーキテクチャが輝きます。
WordPress Studio + SEOオフィス
AI SEOオフィスはAhrefs、Google Search Console、SE Rankingに接続しています。キーワードランキング、バックリンクプロフィール、コンテンツギャップを把握しています。
組み合わせたワークフロー:
- SEOオフィスがキーワードの機会を特定
- WordPress Studioに「そのキーワードをターゲットにした記事を書いて公開して」と指示
- エージェントがSEOオフィスのキーワードデータを使ってSEO最適化された記事を書き、WordPressに公開
- 翌週、SEOオフィスが新しい記事のランキングを追跡
WordPress Studio + コンテンツスタジオ
AI Content Studioには執筆、画像生成、翻訳の専門エージェントがあります。
組み合わせたワークフロー:
- Content Studioがカスタムカバー画像付きの深掘り記事を執筆
- コンテンツ翻訳者がスペイン語、フランス語、ドイツ語、日本語にローカライズ
- WordPress Studioが英語版をメインサイトに公開
- 多言語WordPressのセットアップ(WPML/Polylang)に翻訳版を公開
WordPress Studio + データアナリティクス
AI Data Analyticsオフィスがデータベースに接続してダッシュボードを構築します。
- データベースから四半期メトリクスを取得
- グラフとインサイトを生成
- WordPress Studioがデータレポート記事として公開
- 毎四半期自動的に実行するようにスケジュール
スケジュールミッション:設定したら忘れていい
WordPress Studioには有効化できるデフォルトミッションが付属しています:
- 週次コンテンツレビュー — 毎月曜日、エージェントが最近の記事を監査:壊れたリンク、欠落したalt テキスト、古い情報、SEO問題を確認してレポートを生成。
- 毎日のコメントモデレート — 毎朝、エージェントが新しいコメントを確認し、スパムにフラグを立て、既知の投稿者のコメントをオプションで自動承認。
カスタムミッションも作成できます:
- 月次プラグイン監査 — 更新、セキュリティ脆弱性、不要なプラグインを確認
- 週次競合コンテンツスキャン — 公開頻度とトピックを競合ブログと比較
- 毎日統計ダイジェスト — 昨日のトラフィック、トップ記事、参照元の朝のサマリー
セットアップ:5分ガイド
WordPress.comの場合
- TeamDayワークスペース → AIチーム → WordPress Studio
- 接続 → WordPress.comをクリック
- WordPress.comアカウントで承認
- チャット開始:「最近の記事を見せて」
セルフホスト型WordPressの場合
要件: WordPress 6.9以上(Abilities API用)。
- WordPressサイトで:
- MCP Adapterプラグインをインストール・有効化
- ユーザー → プロフィール → アプリケーションパスワード
- 「TeamDay」と入力し、新しいアプリケーションパスワードを追加をクリック
- 生成されたパスワードをコピー
- TeamDay → WordPress Studio → 接続 → WordPress(セルフホスト)
- サイトURL(例:
https://myblog.jp)、ユーザー名、アプリケーションパスワードを入力 - チャット開始:「サイトの状態はどう?」
トラブルシューティング
「Unexpected token ’<’ — is not valid JSON」
症状: エージェントが MCP error -32603: Unexpected token '<', "<!DOCTYPE"... is not valid JSON を表示します。
原因: MCPプロキシがJSON APIレスポンスの代わりにHTMLページを受信しています。これはほぼ常に、AuthorizationヘッダーがWordPressに届く前に除去されていることを意味します。
クイックテスト: ターミナルで次を実行してください(サイトURLと認証情報に置き換えてください):
curl -s -u "ユーザー名:xxxx xxxx xxxx xxxx xxxx xxxx" \
"https://yoursite.jp/wp-json/wp/v2/users/me" | head -c 200
有効な認証情報を提供しているにもかかわらず{"code":"rest_not_logged_in",...}が返ってくる場合、Authorizationヘッダーが除去されています。
サーバータイプの確認方法: レスポンスヘッダーを確認してください:
curl -sI "https://yoursite.jp/" | grep -i "server\|litespeed\|x-powered"
x-litespeed-cacheまたはserver: LiteSpeedを探してください — これはLiteSpeedサーバーであることを示し、.htaccessアプローチだけでは機能しないことを意味します。
修正方法:mu-pluginアプローチ(すべてのサーバーで動作)
これはLiteSpeed、Apache(CGIモード)、Nginx、その他あらゆるサーバー設定で動作する推奨の修正方法です。wp-content/mu-plugins/fix-auth-header.phpにファイルを作成してください:
<?php
/**
* Fix Authorization header stripped by LiteSpeed/Apache CGI/FastCGI.
* Must-use plugin — loads automatically, can't be deactivated accidentally.
*/
if ( ! isset( $_SERVER['HTTP_AUTHORIZATION'] ) ) {
// Try common server variables first
if ( isset( $_SERVER['REDIRECT_HTTP_AUTHORIZATION'] ) ) {
$_SERVER['HTTP_AUTHORIZATION'] = $_SERVER['REDIRECT_HTTP_AUTHORIZATION'];
} elseif ( isset( $_SERVER['CGI_HTTP_AUTHORIZATION'] ) ) {
$_SERVER['HTTP_AUTHORIZATION'] = $_SERVER['CGI_HTTP_AUTHORIZATION'];
}
// Fall back to getallheaders() — bypasses LiteSpeed's header filtering
if ( ! isset( $_SERVER['HTTP_AUTHORIZATION'] ) && function_exists( 'getallheaders' ) ) {
$headers = getallheaders();
if ( isset( $headers['Authorization'] ) ) {
$_SERVER['HTTP_AUTHORIZATION'] = $headers['Authorization'];
} elseif ( isset( $headers['authorization'] ) ) {
$_SERVER['HTTP_AUTHORIZATION'] = $headers['authorization'];
}
}
// Last resort — apache_request_headers()
if ( ! isset( $_SERVER['HTTP_AUTHORIZATION'] ) && function_exists( 'apache_request_headers' ) ) {
$apache = apache_request_headers();
if ( isset( $apache['Authorization'] ) ) {
$_SERVER['HTTP_AUTHORIZATION'] = $apache['Authorization'];
}
}
}
なぜ
.htaccessではなくmu-pluginなのか? LiteSpeedサーバー(GreenGeeks、Hostinger、Namecheap、多くのcPanelホスト)では、SetEnvIf AuthorizationやRewriteRuleなどの.htaccessディレクティブはヘッダーを確実に渡しません。LiteSpeedは.htaccessルールが実行される前に、Webサーバーレベルでヘッダーを除去します。mu-pluginはPHPのネイティブgetallheaders()関数を使用し、SAPIレイヤーから直接ヘッダーを読み取ることで、LiteSpeedのフィルタリングを完全に回避します。
なぜ通常のプラグインではないのか?
wp-content/mu-plugins/のファイルは他のすべてのプラグインより前に自動的に読み込まれ、管理UIから無効化できません。認証修正はWordPressがREST APIリクエストを処理する前に実行される必要があるため、これは重要です。
ファイルを作成した後、動作を確認してください:
curl -s -u "ユーザー名:xxxx xxxx xxxx xxxx xxxx xxxx" \
"https://yoursite.jp/wp-json/wp/v2/users/me?_=$(date +%s)"
"id":を含むユーザープロファイルのJSONが表示されるはずです — これで認証が機能していることが確認できます。?_=$(date +%s)パラメータはLiteSpeedのキャッシュをバイパスします。
代替手段:.htaccess修正(Apacheのみ)
サーバーがmod_phpのApache(CGI/FastCGIではない)を使用している場合、このより簡単な修正が機能します。WordPressルートの.htaccessに追加してください:
# Pass Authorization header to PHP (Apache mod_php only)
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
これはLiteSpeedまたはCGI/FastCGIモードのApacheでは機能しません。不明な場合は上記のmu-pluginアプローチを使用してください。
「401 Unauthorized」または「rest_forbidden」
症状: エージェントは接続しますがWordPress API error (401): rest_forbiddenが返ります。
考えられる原因:
- Authorizationヘッダーが除去されている(最も一般的な原因) — 共有ホスティングでの原因第1位です。上記のmu-plugin修正を使用してください。認証情報が有効かどうかに関わらず、すべての認証リクエストが同じ401を返す場合、ヘッダーが除去されています。
- アプリケーションパスワードが取り消された — ユーザー → プロフィール → アプリケーションパスワードに移動して、まだ存在するか確認してください。
- ユーザー名が間違っている — ユーザー名はWordPressのログインユーザー名である必要があります(表示名やメールアドレスではありません)。ユーザー → プロフィール上部の「ユーザー名」フィールドを確認してください。注意:一部のユーザー名にはピリオドが含まれています(例:
kevinc.)— 必ず含めてください。 - LiteSpeed Cache — LiteSpeedは認証済みのものも含めREST APIレスポンスを積極的にキャッシュします。テストリクエストにキャッシュバスティングパラメータを追加(
?_=123)するか、LiteSpeedが/wp-json/をキャッシュから除外するよう設定してください。 - セキュリティプラグインがREST APIをブロックしている — miniOrange、Wordfence、Disable REST APIなどのプラグインが
/mcp/ネームスペースをブロックする可能性があります。プラグインの設定で/wp-json/mcp/をホワイトリストに追加してください。 - ModSecurity / WAF — 一部のホスティングプロバイダーはMCPエンドポイントをブロックするModSecurityルールを実行し、401の代わりに404を返します。ホスティングプロバイダーに連絡して
/wp-json/mcp/パスをホワイトリストに登録するよう依頼してください。
「接続成功したが機能が制限されているか0件」
症状: 接続は成功しますが、エージェントがツールがない、機能が制限されている、またはget-site-infoとget-environment-infoしか実行できないと言います。
この理由: WordPress 6.9でAbilities APIが導入され、MCP Adapterがこれを通じてWordPressの機能をAIエージェントに公開しています。ただし、Abilities APIは全く新しいもので — WordPressコアは現在ごくわずかな機能しか登録していません。コンテンツ管理機能(投稿の作成、メディアのアップロード、コメント管理)はまだコアのMCP機能として登録されていません。
朗報:エージェントは引き続き完全な機能を持っています。 MCP接続のために作成したApplication PasswordはWordPress 4.7以来利用可能なWordPress REST API(/wp-json/wp/v2/)も認証し、完全なコンテンツ管理をサポートしています:
- 投稿とページの作成、編集、公開
- 画像のアップロードとアイキャッチ画像の設定
- カテゴリー、タグ、タクソノミーの管理
- コメントのモデレートと返信
- ユーザーと権限ロールの管理
- サイト設定の更新
AIエージェントはコンテンツ操作にREST APIを直接使用します — MCP機能だけに依存しているわけではありません。そのため、登録されているMCP機能が2つだけであっても、エージェントはブログ投稿の作成、画像のアップロード、メディアライブラリの管理、日常的なWordPress操作すべてを行うことができます。
より多くのMCP機能を得るには:
- MCP Adapterプラグインを最新バージョンに更新する — 新しいバージョンはより多くの機能を登録します。
- MCP Adapterの設定を確認する — WordPressの管理画面 → 設定 → MCP Adapterで機能が有効になっているか確認してください。
- WordPressコアのアップデートを待つ — WordPress 6.10+でより多くのコア機能がネイティブに登録されます。
- must-useプラグインを作成する — コア機能を強制的に公開するために
wp-content/mu-plugins/mcp-public-abilities.phpにファイルを作成してください:
<?php
/**
* Make WordPress core abilities visible to MCP
*/
add_filter('wp_abilities_register', function($abilities) {
foreach ($abilities as &$ability) {
if (!isset($ability['mcp']['public'])) {
$ability['mcp']['public'] = true;
}
}
return $abilities;
});
- MCP Adapterプラグインを無効化・再有効化 して再登録を強制してください。
ローカルでは接続できるがTeamDayからは接続できない
ブラウザからhttps://yoursite.jp/wp-json/mcp/mcp-adapter-default-serverにアクセスできるのにTeamDayが接続できない場合:
- Cloudflare Bot Protectionがサーバー間リクエストをブロックしている可能性があります。Cloudflareで
/wp-json/*パスへのリクエストを許可するファイアウォールルールを追加してください。 - IPベースの制限 — 一部のホスティングプロバイダーはブラウザ以外のリクエストをブロックします。ホスティングのコントロールパネルでIPホワイトリスト設定を確認してください。
- Cloudflare「Under Attack Mode」 — 有効になっている場合、APIクライアントが解決できないJavaScriptチャレンジが追加されます。無効にするか
/wp-json/用のバイパスルールを作成してください。
サブディレクトリへのインストール
WordPressがサブディレクトリにインストールされている場合(例:https://example.com/blog/)、サブディレクトリを含む完全なパスを入力してください。TeamDayは自動的にMCPエンドポイントのパスを追加します:
https://example.com/blog/→https://example.com/blog/wp-json/mcp/mcp-adapter-default-serverhttps://example.com/→https://example.com/wp-json/mcp/mcp-adapter-default-server
WordPressにとってMCPが重要な理由
WordPressには長年REST APIがあります。なぜMCPが重要なのでしょうか?
APIは開発者向けです。MCPはエージェント向けです。
MCPはAPIをAIエージェントがネイティブに理解できるプロトコルにラップします。WordPress 6.9ではAbilities APIが導入されました。これはWordPressコアとプラグインが外部ツールが発見・実行できる能力(「abilities」と呼ばれる)を登録できる仕組みです。
エージェントはWordPressについてハードコードされた知識を必要としません。新しいプラグインが独自の能力を登録すると、エージェントは自動的にそれを発見します。WooCommerce abilities プラグインをインストールすれば、エージェントが注文を管理できます。
今後の展望
WordPress MCPエコシステムはまだ若い段階です。急速な発展が予想されます:
- WooCommerce操作 — 同じエージェントインターフェースで製品、注文、在庫を管理
- マルチサイト管理 — 一つの会話でWordPressネットワーク全体を管理
- Gutenbergブロック作成 — レイアウトを説明するとブロックパターンを生成
- テーマカスタマイズ — 「ヘッダーの背景色をブランドカラーに変更して」→ 適用完了
試してみましょう
AI WordPress Studioは今すぐTeamDayで利用できます。数分でWordPressサイトを接続し、エージェントに必要なことを伝えるだけです。
無数のクリックによる疲弊から解放されましょう。