AIアシスタントでWordPress REST APIを使う
WordPress REST APIは、認可されたアプリケーションがWordPressリソースを取得または変更するために使える、構造化されたエンドポイントを提供します。AIアシスタントがこれらのエンドポイントを魔法のように安全に呼び出すわけではありません。リクエストを組み立て、認証し、利用可能な形式で応答を返すツール、スクリプト、またはコネクターが必要です。
WordPressは引き続き、認証されたユーザーのcapabilitiesを評価します。有効な認証情報で一部のリソースは取得できても、別のリソースでは拒否されることがあります。まずGETリクエストと、専用の読み取り専用IDから始めてください。
一言で言えば: REST APIは転送レイヤーです。WordPressの認証とcapabilitiesが、アシスタントに許可される操作を引き続き決定します。
このガイドでできること
このガイドは、サイトを生のAPIリファレンスに変えることなく、アーキテクチャを説明します。認証情報、ラッパー、スキーマ、ページネーション、エラー、権限チェックがAIワークフローのどこに位置するかを示します。
有用なAIワークフローは、回答の品質だけで決まりません。アシスタントが到達できるデータ、実行を許可されたアクション、後で確認できる根拠、そしてアクセスを取り消しやすいことも定義要素です。
これが重要な理由
RESTは広く利用でき理解しやすいため、アシスタントとWordPressの実用的な橋渡しになります。同時に、ハードコードされた認証情報、権限が広すぎるユーザー、制限のないクエリ、レビューされていないプロンプトからの直接書き込みといった、安全でない近道も容易にします。
安全な統合では、APIを限定的なツールでラップし、入力を検証し、出力を制約し、最後の認可チェックはWordPressに行わせます。
期待される出力
適切に実行すると、次の成果が得られます。
- タスク用に文書化されたRESTエンドポイントとHTTPメソッド。
- 専用の認証情報とWordPressのcapability境界。
- アシスタントに公開する限定的なツールスキーマ。
- ページネーション済みで検証可能な応答。
- 認証、認可、検証エラーの明確な処理。
リクエストの経路
アシスタントはデータが必要だと判断し、ツールを呼び出します。ツールはWordPress RESTエンドポイントにHTTPSリクエストを送ります。WordPressは認証情報を認証し、ルートとユーザーのcapabilitiesを確認し、パラメータを検証して操作を実行し、HTTP応答を返します。その後ツールが、構造化された結果をアシスタントに返します。
各レイヤーは異なる形で失敗する可能性があります。すべての失敗を「AIは接続できない」と扱うと、診断が困難になります。
任意のHTTPではなく限定的なツールを使う
list_recent_posts のようなツールは、汎用の send_http_request ツールより安全です。限定的なツールでは、レコード数の上限、許可するステータス、返すフィールド、HTTPメソッドを強制できます。また、信頼できないコンテンツによって、アシスタントがタスクと無関係なエンドポイントを呼び出すよう誘導される可能性も下げます。
認証と認可
WordPressアプリケーションパスワードはAPIアクセスを目的としており、個別に取り消せます。これらはWordPressユーザーを認証しますが、新しいcapabilitiesを作成するものではありません。実際の権限は、引き続きユーザーとエンドポイントによって決まります。
HTTPSを使い、認証情報はソース管理の外に保存し、後で識別できるよう特定の統合用の名前を付けてください。
応答の処理
ページネーション、欠落フィールド、カスタム投稿タイプ、プラグイン固有のスキーマ、HTTPエラーを明示的に処理してください。アシスタントは、ページネーションで省かれたレコードを作り出してはならず、欠落フィールドが空だと仮定してもいけません。
書き込みでは、変更をレビューまたは元に戻せるよう、レコードID、以前の値、新しい値、応答を保存してください。
安全なワークフロー
- タスクに必要な正確なリソースとエンドポイントを特定します。
- 最小限のcapabilitiesを持つ専用のWordPress IDを作成します。
- HTTPS経由で取り消し可能なAPI認証情報を生成または設定します。
- 検証済みの入力と制限された出力を持つ限定的なツールを公開します。
- 小さなGETリクエストをテストし、ページネーションとフィールドを検証します。
- 禁止された操作をテストし、HTTP応答を分類します。
- 認証情報と不要なコンテンツを除外するログを追加します。
- テスト後、または統合を廃止するときに認証情報を取り消します。
プロンプトの例
このプロンプトをコピーする前に、角括弧内の各値を置き換えてください。認証情報、顧客データ、非公開情報を指示に貼り付けないでください。
WordPress RESTツールを使って、[YYYY-MM-DD] より後に変更された公開済み投稿を一覧にしてください。
制約:
- 読み取り専用。
- リクエストあたり最大 25 レコード。
- 追加のレコードがなくなるまでページネーションに従いますが、合計 100 レコードで停止します。
- ID、タイトル、URL、ステータス、変更日時を返します。
- 取得したレコードの合計数とAPIリクエスト数を報告します。
- エンドポイントまたはフィールドを利用できない場合は、正確なエラーを報告してください。欠落データを推測してはいけません。
プロンプトをこの構造にする理由
この指示では、ページネーションと最大範囲を明示します。オペレーターが不完全な取得や予想外に高コストな取得を検出できるよう、リクエスト数も求めます。
推奨されるアクセス境界
読み取り専用のIDを使ってください。アシスタントは、そのスコープに含まれるWordPressデータを確認できますが、コンテンツの作成、編集、削除、公開の試みはすべて拒否されるべきです。
このワークフローは編集上の判断に影響したり、未公開の変更を作成したりする可能性があります。対象範囲を狭く保ち、提案された変更をすべて確認してください。
アクセスレベルは開始時の推奨であり、普遍的な権限ではありません。IDに利用可能な正確なWordPress capabilitiesは、この記事だけでなく、インストールされた製品バージョンと公開済みの対応範囲から判断する必要があります。
タスクの対象外にすべきこと
- リスクが別途統制されていない限り、任意のHTTPを扱う汎用ツールを公開しないでください。
- コード、プロンプト、文書に認証情報をハードコードしないでください。
- 認証がすべてのルートでの権限を意味すると仮定しないでください。
- 同じリクエストを安全にテストする前に、本番環境へ書き込まないでください。
WP Agent Controlの位置づけ
Claude Code や Codex 向けのガイド付きプライベートフォルダーは、WordPress REST、アプリケーションパスワード、専用の読み取り専用プロファイルを使用します。既存の Read Only、Draft、Content Editor、Publisher は高度な設定に残ります。OAuth に自動変換されず、リモート接続の一時タスクや厳密な承認モデルも引き継ぎません。
接続後は、サイトの構造化情報を取得し、選択した公開ページを調べられます。この公開情報の読み取りに一時タスクは不要です。公開ページはプラグインなしでも閲覧できます。Agent Control は構造化されたアクセスと、その先の許可された WordPress 作業への流れを提供します。
AI を接続する: docs first profile · 機能と対応環境を見る: coverage
検証チェックリスト
- エンドポイントとメソッドが文書化されている。
- ツールの入力と出力が制限されている。
- 認証情報は取り消し可能で、ソース管理の外に保存されている。
- ページネーションは完全で、上限がある。
- 拒否された操作は、想定される認可応答を返す。
- ログに秘密情報が含まれない。
よくある失敗モード
- 生のHTTPを公開する: アシスタントが、タスクに必要な範囲を超えるエンドポイントに到達できるようになります。
- ページネーションを無視する: アシスタントが部分的なデータセットを完全なものとして報告します。
- 401 と 403 を混同する: 認証と認可の問題には異なる修正が必要です。
- ヘッダーをログに残す: デバッグ出力からアプリケーションパスワードやトークンが漏れる可能性があります。
高度な注記
本番環境では、REST APIの上に型付きツールスキーマを定義し、応答の形を検証し、リクエストIDまたは相関IDを保持してください。書き込みでは、レート制限、再試行、べき等性を明示する必要があります。汎用言語モデルに、信頼できないページコンテンツから生のエンドポイントパスを考案させてはいけません。
関連ガイド
- AI接続のためのWordPressアプリケーションパスワード
- WordPress REST APIとMCP: どちらを使うべきか
- AI でウェブサイトを分析するか、AI を WordPress に接続するか
- WordPress AI の接続エラー:401 と 403 が役立つ理由
続ける
次のステップ: AIにどのWordPressアクセスレベルを与えるべきですか? を開き、適切なアクセスレベルのうち最も低いものを選んでから、該当する接続ガイドに従ってください。別個で取り消し可能なIDを作成する準備ができたら、製品 を確認するか、7日間のSoloトライアル を開始してください。
情報源と検証
このページは、以下の一次情報源に基づいて確認されています。 情報源の最終確認日: .
- Authentication — REST API Handbook · WordPress.org
- Application Passwords: Integration Guide · WordPress.org
- Posts — REST API Reference · WordPress.org
- Pages — REST API Reference · WordPress.org
- Roles and Capabilities · WordPress.org