Rapls AI Chatbot マニュアル(Free版)
WordPress 用 AI チャットボットプラグインの全設定を詳しく解説します。
バージョン: 1.5.6 | PHP 7.4+ | WordPress 5.8+
ダッシュボード
ダッシュボードはプラグインの状態を一目で把握できる管理画面のメインページです。AI Chatbot > ダッシュボード でアクセスします。チャットボットの利用状況、AI プロバイダーの接続状態、API 使用量を確認できます。
概要
ダッシュボードは3つの主要セクションで構成されています。
- 統計カード: 主要な数値を大きなカード形式で表示します。
- ステータスパネル: AI プロバイダー、サイト学習、履歴保存の現在の状態を表示します。
- API 使用統計: 過去30日間のトークン使用量とコスト推計をチャートとテーブルで表示します。
統計カード
画面上部に表示される統計カードは、プラグインの主要な利用指標をリアルタイムで表示します。
| カード | 説明 |
|---|---|
| 会話数 | データベースに保存されている総会話セッション数です。履歴保存が有効な場合にカウントされます。 |
| 今日のメッセージ | 本日送受信されたメッセージの合計数です。ユーザーメッセージと AI 応答の両方を含みます。 |
| インデックス済みページ | サイト学習(クローラー)によってインデックスに登録されたページ数です。Pro版でクローラーを有効にした場合にカウントされます。 |
| ナレッジ数 | ナレッジベースに登録されている Q&A エントリの総数です。 |
ステータスパネル
現在のプラグイン設定の状態を3つの項目で表示します。各項目には緑色(有効/正常)またはグレー(無効/未設定)のインジケーターが表示されます。
| 項目 | 説明 |
|---|---|
| AI プロバイダー | 現在選択中の AI プロバイダー名とモデルが表示されます。API キーが設定済みで接続テストに成功している場合は緑色のチェックマークが表示されます。 |
| サイト学習 | クローラーの有効/無効状態と、最終クロール日時が表示されます。Pro版でのみ有効化可能です。 |
| 履歴保存 | 会話履歴保存の有効/無効状態が表示されます。有効な場合、保持日数も表示されます(0の場合は「無期限」)。 |
API 使用統計(過去30日)
過去30日間の API 使用量を詳細に表示します。AI プロバイダーへのリクエストごとにトークン使用量が記録され、コスト推計が計算されます。
| 表示項目 | 説明 |
|---|---|
| トークン合計 | 入力トークンと出力トークンの合計数です。 |
| 入力トークン | AI に送信されたテキスト(システムプロンプト、ユーザーメッセージ、コンテキスト)のトークン数です。 |
| 出力トークン | AI が生成した応答テキストのトークン数です。 |
| 推定コスト | 各プロバイダーの公開料金表に基づく推定 API 費用(USD)です。実際の請求額とは異なる場合があります。 |
| 日別チャート | 過去30日間のトークン使用量を日別の折れ線グラフで表示します。 |
| プロバイダー別内訳 | 使用したプロバイダーごとのトークン数とコスト内訳をテーブルで表示します。 |
AI 設定
AI プロバイダー、API キー、モデル、ベクトル埋め込み、MCP サーバーを設定します。AI Chatbot > 設定 > AI 設定 タブで設定します。
AI プロバイダー
チャットボットが使用する AI サービスを選択します。各プロバイダーごとに API キーの取得とモデルの選択が必要です。
設定キー: ai_provider
デフォルト: openai
| 選択肢 | 説明 |
|---|---|
| OpenAI デフォルト | GPT-4o、GPT-4 Turbo、GPT-3.5 Turbo など。最も広く利用されている AI プロバイダーです。 |
| Claude (Anthropic) | Claude Opus、Sonnet、Haiku モデル。長文の理解と安全性に優れています。 |
| Gemini (Google) | Gemini 2.0 Flash、1.5 Pro など。マルチモーダル対応に強みがあります。Google の無料枠が充実しています。 |
| OpenRouter | 100以上のモデルに統一 API でアクセスできるゲートウェイサービスです。 |
設定手順:
- AI Chatbot > 設定 > AI 設定 タブを開きます。
- ドロップダウンから使用したいプロバイダーを選択します。
- 選択したプロバイダーの設定セクションが展開表示されます。
- API キーを入力し、モデルを選択します。
- 接続テスト ボタンで接続を確認します。
- ページ下部の 設定を保存 をクリックします。
OpenAI 設定
OpenAI の API キーとモデルを設定します。
API キーの取得手順:
- OpenAI Platform にアクセスし、アカウントを作成またはログインします。
- 左メニューの API Keys をクリックします(または https://platform.openai.com/api-keys に直接アクセス)。
- Create new secret key をクリックします。
- 名前を入力し(例: 「WordPress Chatbot」)、Create secret key をクリックします。
- 表示されたキー(
sk-で始まる文字列)をコピーします。このキーは一度しか表示されません。 - Billing セクションでクレジットカードを登録し、API クレジットを購入します(従量課金制)。
API キー(openai_api_key): sk- で始まるキーを入力してください。保存時に暗号化されます。接続テスト ボタンでキーの有効性を確認でき、削除 ボタンで保存済みのキーを削除できます。
モデル選択(openai_model):
| モデル | 特徴 | 推奨用途 |
|---|---|---|
| gpt-4o-mini デフォルト | 高速・低コスト。GPT-4o の軽量版 | 一般的なカスタマーサポート、コスト重視 |
| gpt-4o | 高性能マルチモーダル。画像理解対応 | 画像を扱う高品質な応答が必要な場合 |
| gpt-4-turbo | GPT-4 の高速版。128K コンテキスト | 長い会話や大量の知識ベースがある場合 |
| gpt-3.5-turbo | 最も低コスト | コスト重視の場合 |
| o1 / o1-mini | 推論特化モデル。思考プロセスを表示 | 複雑な問題解決 |
| o3-mini | 最新の推論モデル | 高度な推論タスク |
| gpt-4.5-preview | GPT-4.5 プレビュー版 | 最新機能の試用 |
| gpt-5 | 最新世代。トークン自動乗算機能あり | 最高品質の応答 |
wpaic_gpt5_token_multiplier フィルター(範囲: 1-8)で調整可能です。
Claude (Anthropic) 設定
Anthropic の API キーとモデルを設定します。
API キーの取得手順:
- Anthropic Console にアクセスし、アカウントを作成またはログインします。
- 左メニューの API Keys をクリックします。
- Create Key をクリックし、名前を入力します。
- 表示されたキー(
sk-ant-で始まる文字列)をコピーします。 - Plans & Billing セクションでクレジットカードを登録します。
API キー(claude_api_key): sk-ant- で始まるキーを入力してください。保存時に暗号化されます。接続テスト・削除ボタンが利用可能です。
モデル選択(claude_model):
| モデル | 特徴 | 推奨用途 |
|---|---|---|
| claude-sonnet-4-20250514 デフォルト | 最新の Sonnet。速度と品質のバランスが優秀。画像対応 | 汎用チャットボット |
| claude-opus-4-20250514 | 最高性能。画像対応。最高コスト | 複雑なタスク、長文コンテンツ |
| claude-haiku-4-20250514 | 最速・最低コスト | シンプルで高速な応答 |
| claude-3-5-sonnet | 前世代の Sonnet。画像対応 | 総合的に高性能 |
| claude-3-opus | 前世代のフラッグシップ。画像対応 | 複雑な推論(前世代) |
| claude-3-haiku | 前世代の軽量モデル | コスト重視のデプロイ(前世代) |
Gemini (Google) 設定
Google AI の API キーとモデルを設定します。
API キーの取得手順:
- Google AI Studio にアクセスし、Google アカウントでログインします。
- 左メニューの API Keys をクリックします(または https://aistudio.google.com/apikey に直接アクセス)。
- Create API Key をクリックします。
- Google Cloud プロジェクトを選択するか、新規作成します。
- 表示された API キーをコピーします。
API キー(gemini_api_key): Google AI Studio の API キーを入力してください。保存時に暗号化されます。
モデル選択(gemini_model):
| モデル | 特徴 | 推奨用途 |
|---|---|---|
| gemini-2.0-flash-exp デフォルト | 高速・高性能・コスト効率良好。画像対応 | 汎用、マルチモーダルタスク |
| gemini-1.5-pro | 100万トークンコンテキスト。長文ドキュメントに最適 | 長文分析、大規模ナレッジベース |
| gemini-1.5-flash | 速度と効率に最適化。画像対応 | 高速・低コストの応答 |
| gemini-2.0-flash-thinking-exp | 思考プロセス表示付きの強化推論。実験的 | 複雑な推論タスク |
OpenRouter 設定
OpenRouter は複数の AI プロバイダー(OpenAI、Anthropic、Google、Meta、Mistral など)のモデルに統一 API でアクセスできるサービスです。
API キーの取得手順:
- OpenRouter にアクセスし、アカウントを作成またはログインします。
- ダッシュボードの Keys セクション(https://openrouter.ai/keys)にアクセスします。
- Create Key をクリックし、名前を入力します。
- 表示されたキー(
sk-or-で始まる文字列)をコピーします。 - クレジットを追加して利用を開始します。
API キー(openrouter_api_key): sk-or- で始まるキーを入力してください。保存時に暗号化されます。
モデル(openrouter_model): デフォルトは openrouter/auto で、リクエスト内容に応じて最適なモデルを自動選択します。更新ボタンをクリックすると、利用可能なモデルの完全なリストを取得できます。
デフォルト: openrouter/auto
ベクトル埋め込み (RAG)
AI の埋め込みモデルを使用したセマンティック検索を有効にし、ナレッジベースやサイトコンテンツの検索精度を向上させます。キーワード一致だけに頼るのではなく、クエリの意味を理解して検索します。
| 設定 | 設定キー | 説明 |
|---|---|---|
| ベクトル検索 | embedding_enabled | 有効: AI の埋め込みモデルを使ってテキストをベクトルに変換し、意味的な類似性でマッチングを行います。日本語などの非英語言語での精度が大幅に向上します。 無効: 従来の FULLTEXT キーワード検索のみを使用します。デフォルト: 無効 |
| 埋め込みプロバイダー | embedding_provider | 自動 デフォルト – 設定済みの API キーに基づいて最適なプロバイダーを自動選択(OpenAI を優先) OpenAI – OpenAI の text-embedding-ada-002 モデルを使用。OpenAI API キーが必要 Gemini – Google の embedding モデルを使用。Gemini API キーが必要 |
| ステータス | (読み取り専用) | 設定が完了している場合、使用中のプロバイダー/モデルと、埋め込み済みのコンテンツチャンク数/総数が表示されます。 |
RAG を有効にする手順:
- OpenAI または Gemini の API キーが設定されていることを確認します。
- ベクトル検索 を有効にします。
- 埋め込みプロバイダー を選択します(通常は「自動」で問題ありません)。
- 設定を保存します。
- Pro版の場合、サイト学習(クローラー)を実行して既存コンテンツの埋め込みを生成します。
- ナレッジベースに新しいエントリを追加すると、自動的に埋め込みが生成されます。
MCP (Model Context Protocol) サーバー
MCP サーバーを有効にすると、Claude Desktop、Cursor、Windsurf、その他の MCP 対応クライアントからプラグインのナレッジベースや会話データにプログラム的にアクセスできるようになります。
| 設定 | 設定キー | 説明 |
|---|---|---|
| MCP サーバー | mcp_enabled | 有効: REST API エンドポイントを公開し、外部の AI エージェントからナレッジベースの検索やサイト情報の取得が可能になります。 無効: MCP エンドポイントにアクセスできません。デフォルト: 無効 |
| MCP API キー | (自動生成) | キーを生成 ボタンで認証キーを作成します。キーは生成時に一度だけ表示されるため、安全に保管してください。キーを再生成 で新しいキーを作成します(以前のキーは無効化されます)。 |
| MCP エンドポイント | (自動生成) | サイトに基づいて自動生成される REST API URL。コピー ボタンで MCP クライアント設定に使用してください。 |
MCP セットアップ手順:
- AI Chatbot > 設定 > AI 設定 タブの MCP セクションを開きます。
- MCP サーバー を有効にし、設定を保存します。
- キーを生成 ボタンをクリックし、表示された API キーをコピーします。
- MCP エンドポイント の URL をコピーします。
- MCP クライアント(Claude Desktop など)の設定ファイルにこれらの情報を追加します。
Claude Desktop 設定例:
Claude Desktop の設定ファイル(macOS: ~/Library/Application Support/Claude/claude_desktop_config.json、Windows: %APPDATA%\Claude\claude_desktop_config.json)に以下を追加します。
{
"mcpServers": {
"my-wordpress-site": {
"url": "https://example.com/wp-json/wp-ai-chatbot/v1/mcp",
"headers": {
"Authorization": "Bearer YOUR_MCP_API_KEY"
}
}
}
}
Cursor / Windsurf 設定例:
Cursor の場合は .cursor/mcp.json、Windsurf の場合は .windsurf/mcp.json をプロジェクトルートに作成します。
{
"mcpServers": {
"wordpress-kb": {
"url": "https://example.com/wp-json/wp-ai-chatbot/v1/mcp",
"headers": {
"Authorization": "Bearer YOUR_MCP_API_KEY"
}
}
}
}
チャット設定
チャットボットの動作、表示内容、会話処理方法を設定します。AI Chatbot > 設定 > チャット設定 タブで設定します。
ボット名
チャットウィジェットのヘッダーとボットメッセージの横に表示される名前です。
設定キー: bot_name
デフォルト: Assistant
リセットボタンでデフォルト値に戻すことができます。
設定例:
- ブランド名: 「RAPLS サポート」
- 親しみやすい名前: 「あいちゃん」「ヘルプデスク」
- 役割ベース: 「カスタマーサポート」「製品アドバイザー」
ボットアバター
チャットウィジェットでボットメッセージの横に表示されるアバターアイコンです。
設定キー: bot_avatar
デフォルト: ロボットの絵文字
- 絵文字: テキストフィールドに任意の絵文字を直接入力できます(例: 🤖、🐱、💬、🏢)。
- 画像: 画像を選択 ボタンをクリックして WordPress メディアライブラリから画像を選択します。推奨サイズ: 96×96ピクセル以上、正方形。会社のロゴやマスコットキャラクターの画像が効果的です。
絵文字にリセット ボタンでデフォルトの絵文字アバターに戻すことができます。
ウェルカムメッセージ
ユーザーがチャットウィジェットを開いた時に最初に表示されるメッセージです。これは静的な挨拶文で、AI には送信されません。
設定キー: welcome_message
デフォルト: Hello! How can I help you today?
設定例:
こんにちは!ご質問やお困りのことがあれば、お気軽にお聞きください。 製品の使い方、料金プラン、技術的なサポートなど、何でもお手伝いします。
言語別ウェルカムメッセージ(welcome_messages):
応答言語を 自動検出 に設定すると、メインのウェルカムメッセージフィールドの下に折りたたみパネルが表示され、13言語(英語、日本語、中国語、韓国語、スペイン語、フランス語、ドイツ語、ポルトガル語、イタリア語、ロシア語、アラビア語、タイ語、ベトナム語)ごとに個別のウェルカムメッセージを設定できます。
優先順序:
- 言語別メッセージ — 検出された言語に対して特定のメッセージが設定されている場合、それが使用されます。
- ウェルカムメッセージ — 言語別メッセージが存在しない場合、メインのウェルカムメッセージが表示されます。
- 組み込みデフォルト — ウェルカムメッセージがデフォルトのままの場合、組み込みの翻訳が使用されます。
応答言語
AI が応答する言語を制御します。
設定キー: response_language
| 選択肢 | 説明 |
|---|---|
| サイト言語 デフォルト | WordPress の言語設定(設定 > 一般 > サイトの言語)に従います |
| 自動検出 | ユーザーの入力言語を検出し、同じ言語で応答します。多言語サイトに最適です。言語別ウェルカムメッセージの設定が追加表示されます。 |
| 個別言語 | 英語 (en)、日本語 (ja)、中国語 (zh)、韓国語 (ko)、スペイン語 (es)、フランス語 (fr)、ドイツ語 (de)、ポルトガル語 (pt) から選択し、常にその言語で応答します |
システムプロンプト
AI の振る舞い、性格、制約事項を定義する指示文です。すべての会話で最初のメッセージとして AI に送信され、AI の「取扱説明書」として機能します。
設定キー: system_prompt
デフォルト: 以下の6つのルールを含む包括的なプロンプトが設定されています:
- 正確さ: 参考情報を主要な情報源として使用する
- 誠実さ: 情報がない場合は明確にその旨を伝える
- 捏造禁止: 事実、URL、価格、日付を決して捏造しない
- 簡潔さ: 明確で焦点を絞った回答を提供する
- 言語: ユーザーと同じ言語で応答する
- トーン: プロフェッショナルで親切、かつ役立つ態度
このプロンプトは完全にカスタマイズ可能です。デフォルトにリセット ボタンで初期値に戻せます。
ビジネス別システムプロンプト例:
ECサイト向け:
あなたは「ショップ名」のカスタマーサポートAIアシスタントです。 以下のルールに従ってください: 1. 提供された商品情報のみに基づいて回答してください。 2. 価格、在庫状況、送料は最新情報を確認するよう案内してください。 3. 返品・交換は購入後14日以内であることを伝えてください。 4. 競合他社の商品については言及しないでください。 5. 購入に関する技術的な問題はサポートチーム(support@example.com)への連絡を案内してください。
SaaS / ソフトウェア向け:
あなたは「製品名」のテクニカルサポートAIです。 以下のルールに従ってください: 1. ドキュメントに記載されている情報を優先して回答してください。 2. コードサンプルを含める場合は、正確で動作するコードを提供してください。 3. 解決できない技術的な問題はサポートチケットの作成を案内してください。 4. セキュリティに関する質問には、公式ドキュメントへのリンクを含めてください。 5. 料金プランの詳細は料金ページ(/pricing)を案内してください。
コンテキストプロンプト(詳細設定)
ナレッジベースやサイト学習データを AI に渡す際の指示文をカスタマイズできます。関連データが見つかった場合にシステムプロンプトに追加されます。このセクションはデフォルトで折りたたまれています。チェックボックスをオンにすると展開されます。
すべてのコンテキストプロンプトで {context} を実際のコンテンツのプレースホルダーとして使用できます。
| プロンプト | 設定キー | 説明 |
|---|---|---|
| ナレッジベース完全一致プロンプト | knowledge_exact_prompt | ナレッジベースに完全一致する Q&A が見つかった場合に使用。一致した回答のみを使用し、外部情報を追加したりソースを組み合わせたりしないよう厳格に指示します。 |
| ナレッジベース Q&A プロンプト | knowledge_qa_prompt | Q&A 形式のエントリが見つかった場合(完全一致ではない)に使用。AI に FAQ データベースから最適な Q&A ペアを探して対応する回答を使用するよう指示します。 |
| サイトコンテキストプロンプト | site_context_prompt | クロールしたサイトコンテンツがコンテキストとして提供される場合に使用。AI に参考情報として扱い、完全なキーワード一致ではなく意味で照合するよう指示します。 |
各プロンプトには デフォルトにリセット ボタンがあります。
機能プロンプト(詳細設定)
再生成、フィードバック学習、要約機能の動作をカスタマイズするプロンプトです。このセクションはデフォルトで折りたたまれています。チェックボックスをオンにすると展開されます。
| プロンプト | 設定キー | 説明 |
|---|---|---|
| 再生成プロンプト | regenerate_prompt | ユーザーが応答の再生成をリクエストした時に追加される指示文。AI にまったく異なる回答を生成するよう指示します。 |
| フィードバック良好ヘッダー | feedback_good_header | 肯定的に評価された応答例の前に付加されるヘッダーテキスト。AI の学習例として送信されます。 |
| フィードバック不良ヘッダー | feedback_bad_header | 否定的に評価された応答例の前に付加されるヘッダーテキスト。AI に同様のパターンを避けるよう指示します。 |
| 要約プロンプト | summary_prompt | 会話要約を生成する際の指示文(主なトピックと結論を2-3文で要約)。 |
再生成プロンプトのプレースホルダー:
| プレースホルダー | 説明 |
|---|---|
{variation_number} | 毎回挿入されるランダムな数値(1-1000)。AI に一意の応答を強制的に生成させます。 |
{forbidden_start} | 前回の応答の最初の50文字。AI に同じテキストで始めないよう指示します。 |
{style} | ランダムに選択されるスタイル指示(例:「カジュアルなトーンで」「別の角度から説明して」)。応答スタイルを変化させます。 |
メッセージ履歴数
AI にコンテキストとして送信する過去のメッセージ数です。メッセージが多いほど AI は会話の文脈をよく理解しますが、トークン使用量と API コストが増加します。
設定キー: message_history_count
デフォルト: 10 | 範囲: 1 ~ 50
最大トークン数
AI の応答1回あたりの最大出力トークン数です。1トークンは英語で約4文字、日本語/中国語/韓国語で約1-2文字に相当します。
設定キー: max_tokens
デフォルト: 1000 | 範囲: 100 ~ 4000
リセットボタンでデフォルト値に戻すことができます。
| 値 | 日本語での目安 | 推奨用途 |
|---|---|---|
| 100 ~ 300 | 50 ~ 150文字程度 | 短い一言回答 |
| 500 ~ 1000 | 250 ~ 500文字程度 | 一般的なサポート回答 |
| 1500 ~ 3000 | 750 ~ 1500文字程度 | 詳細な説明が必要な場合 |
| 4000 | 約2000文字 | 長文の技術ドキュメント |
Temperature(創造性)
AI の応答のランダム性を制御します。低い値ほど一貫した決定論的な応答になり、高い値ほど創造的で多様な応答になります。
設定キー: temperature
デフォルト: 0.7 | 範囲: 0 ~ 2(0.1刻み)
リセットボタンでデフォルト値に戻すことができます。
| 値 | 特徴 | 推奨用途 |
|---|---|---|
| 0 ~ 0.3 | 非常に一貫性が高い。同じ質問に同じ回答 | FAQ、事実ベースの回答、医療・法律情報 |
| 0.5 ~ 0.8 | バランスの良い応答 | 一般的なカスタマーサポート |
| 0.9 ~ 1.5 | 創造的で多様な応答 | クリエイティブなコンテンツ、ブレインストーミング |
| 1.5 ~ 2.0 | 非常にランダム。予測困難 | 通常は非推奨 |
フィードバックボタン
AI の各応答メッセージの下に「いいね」「よくないね」のボタンを表示します。
設定キー: show_feedback_buttons
有効: すべてのボットメッセージにフィードバックボタンが表示されます。フィードバックはデータベースに保存され、将来のプロンプト(機能プロンプト参照)で応答品質の向上に使用されます。
無効: フィードバックボタンを非表示にします。
デフォルト: 無効
API 制限超過メッセージ
OpenAI・Claude・Gemini などの AI プロバイダー側の API レート制限やクォータ超過、課金エラーが発生した場合にユーザーに表示されるメッセージです。プラグイン独自のメッセージ制限とは無関係です。
設定キー: quota_error_message
デフォルト: Currently recharging. Please try again later.
リセットボタンでデフォルトのテキストに戻すことができます。
設定例:
申し訳ございません。現在 AI が一時的にご利用いただけません。 お急ぎの場合は、お問い合わせページ(/contact)からご連絡ください。
Web 検索
ナレッジベースに十分な回答が含まれていない場合に、AI がリアルタイムで Web 検索を自動実行できるようにします。
設定キー: web_search_enabled
有効: 必要に応じて AI が Web 検索を実行し、インターネットから最新の情報を提供します。
無効: AI はトレーニングデータとナレッジベース/サイト学習コンテンツのみで応答します。
デフォルト: 無効
表示設定
チャットウィジェットの外観と配置を制御します。AI Chatbot > 設定 > 表示設定 タブで設定します。
テーマ
チャットウィジェットの外観テーマを選択します。各テーマはヘッダー、メッセージ、入力エリア、バッジボタンの統一されたカラースキームとビジュアルスタイルを設定します。
設定キー: widget_theme
Free テーマ(6種類):
| テーマ | 説明 |
|---|---|
| Default デフォルト | 標準的なモダンデザイン。丸みを帯びたカード型。どのサイトにも合う汎用的なスタイルです。 |
| Simple | シンプルでミニマルなデザイン。装飾を最小限に抑えたクリーンなスタイルです。 |
| Classic | クラシックなチャット UI。従来型のメッセンジャースタイルです。 |
| Light | 明るくクリーンなデザイン。白を基調とした清潔感のあるスタイルです。 |
| Minimal | 装飾を最小限にしたデザイン。コンテンツに集中できるスタイルです。 |
| Flat | フラットデザイン。影やグラデーションを使用しないモダンなスタイルです。 |
Pro テーマ(10種類): PRO
Pro版では Modern、Gradient、Dark、Glass、Rounded、Ocean、Sunset、Forest、Neon、Elegant のテーマが追加されます。設定 UI ではロックアイコン付きで表示され、Pro プラグインなしでは選択できません。
メインカラー
チャットヘッダー、送信ボタン、バッジボタン、ユーザーメッセージバブルに使用されるメインのアクセントカラーです。
設定キー: primary_color
デフォルト: #007bff(青)
カラーピッカーウィジェットが提供され、視覚的に色を選択できます。リセットボタンでデフォルトカラーに戻すことができます。テーマを選択すると対応するカラーが自動設定されますが、その後に上書きすることもできます。
ダークモード PRO
選択したテーマに関係なく、チャットウィジェットにダークカラースキームのオーバーレイを適用します。
設定キー: dark_mode
有効: チャットウィジェットが暗い背景と明るいテキストで表示されます。任意のテーマのオーバーレイとして機能します。
無効: ウィジェットは選択したテーマの標準的なライトモードカラーを使用します。
デフォルト: 無効
この機能には Pro プラグインが必要です。Free版では設定は表示されますが無効化(ロック)されています。
バッジ位置
フローティングチャットバッジボタンのページ上の位置を制御します。ビジュアルグリッドセレクターで4つの角から選択できます。
設定キー: badge_position
| 選択肢 | 説明 |
|---|---|
| 右下 デフォルト | 最も一般的な配置。ほとんどのサイトに適しています |
| 左下 | 右下に他の要素(Cookie バナー、他のチャットウィジェットなど)がある場合に適しています |
| 右上 | あまり一般的ではありませんが、レイアウトに応じて使用可能 |
| 左上 | 特殊なレイアウト用 |
バッジマージン(badge_margin_right、badge_margin_bottom):
ビューポート端からの距離を微調整します。マージンのラベルは選択した位置に応じて動的に変わります(例: 右下の場合は「右」と「下」、左上の場合は「左」と「上」)。
| 設定 | 範囲 | デフォルト |
|---|---|---|
| 水平マージン | 0-200 px | 20 px |
| 垂直マージン | 0-200 px | 20 px |
リセットボタンで両方のマージンを 20px に戻すことができます。
バッジアイコン PRO
フローティングチャットバッジボタン内に表示されるアイコンをカスタマイズします。
Free版ではデフォルトのチャットバブル SVG アイコンが表示されます。Pro版では以下の4種類のアイコンタイプが利用可能です:
- デフォルト: 組み込みのチャットバブルアイコン(SVG)
- プリセット: プリセット SVG アイコンのライブラリから選択
- 画像: メディアライブラリからカスタム画像をアップロード
- 絵文字: 任意の絵文字を使用
Markdown レンダリング
AI の応答を Markdown フォーマットでレンダリングするかどうかを制御します。プラグインには組み込みの Markdown パーサーが含まれています(外部ライブラリ不要)。
設定キー: markdown_enabled
有効: 太字、斜体、コードブロック、インラインコード、順序付き/順序なしリスト、見出し、リンクがフォーマットされた HTML としてボットメッセージに表示されます。
無効: ボットメッセージがプレーンテキストとして表示されます。
デフォルト: 有効
モバイル表示
モバイルデバイス(画面幅768px未満)でチャットウィジェットを表示するかどうかを制御します。
設定キー: show_on_mobile
有効: モバイルデバイスでチャットウィジェットが表示されます。小さな画面ではチャットウィンドウがビューポート全体に拡張されます。
無効: モバイルデバイスではチャットウィジェット(バッジとウィンドウの両方)が完全に非表示になります。
デフォルト: 有効
ページ表示設定
チャットボットを表示するページタイプを細かく制御できます。
| 設定 | 設定キー | デフォルト | 説明 |
|---|---|---|---|
| ホームページ | badge_show_on_home | 有効 | サイトのフロントページ(固定ページまたは最新の投稿) |
| 投稿 | badge_show_on_posts | 有効 | 個別のブログ記事 |
| 固定ページ | badge_show_on_pages | 有効 | WordPress 固定ページ(会社概要、お問い合わせなど) |
| アーカイブ | badge_show_on_archives | 有効 | カテゴリー、タグ、日付、著者のアーカイブページ |
特定ページ ID(含む)(badge_include_ids):
カンマ区切りの投稿/ページ ID。設定すると、これらの特定ページ のみ にチャットボットが表示され、上記のページタイプチェックボックスが上書きされます。空のままにするとページタイプ設定が使用されます。例: 10, 25, 142
除外 ID(badge_exclude_ids):
カンマ区切りの投稿/ページ ID。ページタイプが有効でも、これらのページではチャットボットが 非表示 になります。例: 5, 30, 200
ページ除外(ドロップダウン)
ID ベースの除外の代わりに、ユーザーフレンドリーな方法でページを除外できます。ドロップダウンメニューから公開済みのページを選択して、ページ ID を調べることなくチャットボットを非表示にできます。
設定キー: excluded_pages
選択されたページはタグ状のチップとして表示され、削除ボタンが付いています。ドロップダウンからページを選択した後、追加 をクリックしてください。投稿の除外には、上記の除外 ID フィールドを使用してください。
フッター
Free版では、チャットウィジェット下部に「Powered by」テキストは表示されません(デフォルトでフッターなし)。
Pro版のホワイトラベル設定から、カスタムフッターテキストやリンクをオプトインで追加できます。カスタムテキスト、リンク、CSS を自由にカスタマイズ可能です。
外部サイト埋め込み
WordPress 以外のサイトにチャットボットを埋め込むためのコードを提供します。2つの埋め込み方法が用意されています。
スクリプト埋め込み(推奨):
フローティングバッジとして表示されます。外部サイトの </body> タグの前に以下のスクリプトを挿入してください。
<script src="https://example.com/wp-content/plugins/rapls-ai-chatbot/assets/js/embed-loader.js"
data-site="https://example.com"
data-color="#007bff"
data-position="right"
async></script>
data-site には WordPress サイトの URL、data-color にはメインカラー、data-position には表示位置(right または left)を指定します。
iframe 埋め込み:
固定サイズのチャットウィンドウとして表示されます。任意の場所に以下の iframe タグを挿入してください。
<iframe src="https://example.com/?wpaic_embed=1"
style="width:400px;height:600px;border:none;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.15)"
allow="clipboard-write"
title="Chat"></iframe>
wpaic_allowed_origins フィルターを使用してドメインを追加してください。
許可オリジンの追加例:
add_filter('wpaic_allowed_origins', function($origins) {
$origins[] = 'external-site.com';
$origins[] = 'another-domain.jp';
return $origins;
});
セキュリティ設定
reCAPTCHA、アクセス制御、プロキシ設定、セキュリティ診断を管理します。AI Chatbot > 設定 > セキュリティ設定 タブで設定します。
reCAPTCHA v3 有効化
不可視の Google reCAPTCHA v3 ボット保護を有効にします。reCAPTCHA v3 はユーザーの操作なしにバックグラウンドで実行され、各リクエストに 0.0(ボットの可能性が高い)から 1.0(人間の可能性が高い)のスコアを割り当てます。
設定キー: recaptcha_enabled
有効: 各チャットメッセージは AI に送信される前に reCAPTCHA で検証されます。閾値未満のスコアのリクエストはブロックされます。
無効: reCAPTCHA 検証を行いません。チャットボットは他のセキュリティ対策(レート制限、ボット検出)に依存します。
デフォルト: 無効
サイトキー / シークレットキー
reCAPTCHA v3 のキーペアを設定します。
キーの取得手順:
- Google reCAPTCHA 管理コンソール にアクセスします。
- 「+」ボタンで新しいサイトを追加します。
- reCAPTCHA タイプ で reCAPTCHA v3 を選択します(v2 ではありません)。
- ドメイン にサイトのドメイン(例:
example.com)を入力します。 - 送信 をクリックすると、サイトキーとシークレットキーが表示されます。
サイトキー(recaptcha_site_key):
フロントエンドの JavaScript に埋め込まれる公開キーです。プレーンテキストで入力してください。
シークレットキー(recaptcha_secret_key):
サーバーサイドの検証に使用される秘密キーです。WordPress データベースに暗号化して保存されます。保存後はマスク表示(••••••••)されます。現在のキーを保持する場合は、フィールドを空のまま保存してください。
スコア閾値
チャットメッセージの通過を許可するために必要な最小 reCAPTCHA スコアです。
設定キー: recaptcha_threshold
デフォルト: 0.5 | 範囲: 0.1 ~ 1.0(0.1刻み)
| 値 | 判定の厳しさ | 説明 |
|---|---|---|
| 0.1 ~ 0.3 | 緩い | ほとんどのリクエストを通過させます。誤ブロックのリスクが低い反面、ボットの通過リスクが高くなります |
| 0.5 | 標準 推奨 | Google が推奨するバランスの良い閾値です |
| 0.7 ~ 0.9 | 厳しい | 正規ユーザーもブロックされる可能性があります。VPN やプライバシーブラウザの使用者は影響を受けやすくなります |
既存 reCAPTCHA の使用
サイトの他のプラグイン(Contact Form 7、WPForms、Gravity Forms など)が既に reCAPTCHA v3 スクリプトを読み込んでいる場合、スクリプトの二重読み込みを防ぐために有効にします。
設定キー: recaptcha_use_existing
有効: プラグインは独自の reCAPTCHA スクリプトを読み込みません。ページ上で既に利用可能な reCAPTCHA インスタンスを再利用します。
無効: プラグインはサイトキーを使用して独自の reCAPTCHA v3 スクリプトを読み込みます。
デフォルト: 無効
WP Consent API 厳格モード
localStorage とコンバージョントラッキングに関する GDPR 準拠の動作のために WP Consent API と連携します。
設定キー: consent_strict_mode
有効: WP Consent API 互換の同意管理プラグインが有効で、ユーザーが同意を付与していない限り、ユーザー ID の永続化(localStorage)とコンバージョントラッキングが無効になります。チャットボット自体は通常通り動作します。
無効: 同意ステータスに関係なく localStorage とコンバージョントラッキングが通常通り動作します。
デフォルト: 無効
レート制限
単一の IP アドレスが時間ウィンドウ内に送信できるチャットメッセージ数を制限し、API 予算を悪用から保護します。
設定キー: rate_limit、rate_limit_window
最大リクエスト数: 時間ウィンドウ内の IP あたりの最大許可メッセージ数。0 で無制限。
デフォルト: 20リクエスト
時間ウィンドウ:
| 値(秒) | 期間 |
|---|---|
60 | 1分 |
300 | 5分 |
600 | 10分 |
1800 | 30分 |
3600 | 1時間 デフォルト |
10800 | 3時間 |
21600 | 6時間 |
43200 | 12時間 |
86400 | 1日 |
プロキシ設定
サイトが CDN またはリバースプロキシの背後にある場合に、プラグインが実際の訪問者 IP アドレスを検出する方法を設定します。正しい IP 検出はレート制限とボット検出に不可欠です。
Cloudflare CF-Connecting-IP を信頼(trust_cloudflare_ip):
有効: Cloudflare の CF-Connecting-IP ヘッダーを使用して実際の訪問者 IP を検出します。
無効: CF-Connecting-IP ヘッダーを無視します。
デフォルト: 無効
X-Forwarded-For を信頼(trust_proxy_ip):
有効: X-Forwarded-For ヘッダーから最初のパブリック IP を使用します。
無効: X-Forwarded-For ヘッダーを無視し、REMOTE_ADDR を直接使用します。
デフォルト: 無効
Cloudflare セットアップ例:
- サイトが Cloudflare を経由していることを確認します(DNS が Cloudflare のネームサーバーを使用)。
- 「Cloudflare CF-Connecting-IP を信頼」を有効にします。
- 設定を保存し、セキュリティ診断で IP 検出方法が「CF-Connecting-IP」と表示されることを確認します。
Nginx リバースプロキシセットアップ例:
# Nginx 設定で X-Forwarded-For を設定 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr;
- Nginx が X-Forwarded-For ヘッダーを正しく設定していることを確認します。
- 「X-Forwarded-For を信頼」を有効にします。
- 必要に応じて
wpaic_trusted_proxiesフィルターでプロキシ IP/CIDR を追加します。
信頼済みプロキシの追加例:
add_filter('wpaic_trusted_proxies', function($proxies) {
// AWS ALB の VPC CIDR
$proxies[] = '10.0.0.0/8';
// カスタムプロキシ IP
$proxies[] = '192.168.1.100';
return $proxies;
});
失敗時モード
reCAPTCHA の検証自体が失敗した場合(例: Google のサーバーに到達できない、ネットワークエラー)の動作を制御します。
設定キー: recaptcha_fail_mode
| 選択肢 | 説明 |
|---|---|
| Open(許可) デフォルト | 検証失敗時もチャットを許可します。可用性を優先する場合に適しています |
| Closed(ブロック) | 検証失敗時はチャットをブロックします。セキュリティを最優先する場合に適しています |
セキュリティ診断
セキュリティ設定タブの下部にある読み取り専用のセクションで、現在のセキュリティ設定のステータスを表示します。すべてのフィールドは情報表示のみで編集できません。
| 項目 | 説明 |
|---|---|
| 許可されたオリジンホスト | Origin/Referer セキュリティチェックで受け入れられるホスト名のリストです。wpaic_allowed_origins フィルターでカスタムホストを追加できます。 |
| 信頼プロキシ | wpaic_trusted_proxies フィルターで追加された信頼済みプロキシ IP/CIDR リストを表示します。 |
| 最近のボット検出(過去1時間) | ボット検出システムによってブロックされたリクエスト数を表示します。検出方法: ハニーポット(隠しフィールド)、タイミング(高速送信)、未来の時刻(時刻操作)。 |
| XFF 切り捨て | 切り捨てられた超大サイズの X-Forwarded-For ヘッダーの数です。高い数値は CDN/プロキシチェーンの問題または攻撃を示す場合があります。 |
| IP 検出 | 検出されたクライアント IP アドレスと使用された方法(REMOTE_ADDR、CF-Connecting-IP、または X-Forwarded-For)を表示します。 |
| API キー状態 | 各プロバイダーの API キーの設定状態(設定済み/未設定)を表示します。 |
| WP Consent API | WP Consent API プラグインの検出状態を表示します。 |
| レート制限 | 現在のレート制限設定を表示します。 |
| reCAPTCHA | reCAPTCHA の設定状態と閾値を表示します。 |
| SSL/TLS | サイトが HTTPS で保護されているかどうかを表示します。 |
| CSRF | WordPress nonce による CSRF 保護の状態を表示します。 |
データ管理
会話履歴の保存設定、設定のインポート/エクスポート、リセットを管理します。AI Chatbot > 設定 > データ管理 タブで設定します。
会話履歴保存
チャット会話を WordPress データベースに保存するかどうかを制御します。
設定キー: save_history
有効: すべての会話とメッセージがデータベースに保存されます。会話履歴の表示、アナリティクス、フィードバック機能、ページ読み込み間のセッション永続化が可能になります。
無効: 会話はメモリ上でのみ処理され、永続化されません。ユーザーは前の会話を再開できず、アナリティクスデータも収集されません。
デフォルト: 有効
データ保持期間
自動削除前に会話履歴を保持する日数です。WordPress cron ジョブがこの閾値より古い会話を定期的にクリーンアップします。
設定キー: retention_days
デフォルト: 90日 | 範囲: 0 ~ 3650
0 に設定すると無期限保持になります(会話は自動削除されません)。
アンインストール時データ削除
プラグインを WordPress からアンインストール(削除)した際に、プラグインデータを完全に削除するかどうかを制御します。
設定キー: delete_data_on_uninstall
有効: アンインストール時にすべてのプラグインデータ(会話履歴、ナレッジベースエントリ、リードデータ、設定、データベーステーブル)が完全に削除されます。取り消し不可。
無効: プラグイン設定は削除されますが、データベーステーブル(会話、ナレッジベース、リード)は再インストールに備えて保持されます。
デフォルト: 無効
設定エクスポート
現在のすべての設定を JSON ファイルとしてダウンロードします。バックアップや別のサイトへの移行に使用できます。
操作手順:
- ナレッジデータを含める チェックボックスで、エクスポートにナレッジベースデータを含めるかどうかを選択します(デフォルト: 含める)。
- 設定をエクスポート ボタンをクリックします。
- JSON ファイルが自動的にダウンロードされます(ファイル名例:
wpaic-settings-2026-03-14.json)。
エクスポートに含まれるデータ:
- すべてのプラグイン設定(AI プロバイダー、モデル、テーマ、セキュリティ設定など)
- ナレッジベースデータ(オプション)
- Pro 設定(Pro版がインストールされている場合)
設定インポート
エクスポートした JSON ファイルから設定を復元します。
操作手順:
- ファイルを選択 で JSON ファイルを選択します(
.jsonファイルのみ対応)。 - 設定をインポート ボタンをクリックします。
- インポートが成功すると、確認メッセージが表示されます。
- ページをリロードして新しい設定を確認します。
活用シナリオ:
- サイト移行: ステージング環境から本番環境へ設定を移行する場合
- バックアップ: 設定変更前にバックアップを取り、問題があれば復元する場合
- マルチサイト: 複数のサイトで同じ設定を使用する場合
- テンプレート: 基本設定をテンプレートとして保存し、新規サイトに適用する場合
設定リセット
すべての設定をデフォルト値にリセットします。
リセットされるもの:
- すべてのプラグイン設定(AI プロバイダー、モデル、テーマ、セキュリティ設定など)
- API キー(削除されます)
- カスタムプロンプト
リセットされないもの:
- ナレッジベースデータ
- 会話履歴
- リードデータ
- データベーステーブル
ナレッジベース
ナレッジベースを使用して、チャットボットが一般的な AI 知識よりも優先する特定の Q&A ペアを提供できます。AI Chatbot > ナレッジ で管理します。
概要
ナレッジベースは、手動で作成する質問と回答のペアのコレクションです。ユーザーの質問がナレッジベースエントリと一致(または近い一致)した場合、AI は一般的なトレーニングデータから生成するのではなく、その特定の回答を使用するよう指示されます。
これは、製品、サービス、ポリシーなど、ビジネスに固有のよくある質問に対して正確で一貫した回答を保証する最も効果的な方法です。
マッチングの仕組み:
- 完全一致: ユーザーの質問がナレッジベースの質問と完全に一致する場合、対応する回答が厳格な指示付きで使用されます(ナレッジベース完全一致コンテキストプロンプト参照)。
- 類似一致: 類似の質問が見つかった場合(キーワードまたはベクトル検索による)、FAQ データベースとして AI に参照用に提供されます(ナレッジベース Q&A コンテキストプロンプト参照)。
- 一致なし: 関連するエントリが見つからない場合、AI は一般的な知識とサイト学習コンテキストを使用して応答します。
検索方式:
- FULLTEXT 検索(デフォルト): MySQL の FULLTEXT インデックスによるキーワードマッチングです。英語に最適化されていますが、日本語での精度は限定的です。
- ベクトル検索(RAG 有効時): AI 埋め込みモデルによるセマンティック検索です。質問の意味を理解して類似コンテンツを検索します。日本語での精度が大幅に向上します。
Q&A の追加
管理画面の「ナレッジ」ページ上部の「テキストで追加」セクションから、質問と回答のペアを手動で追加できます。
操作手順:
- AI Chatbot > ナレッジ ページにアクセスします。
- タイトル(質問)フィールドにユーザーが問い合わせる可能性のある質問文を入力します。
- 内容(回答)フィールドに AI が返すべき正確な回答文を入力します。
- 必要に応じてカテゴリーや優先度を設定します。
- 追加 ボタンをクリックします。
フィールド詳細
| フィールド | 説明 | 必須 |
|---|---|---|
| タイトル(質問) | ユーザーが問い合わせる可能性のある質問文です。検索マッチングに使用されます。 | はい |
| 内容(回答) | AI が返すべき正確な回答文です。Markdown フォーマットを使用できます。 | はい |
| カテゴリー | 整理用のラベルです。例: 「料金」「技術サポート」「営業」。フィルタリングや管理に便利です。 | いいえ |
| 優先度 | 複数のエントリが一致した場合の優先順位です。数値が高いほど優先されます。デフォルト: 0 | いいえ |
| タイプ | ナレッジのタイプ(一般、FAQ、テンプレートなど)。PRO Free版では「一般」のみ使用可能です。 | いいえ |
ファイルインポート
ファイルからナレッジベースを一括インポートできます。「ファイルインポート」セクションでファイルをアップロードします。
対応ファイル形式:
| 形式 | 拡張子 | 説明 |
|---|---|---|
| CSV | .csv | カンマ区切りの構造化データ。一括インポートに最適です。 |
| テキスト | .txt | プレーンテキスト。1つのナレッジエントリとしてインポートされます。 |
| Markdown | .md | Markdown フォーマットのテキスト。 |
.pdf | PDF ドキュメント。テキストが抽出されます。 | |
| Word | .docx | Microsoft Word ドキュメント。テキストが抽出されます。 |
操作手順:
- ファイルインポート セクションの ファイルを選択 ボタンをクリックします。
- インポートするファイルを選択します。
- 必要に応じてカテゴリーを指定します。
- インポート ボタンをクリックします。
CSV フォーマット
CSV ファイルでの一括インポートは最も効率的な方法です。以下のフォーマットに従ってください。
基本フォーマット(2列):
質問,回答 "料金はいくらですか?","月額1000円からご利用いただけます。年間プランでは20%割引になります。" "営業時間は?","平日9時から18時まで営業しています。土日祝日は休業です。" "返品はできますか?","購入後14日以内であれば返品を承ります。未開封・未使用の商品に限ります。"
3列フォーマット(カテゴリー付き):
質問,回答,カテゴリー "送料はいくらですか?","全国一律550円です。5000円以上のご購入で送料無料になります。","配送" "配送にかかる日数は?","通常2-3営業日でお届けします。離島は5-7営業日かかる場合があります。","配送" "支払い方法は?","クレジットカード、銀行振込、代引きに対応しています。","支払い" "領収書は発行できますか?","はい、マイページから PDF 形式の領収書をダウンロードいただけます。","支払い"
- 文字コードは UTF-8 を使用してください(Excel で保存する場合は「CSV UTF-8」を選択)。
- カンマやダブルクォートを含むテキストは、ダブルクォートで囲んでください。
- 1行目はヘッダー行として認識されます。
- 空行は無視されます。
一覧管理
ナレッジベースページ下部にナレッジエントリの一覧テーブルが表示されます。
統計カード:
- 合計: 登録されているナレッジエントリの総数
- 有効: 公開(active)ステータスのエントリ数
- 無効: 下書き(draft)ステータスのエントリ数
- カテゴリー数: 使用されているカテゴリーの種類数
フィルター:
- すべて: すべてのエントリを表示
- 公開: 公開ステータスのエントリのみ表示
- 下書き: 下書きステータスのエントリのみ表示
テーブル列:
| 列 | 説明 |
|---|---|
| ID | データベース上の一意の識別番号 |
| タイトル | 質問文(クリックで編集) |
| カテゴリー | 設定されたカテゴリー名 |
| タイプ | ナレッジタイプ(一般、FAQ、テンプレートなど) |
| 優先度 | 優先度の数値 |
| 更新日 | 最終更新日時 |
| 操作 | 編集・削除ボタン |
Free版とPro版の違い
Free版ではナレッジベースエントリ数に人工的な上限はありません。必要なだけ Q&A エントリを登録できます。
Pro版では以下の高度な機能が追加されます:
- ドラフトステータス: 公開前に下書きとして保存
- バージョニング: 変更履歴の管理
- 自動優先度: 使用頻度に基づく自動優先度調整
- 有効期限: 期限付きのナレッジエントリ
- 関連リンク: エントリ間のリンク付け
- インテント分類: 質問の意図の自動分類
- AI FAQ 自動生成: ナレッジギャップからの AI による FAQ 自動生成
サイト学習(クローラー) PRO
サイト学習は WordPress コンテンツを自動的にクロールし、AI チャットボットのコンテキストとして利用可能にします。AI Chatbot > サイト学習 で設定します。
概要
クローラーは WordPress の投稿、ページ、カスタム投稿タイプを読み取り、コンテンツをチャンクに分割し、FULLTEXT インデックス付きの wp_aichat_index データベーステーブルに保存します。ユーザーが質問すると、プラグインはこのインデックスから関連コンテンツを検索し、AI にコンテキストとして提供します。
これにより、チャットボットはサイトのコンテンツ(ブログ記事、製品ページ、ドキュメントなど)に関する質問に、各トピックについて手動でナレッジベースエントリを作成することなく回答できるようになります。
Pro版で表示されるステータス情報:
| 項目 | 説明 |
|---|---|
| 学習ステータス | 有効/無効、インデックス済みページ数、最終クロール日時 |
| WooCommerce 検出 | WooCommerce がインストールされている場合、商品データの自動クロール機能が表示されます |
| 埋め込みステータス | 使用中の埋め込みプロバイダー、埋め込み済みチャンク数と進捗バー |
クローラー有効化 PRO
WordPress サイトのコンテンツを自動的にクロールし、AI の参考知識としてインデックスに登録します。
有効 デフォルト: 指定した投稿タイプのコンテンツを定期的にクロールし、チャンクに分割してインデックスに保存します。
無効: クロールを実行しません。ナレッジベースの手動登録のみで運用する場合に使用します。
投稿タイプ PRO
クロール対象の WordPress 投稿タイプを選択します。
デフォルト: すべて(全投稿タイプ)
特定の投稿タイプ(投稿、固定ページ、カスタム投稿タイプ、WooCommerce 商品など)を個別に選択することもできます。
クロール間隔 PRO
自動クロールの実行間隔です。
| 選択肢 | 説明 |
|---|---|
| 毎日 デフォルト | 1日1回クロールを実行。コンテンツの更新が頻繁なサイトに適しています |
| 毎週 | 週1回クロールを実行。コンテンツの更新が少ないサイトに適しています |
手動でクロールを実行することもできます。「今すぐクロール」ボタンをクリックしてください。また、投稿の保存時に差分クロール(変更されたコンテンツのみ再インデックス)が自動実行されます。
チャンクサイズ PRO
コンテンツを分割するチャンク(断片)1つあたりの文字数です。
デフォルト: 1000文字
| 値 | 特徴 | 推奨用途 |
|---|---|---|
| 500 ~ 800 | より精密な検索が可能。インデックスサイズが増加 | 短い FAQ 記事、製品説明 |
| 1000(デフォルト) | バランスの良い設定 | 一般的なブログ記事 |
| 1500 ~ 2000 | より広い文脈を保持。検索の精度がやや低下 | 長文のドキュメント |
最大結果数 PRO
ユーザーの質問に対して AI に渡すコンテキスト(参考情報)チャンクの最大数です。
デフォルト: 3
| 値 | 特徴 |
|---|---|
| 1 ~ 2 | API コストを節約しますが、関連情報が不足する場合があります |
| 3(デフォルト) | バランスの良い設定 |
| 5 ~ 10 | より多くの参考情報を AI に渡しますが、API コストが増加します |
除外設定 PRO
クロールから除外する投稿/ページの ID やカスタムフィールドを指定します。プライバシーポリシーや利用規約など、チャットの参考にしたくないコンテンツを除外する際に使用します。
会話履歴 PRO
チャット会話履歴を表示・管理します。AI Chatbot > 会話履歴 でアクセスします。
概要
会話履歴ページでは、すべてのチャットセッションの一覧を表示し、個別の会話の詳細を確認できます。会話データは、データ管理タブで履歴保存が有効になっている場合にデータベースに保存されます。
Pro版の機能
Pro版では以下の会話管理機能が利用可能です:
統計カード:
- 合計会話数、アクティブ、クローズ、今日の会話数、アーカイブ、ハンドオフ数
検索・フィルター:
- メッセージ内容の全文検索
- ステータスフィルター(すべて、アクティブ、クローズ、アーカイブ)
- 日付範囲でのフィルタリング
一括操作:
- 選択した会話の削除
- 全会話の削除
- 全セッションのリセット
エクスポート:
- CSV 形式でのエクスポート(日付フィルタ付き)
- JSON 形式でのエクスポート
会話テーブル:
- セッション ID、メッセージ数、リード情報、開始ページ、ステータス、ハンドオフ状態、開始日時、最終更新、操作ボタン
会話詳細ビュー:
- ユーザーと AI の間の完全な時系列のやり取り
- フィードバック評価(いいね/よくないね)の表示
- 会話タグ付け
- 要約の自動生成
- リアルタイムモニター
分析 PRO
チャットボットの利用状況を詳細に分析できるダッシュボードです。AI Chatbot > 分析 でアクセスします。
概要
分析ページでは、チャットボットの利用パターン、ユーザー満足度、コスト推計などを視覚的に確認できます。
Pro版の機能
Pro版の分析ダッシュボードでは以下の機能が利用可能です:
期間選択: 7日、30日、90日の期間でデータを表示
統計カード:
- 会話数、メッセージ数、平均メッセージ数/会話、満足度スコア
- 推定コスト、AI クオリティスコア、バウンス率
チャート・グラフ:
- 日別会話数(折れ線グラフ)
- 時間帯別分布
- 会話離脱分布
- 日別コスト推移
- モデル別コスト内訳
- 日別フィードバック推移
テーブル:
- よくある質問ランキング
- トップページ(チャット開始ページ)
- デバイス統計
- 国別統計
- ナレッジギャップ(回答できなかった質問)
- 低評価フィードバック一覧
レポート:
- 印刷用レポート
- PDF エクスポート(サーバーサイド生成)
- 月間メールレポート
リード PRO
チャットボットを通じて収集されたリード(見込み客情報)を管理します。AI Chatbot > リード でアクセスします。
概要
リードキャプチャー機能を使用すると、チャット中にユーザーの連絡先情報(名前、メールアドレス、電話番号、会社名など)を収集できます。
Pro版の機能
Pro版のリード管理では以下の機能が利用可能です:
- リードキャプチャーフォーム: カスタマイズ可能なフォーム(タイトル、説明、フィールド選択、必須化)
- 統計カード: 合計リード数、今日、今週、今月の取得数
- 検索・フィルター: 名前/メール/会社名での検索、日付範囲フィルター
- エクスポート: CSV / JSON 形式でのエクスポート
- リードテーブル: 名前、メール、電話、会社、タイプ、会話リンク、日付、操作ボタン
- 通知: 新規リード取得時のメール/Webhook/Slack 通知
- カスタムフィールド: ビジネスに応じたカスタムフォームフィールド
監査ログ PRO
管理者の操作履歴を追跡する監査ログを管理します。AI Chatbot > 監査ログ でアクセスします。
概要
監査ログは、プラグイン設定の変更、ナレッジベースの編集、データのエクスポートなど、管理者が行ったすべての操作を記録します。セキュリティ監査やトラブルシューティングに役立ちます。
Pro版の機能
Pro版の監査ログでは以下の機能が利用可能です:
- フィルター: アクションタイプ、日付範囲、キーワード検索
- エクスポート: CSV 形式でのエクスポート
- ログテーブル: 日付、アクション(深刻度による色分け)、ユーザー、対象、詳細
- 保持ポリシー: ログの自動削除期間設定
- ページネーション: 大量のログの効率的な閲覧
記録されるアクション例:
- 設定の変更
- API キーの追加/削除
- ナレッジベースエントリの作成/編集/削除
- 会話データのエクスポート
- クローラーの手動実行
- プラグイン設定のインポート/エクスポート/リセット
開発者リファレンス
プラグインは WordPress フィルターと REST API を提供し、開発者がプログラム的に動作をカスタマイズできます。
WordPress フィルター
以下のフィルターをテーマの functions.php やカスタムプラグインで使用して、チャットボットの動作をカスタマイズできます。
| フィルター | 説明 | パラメータ |
|---|---|---|
wpaic_system_prompt | AI プロバイダーに送信されるシステムプロンプトを変更します。動的な情報(現在の日時、ログインユーザー名など)を追加できます。 | $prompt (string) |
wpaic_context | サイト学習から取得した RAG コンテキストを変更します。コンテキストのフィルタリングや追加情報の付加に使用します。 | $context (string) |
wpaic_ai_response | ユーザーに表示される前の AI 応答をフィルタリングします。特定のキーワードの置換や、応答末尾へのリンク追加などに使用します。 | $response (string) |
wpaic_chatbot_enabled | ページごとにチャットボットの表示を制御します。false を返すと非表示になります。 | $enabled (bool) |
wpaic_allowed_origins | クロスサイト埋め込み用の許可オリジンホスト名を追加します。外部サイト埋め込み時に必要です。 | $origins (array) |
wpaic_gpt5_token_multiplier | GPT-5 推論トークン乗算係数を調整します。 | $multiplier (int, デフォルト: 4, 範囲: 1-8) |
wpaic_chat_response_data | クライアントに返される前のチャット応答データ全体をフィルタリングします。Pro版では商品カード表示などに使用されます。 | $data (array) |
wpaic_manage_cap | プラグイン管理に必要な WordPress 権限を変更します。 | $cap (string, デフォルト: manage_options) |
wpaic_trusted_proxies | X-Forwarded-For 解析用の信頼済みプロキシ IP/CIDR を追加します。 | $proxies (array) |
REST API エンドポイント
プラグインは wp-ai-chatbot/v1 名前空間で REST API を提供します。すべてのエンドポイントは WordPress の nonce 認証(X-WP-Nonce ヘッダー)で保護されています。
| メソッド | エンドポイント | 目的 | 認証 |
|---|---|---|---|
| GET | /session | チャットセッションの取得または作成 | Nonce |
| POST | /chat | メッセージを送信して AI 応答を受信 | Nonce |
| GET | /history/{session_id} | 会話履歴の取得 | Nonce |
| POST | /feedback | フィードバックの送信(いいね/よくないね) | Nonce |
| POST | /regenerate | AI 応答の再生成 | Nonce |
| GET | /summary/{session_id} | 会話要約の生成 | Nonce |
| GET | /message-limit | メッセージ制限状態の確認(現バージョンでは制限なし) | Nonce |
| POST | /lead | リードキャプチャーフォームの送信 | Nonce |
| GET | /lead-config | リードフォーム設定の取得 | Nonce |
| POST | /suggestions | 関連質問の提案を取得 | Nonce |
| POST | /autocomplete | 入力オートコンプリートの提案を取得 | Nonce |
Pro版で追加されるエンドポイント:
| メソッド | エンドポイント | 目的 |
|---|---|---|
| GET | /pro-config | Pro 設定の取得 |
| POST | /save-context | クロスセッションコンテキストの保存 |
| POST | /conversion | コンバージョンイベントの記録 |
| POST | /offline-message | オフラインメッセージの送信 |
| GET | /templates | 回答テンプレートの取得 |
MCP エンドポイント:
| メソッド | エンドポイント | 目的 | 認証 |
|---|---|---|---|
| POST | /mcp | MCP プロトコルのメインエンドポイント | Bearer トークン |
MCP エンドポイントは JSON-RPC 2.0 プロトコルを使用し、以下のツールを提供します:
search_knowledge– ナレッジベースの検索get_site_info– サイト情報の取得
データベーステーブル
プラグインは以下のテーブルを作成します(WordPress テーブルプレフィックス + aichat_ が付きます):
| テーブル | 目的 | 主要カラム |
|---|---|---|
wp_aichat_conversations | チャットセッションレコード | id, session_id, user_id, status, started_at, updated_at, page_url, user_agent, ip_address |
wp_aichat_messages | 個別メッセージ | id, conversation_id, role (user/assistant), content, feedback, cache_hash, cache_hit, created_at |
wp_aichat_index | RAG 用サイトコンテンツインデックス | id, post_id, chunk_index, content, embedding, created_at (FULLTEXT インデックス付き) |
wp_aichat_knowledge | ナレッジベース Q&A | id, title (質問), content (回答), category, priority, type, status, embedding, created_at, updated_at |
wp_aichat_leads | リードキャプチャーデータ | id, conversation_id, name, email, phone, company, custom_fields, type, created_at |
wp_aichat_user_context | クロスセッションコンテキスト(Pro) | id, user_identifier, context_data, created_at, updated_at |
wp_aichat_audit_log | 管理操作監査ログ(Pro) | id, action, user_id, target, details, severity, created_at |
テーブルは有効化時にプラグインアクティベーターによって作成されます。Pro プラグインは同じテーブル(共有データベース)を使用し、追加のテーブルは作成しません。user_context と audit_log テーブルは使用時に自動的に作成されます。
フック使用例
例1: 特定のページでチャットボットを非表示にする
add_filter('wpaic_chatbot_enabled', function($enabled) {
// お問い合わせフォームページ(ID: 42)では非表示
if (is_page(42)) {
return false;
}
// ログインユーザーには表示しない
if (is_user_logged_in()) {
return false;
}
return $enabled;
});
例2: システムプロンプトに動的な情報を追加する
add_filter('wpaic_system_prompt', function($prompt) {
$current_date = wp_date('Y年n月j日');
$prompt .= "\n\n現在の日付: {$current_date}";
// 営業時間に応じたメッセージ
$hour = (int) wp_date('G');
if ($hour >= 9 && $hour < 18) {
$prompt .= "\n現在は営業時間内です。";
} else {
$prompt .= "\n現在は営業時間外です。お急ぎの場合はメールでお問い合わせください。";
}
return $prompt;
});
例3: AI 応答にフッターリンクを追加する
add_filter('wpaic_ai_response', function($response) {
// すべての応答の末尾にサポートページへのリンクを追加
$footer = "\n\n---\n詳しくは[サポートページ](/support)をご覧ください。";
return $response . $footer;
});
例4: 管理画面へのアクセス権限を編集者に拡張する
add_filter('wpaic_manage_cap', function($cap) {
return 'edit_pages'; // 編集者以上がアクセス可能
});
例5: 外部サイト埋め込み用の許可オリジンを追加する
add_filter('wpaic_allowed_origins', function($origins) {
$origins[] = 'shop.example.com';
$origins[] = 'blog.example.jp';
return $origins;
});
Rapls AI Chatbot マニュアル(Free版)
WordPress 用 AI チャットボットプラグインの全設定を詳しく解説します。
バージョン: 1.5.1 | PHP 7.4+ | WordPress 5.8+
ダッシュボード
ダッシュボードはプラグインの状態を一目で把握できる管理画面のメインページです。AI Chatbot > ダッシュボード でアクセスします。チャットボットの利用状況、AI プロバイダーの接続状態、API 使用量を確認できます。
概要
ダッシュボードは3つの主要セクションで構成されています。
- 統計カード: 主要な数値を大きなカード形式で表示します。
- ステータスパネル: AI プロバイダー、サイト学習、履歴保存の現在の状態を表示します。
- API 使用統計: 過去30日間のトークン使用量とコスト推計をチャートとテーブルで表示します。
統計カード
画面上部に表示される統計カードは、プラグインの主要な利用指標をリアルタイムで表示します。
| カード | 説明 |
|---|---|
| 会話数 | データベースに保存されている総会話セッション数です。履歴保存が有効な場合にカウントされます。 |
| 今日のメッセージ | 本日送受信されたメッセージの合計数です。ユーザーメッセージと AI 応答の両方を含みます。 |
| インデックス済みページ | サイト学習(クローラー)によってインデックスに登録されたページ数です。Pro版でクローラーを有効にした場合にカウントされます。 |
| ナレッジ数 | ナレッジベースに登録されている Q&A エントリの総数です。 |
ステータスパネル
現在のプラグイン設定の状態を3つの項目で表示します。各項目には緑色(有効/正常)またはグレー(無効/未設定)のインジケーターが表示されます。
| 項目 | 説明 |
|---|---|
| AI プロバイダー | 現在選択中の AI プロバイダー名とモデルが表示されます。API キーが設定済みで接続テストに成功している場合は緑色のチェックマークが表示されます。 |
| サイト学習 | クローラーの有効/無効状態と、最終クロール日時が表示されます。Pro版でのみ有効化可能です。 |
| 履歴保存 | 会話履歴保存の有効/無効状態が表示されます。有効な場合、保持日数も表示されます(0の場合は「無期限」)。 |
API 使用統計(過去30日)
過去30日間の API 使用量を詳細に表示します。AI プロバイダーへのリクエストごとにトークン使用量が記録され、コスト推計が計算されます。
| 表示項目 | 説明 |
|---|---|
| トークン合計 | 入力トークンと出力トークンの合計数です。 |
| 入力トークン | AI に送信されたテキスト(システムプロンプト、ユーザーメッセージ、コンテキスト)のトークン数です。 |
| 出力トークン | AI が生成した応答テキストのトークン数です。 |
| 推定コスト | 各プロバイダーの公開料金表に基づく推定 API 費用(USD)です。実際の請求額とは異なる場合があります。 |
| 日別チャート | 過去30日間のトークン使用量を日別の折れ線グラフで表示します。 |
| プロバイダー別内訳 | 使用したプロバイダーごとのトークン数とコスト内訳をテーブルで表示します。 |
AI 設定
AI プロバイダー、API キー、モデル、ベクトル埋め込み、MCP サーバーを設定します。AI Chatbot > 設定 > AI 設定 タブで設定します。
AI プロバイダー
チャットボットが使用する AI サービスを選択します。各プロバイダーごとに API キーの取得とモデルの選択が必要です。
設定キー: ai_provider
デフォルト: openai
| 選択肢 | 説明 |
|---|---|
| OpenAI デフォルト | GPT-4o、GPT-4 Turbo、GPT-3.5 Turbo など。最も広く利用されている AI プロバイダーです。 |
| Claude (Anthropic) | Claude Opus、Sonnet、Haiku モデル。長文の理解と安全性に優れています。 |
| Gemini (Google) | Gemini 2.0 Flash、1.5 Pro など。マルチモーダル対応に強みがあります。Google の無料枠が充実しています。 |
| OpenRouter | 100以上のモデルに統一 API でアクセスできるゲートウェイサービスです。 |
設定手順:
- AI Chatbot > 設定 > AI 設定 タブを開きます。
- ドロップダウンから使用したいプロバイダーを選択します。
- 選択したプロバイダーの設定セクションが展開表示されます。
- API キーを入力し、モデルを選択します。
- 接続テスト ボタンで接続を確認します。
- ページ下部の 設定を保存 をクリックします。
OpenAI 設定
OpenAI の API キーとモデルを設定します。
API キーの取得手順:
- OpenAI Platform にアクセスし、アカウントを作成またはログインします。
- 左メニューの API Keys をクリックします(または https://platform.openai.com/api-keys に直接アクセス)。
- Create new secret key をクリックします。
- 名前を入力し(例: 「WordPress Chatbot」)、Create secret key をクリックします。
- 表示されたキー(
sk-で始まる文字列)をコピーします。このキーは一度しか表示されません。 - Billing セクションでクレジットカードを登録し、API クレジットを購入します(従量課金制)。
API キー(openai_api_key): sk- で始まるキーを入力してください。保存時に暗号化されます。接続テスト ボタンでキーの有効性を確認でき、削除 ボタンで保存済みのキーを削除できます。
モデル選択(openai_model):
| モデル | 特徴 | 推奨用途 |
|---|---|---|
| gpt-4o-mini デフォルト | 高速・低コスト。GPT-4o の軽量版 | 一般的なカスタマーサポート、コスト重視 |
| gpt-4o | 高性能マルチモーダル。画像理解対応 | 画像を扱う高品質な応答が必要な場合 |
| gpt-4-turbo | GPT-4 の高速版。128K コンテキスト | 長い会話や大量の知識ベースがある場合 |
| gpt-3.5-turbo | 最も低コスト | コスト重視の場合 |
| o1 / o1-mini | 推論特化モデル。思考プロセスを表示 | 複雑な問題解決 |
| o3-mini | 最新の推論モデル | 高度な推論タスク |
| gpt-4.5-preview | GPT-4.5 プレビュー版 | 最新機能の試用 |
| gpt-5 | 最新世代。トークン自動乗算機能あり | 最高品質の応答 |
wpaic_gpt5_token_multiplier フィルター(範囲: 1-8)で調整可能です。
Claude (Anthropic) 設定
Anthropic の API キーとモデルを設定します。
API キーの取得手順:
- Anthropic Console にアクセスし、アカウントを作成またはログインします。
- 左メニューの API Keys をクリックします。
- Create Key をクリックし、名前を入力します。
- 表示されたキー(
sk-ant-で始まる文字列)をコピーします。 - Plans & Billing セクションでクレジットカードを登録します。
API キー(claude_api_key): sk-ant- で始まるキーを入力してください。保存時に暗号化されます。接続テスト・削除ボタンが利用可能です。
モデル選択(claude_model):
| モデル | 特徴 | 推奨用途 |
|---|---|---|
| claude-sonnet-4-20250514 デフォルト | 最新の Sonnet。速度と品質のバランスが優秀。画像対応 | 汎用チャットボット |
| claude-opus-4-20250514 | 最高性能。画像対応。最高コスト | 複雑なタスク、長文コンテンツ |
| claude-haiku-4-20250514 | 最速・最低コスト | シンプルで高速な応答 |
| claude-3-5-sonnet | 前世代の Sonnet。画像対応 | 総合的に高性能 |
| claude-3-opus | 前世代のフラッグシップ。画像対応 | 複雑な推論(前世代) |
| claude-3-haiku | 前世代の軽量モデル | コスト重視のデプロイ(前世代) |
Gemini (Google) 設定
Google AI の API キーとモデルを設定します。
API キーの取得手順:
- Google AI Studio にアクセスし、Google アカウントでログインします。
- 左メニューの API Keys をクリックします(または https://aistudio.google.com/apikey に直接アクセス)。
- Create API Key をクリックします。
- Google Cloud プロジェクトを選択するか、新規作成します。
- 表示された API キーをコピーします。
API キー(gemini_api_key): Google AI Studio の API キーを入力してください。保存時に暗号化されます。
モデル選択(gemini_model):
| モデル | 特徴 | 推奨用途 |
|---|---|---|
| gemini-2.0-flash-exp デフォルト | 高速・高性能・コスト効率良好。画像対応 | 汎用、マルチモーダルタスク |
| gemini-1.5-pro | 100万トークンコンテキスト。長文ドキュメントに最適 | 長文分析、大規模ナレッジベース |
| gemini-1.5-flash | 速度と効率に最適化。画像対応 | 高速・低コストの応答 |
| gemini-2.0-flash-thinking-exp | 思考プロセス表示付きの強化推論。実験的 | 複雑な推論タスク |
OpenRouter 設定
OpenRouter は複数の AI プロバイダー(OpenAI、Anthropic、Google、Meta、Mistral など)のモデルに統一 API でアクセスできるサービスです。
API キーの取得手順:
- OpenRouter にアクセスし、アカウントを作成またはログインします。
- ダッシュボードの Keys セクション(https://openrouter.ai/keys)にアクセスします。
- Create Key をクリックし、名前を入力します。
- 表示されたキー(
sk-or-で始まる文字列)をコピーします。 - クレジットを追加して利用を開始します。
API キー(openrouter_api_key): sk-or- で始まるキーを入力してください。保存時に暗号化されます。
モデル(openrouter_model): デフォルトは openrouter/auto で、リクエスト内容に応じて最適なモデルを自動選択します。更新ボタンをクリックすると、利用可能なモデルの完全なリストを取得できます。
デフォルト: openrouter/auto
ベクトル埋め込み (RAG)
AI の埋め込みモデルを使用したセマンティック検索を有効にし、ナレッジベースやサイトコンテンツの検索精度を向上させます。キーワード一致だけに頼るのではなく、クエリの意味を理解して検索します。
| 設定 | 設定キー | 説明 |
|---|---|---|
| ベクトル検索 | embedding_enabled | 有効: AI の埋め込みモデルを使ってテキストをベクトルに変換し、意味的な類似性でマッチングを行います。日本語などの非英語言語での精度が大幅に向上します。 無効: 従来の FULLTEXT キーワード検索のみを使用します。デフォルト: 無効 |
| 埋め込みプロバイダー | embedding_provider | 自動 デフォルト - 設定済みの API キーに基づいて最適なプロバイダーを自動選択(OpenAI を優先) OpenAI - OpenAI の text-embedding-ada-002 モデルを使用。OpenAI API キーが必要 Gemini - Google の embedding モデルを使用。Gemini API キーが必要 |
| ステータス | (読み取り専用) | 設定が完了している場合、使用中のプロバイダー/モデルと、埋め込み済みのコンテンツチャンク数/総数が表示されます。 |
RAG を有効にする手順:
- OpenAI または Gemini の API キーが設定されていることを確認します。
- ベクトル検索 を有効にします。
- 埋め込みプロバイダー を選択します(通常は「自動」で問題ありません)。
- 設定を保存します。
- Pro版の場合、サイト学習(クローラー)を実行して既存コンテンツの埋め込みを生成します。
- ナレッジベースに新しいエントリを追加すると、自動的に埋め込みが生成されます。
MCP (Model Context Protocol) サーバー
MCP サーバーを有効にすると、Claude Desktop、Cursor、Windsurf、その他の MCP 対応クライアントからプラグインのナレッジベースや会話データにプログラム的にアクセスできるようになります。
| 設定 | 設定キー | 説明 |
|---|---|---|
| MCP サーバー | mcp_enabled | 有効: REST API エンドポイントを公開し、外部の AI エージェントからナレッジベースの検索やサイト情報の取得が可能になります。 無効: MCP エンドポイントにアクセスできません。デフォルト: 無効 |
| MCP API キー | (自動生成) | キーを生成 ボタンで認証キーを作成します。キーは生成時に一度だけ表示されるため、安全に保管してください。キーを再生成 で新しいキーを作成します(以前のキーは無効化されます)。 |
| MCP エンドポイント | (自動生成) | サイトに基づいて自動生成される REST API URL。コピー ボタンで MCP クライアント設定に使用してください。 |
MCP セットアップ手順:
- AI Chatbot > 設定 > AI 設定 タブの MCP セクションを開きます。
- MCP サーバー を有効にし、設定を保存します。
- キーを生成 ボタンをクリックし、表示された API キーをコピーします。
- MCP エンドポイント の URL をコピーします。
- MCP クライアント(Claude Desktop など)の設定ファイルにこれらの情報を追加します。
Claude Desktop 設定例:
Claude Desktop の設定ファイル(macOS: ~/Library/Application Support/Claude/claude_desktop_config.json、Windows: %APPDATA%\Claude\claude_desktop_config.json)に以下を追加します。
{
"mcpServers": {
"my-wordpress-site": {
"url": "https://example.com/wp-json/wp-ai-chatbot/v1/mcp",
"headers": {
"Authorization": "Bearer YOUR_MCP_API_KEY"
}
}
}
}
Cursor / Windsurf 設定例:
Cursor の場合は .cursor/mcp.json、Windsurf の場合は .windsurf/mcp.json をプロジェクトルートに作成します。
{
"mcpServers": {
"wordpress-kb": {
"url": "https://example.com/wp-json/wp-ai-chatbot/v1/mcp",
"headers": {
"Authorization": "Bearer YOUR_MCP_API_KEY"
}
}
}
}
チャット設定
チャットボットの動作、表示内容、会話処理方法を設定します。AI Chatbot > 設定 > チャット設定 タブで設定します。
ボット名
チャットウィジェットのヘッダーとボットメッセージの横に表示される名前です。
設定キー: bot_name
デフォルト: Assistant
リセットボタンでデフォルト値に戻すことができます。
設定例:
- ブランド名: 「RAPLS サポート」
- 親しみやすい名前: 「あいちゃん」「ヘルプデスク」
- 役割ベース: 「カスタマーサポート」「製品アドバイザー」
ボットアバター
チャットウィジェットでボットメッセージの横に表示されるアバターアイコンです。
設定キー: bot_avatar
デフォルト: ロボットの絵文字
- 絵文字: テキストフィールドに任意の絵文字を直接入力できます(例: 🤖、🐱、💬、🏢)。
- 画像: 画像を選択 ボタンをクリックして WordPress メディアライブラリから画像を選択します。推奨サイズ: 96x96ピクセル以上、正方形。会社のロゴやマスコットキャラクターの画像が効果的です。
絵文字にリセット ボタンでデフォルトの絵文字アバターに戻すことができます。
ウェルカムメッセージ
ユーザーがチャットウィジェットを開いた時に最初に表示されるメッセージです。これは静的な挨拶文で、AI には送信されません。
設定キー: welcome_message
デフォルト: Hello! How can I help you today?
設定例:
こんにちは!ご質問やお困りのことがあれば、お気軽にお聞きください。 製品の使い方、料金プラン、技術的なサポートなど、何でもお手伝いします。
言語別ウェルカムメッセージ(welcome_messages):
応答言語を 自動検出 に設定すると、メインのウェルカムメッセージフィールドの下に折りたたみパネルが表示され、13言語(英語、日本語、中国語、韓国語、スペイン語、フランス語、ドイツ語、ポルトガル語、イタリア語、ロシア語、アラビア語、タイ語、ベトナム語)ごとに個別のウェルカムメッセージを設定できます。
優先順序:
- 言語別メッセージ -- 検出された言語に対して特定のメッセージが設定されている場合、それが使用されます。
- ウェルカムメッセージ -- 言語別メッセージが存在しない場合、メインのウェルカムメッセージが表示されます。
- 組み込みデフォルト -- ウェルカムメッセージがデフォルトのままの場合、組み込みの翻訳が使用されます。
応答言語
AI が応答する言語を制御します。
設定キー: response_language
| 選択肢 | 説明 |
|---|---|
| サイト言語 デフォルト | WordPress の言語設定(設定 > 一般 > サイトの言語)に従います |
| 自動検出 | ユーザーの入力言語を検出し、同じ言語で応答します。多言語サイトに最適です。言語別ウェルカムメッセージの設定が追加表示されます。 |
| 個別言語 | 英語 (en)、日本語 (ja)、中国語 (zh)、韓国語 (ko)、スペイン語 (es)、フランス語 (fr)、ドイツ語 (de)、ポルトガル語 (pt) から選択し、常にその言語で応答します |
システムプロンプト
AI の振る舞い、性格、制約事項を定義する指示文です。すべての会話で最初のメッセージとして AI に送信され、AI の「取扱説明書」として機能します。
設定キー: system_prompt
デフォルト: 以下の6つのルールを含む包括的なプロンプトが設定されています:
- 正確さ: 参考情報を主要な情報源として使用する
- 誠実さ: 情報がない場合は明確にその旨を伝える
- 捏造禁止: 事実、URL、価格、日付を決して捏造しない
- 簡潔さ: 明確で焦点を絞った回答を提供する
- 言語: ユーザーと同じ言語で応答する
- トーン: プロフェッショナルで親切、かつ役立つ態度
このプロンプトは完全にカスタマイズ可能です。デフォルトにリセット ボタンで初期値に戻せます。
ビジネス別システムプロンプト例:
ECサイト向け:
あなたは「ショップ名」のカスタマーサポートAIアシスタントです。 以下のルールに従ってください: 1. 提供された商品情報のみに基づいて回答してください。 2. 価格、在庫状況、送料は最新情報を確認するよう案内してください。 3. 返品・交換は購入後14日以内であることを伝えてください。 4. 競合他社の商品については言及しないでください。 5. 購入に関する技術的な問題はサポートチーム(support@example.com)への連絡を案内してください。
SaaS / ソフトウェア向け:
あなたは「製品名」のテクニカルサポートAIです。 以下のルールに従ってください: 1. ドキュメントに記載されている情報を優先して回答してください。 2. コードサンプルを含める場合は、正確で動作するコードを提供してください。 3. 解決できない技術的な問題はサポートチケットの作成を案内してください。 4. セキュリティに関する質問には、公式ドキュメントへのリンクを含めてください。 5. 料金プランの詳細は料金ページ(/pricing)を案内してください。
コンテキストプロンプト(詳細設定)
ナレッジベースやサイト学習データを AI に渡す際の指示文をカスタマイズできます。関連データが見つかった場合にシステムプロンプトに追加されます。このセクションはデフォルトで折りたたまれています。チェックボックスをオンにすると展開されます。
すべてのコンテキストプロンプトで {context} を実際のコンテンツのプレースホルダーとして使用できます。
| プロンプト | 設定キー | 説明 |
|---|---|---|
| ナレッジベース完全一致プロンプト | knowledge_exact_prompt | ナレッジベースに完全一致する Q&A が見つかった場合に使用。一致した回答のみを使用し、外部情報を追加したりソースを組み合わせたりしないよう厳格に指示します。 |
| ナレッジベース Q&A プロンプト | knowledge_qa_prompt | Q&A 形式のエントリが見つかった場合(完全一致ではない)に使用。AI に FAQ データベースから最適な Q&A ペアを探して対応する回答を使用するよう指示します。 |
| サイトコンテキストプロンプト | site_context_prompt | クロールしたサイトコンテンツがコンテキストとして提供される場合に使用。AI に参考情報として扱い、完全なキーワード一致ではなく意味で照合するよう指示します。 |
各プロンプトには デフォルトにリセット ボタンがあります。
機能プロンプト(詳細設定)
再生成、フィードバック学習、要約機能の動作をカスタマイズするプロンプトです。このセクションはデフォルトで折りたたまれています。チェックボックスをオンにすると展開されます。
| プロンプト | 設定キー | 説明 |
|---|---|---|
| 再生成プロンプト | regenerate_prompt | ユーザーが応答の再生成をリクエストした時に追加される指示文。AI にまったく異なる回答を生成するよう指示します。 |
| フィードバック良好ヘッダー | feedback_good_header | 肯定的に評価された応答例の前に付加されるヘッダーテキスト。AI の学習例として送信されます。 |
| フィードバック不良ヘッダー | feedback_bad_header | 否定的に評価された応答例の前に付加されるヘッダーテキスト。AI に同様のパターンを避けるよう指示します。 |
| 要約プロンプト | summary_prompt | 会話要約を生成する際の指示文(主なトピックと結論を2-3文で要約)。 |
再生成プロンプトのプレースホルダー:
| プレースホルダー | 説明 |
|---|---|
{variation_number} | 毎回挿入されるランダムな数値(1-1000)。AI に一意の応答を強制的に生成させます。 |
{forbidden_start} | 前回の応答の最初の50文字。AI に同じテキストで始めないよう指示します。 |
{style} | ランダムに選択されるスタイル指示(例:「カジュアルなトーンで」「別の角度から説明して」)。応答スタイルを変化させます。 |
メッセージ履歴数
AI にコンテキストとして送信する過去のメッセージ数です。メッセージが多いほど AI は会話の文脈をよく理解しますが、トークン使用量と API コストが増加します。
設定キー: message_history_count
デフォルト: 10 | 範囲: 1 ~ 50
最大トークン数
AI の応答1回あたりの最大出力トークン数です。1トークンは英語で約4文字、日本語/中国語/韓国語で約1-2文字に相当します。
設定キー: max_tokens
デフォルト: 1000 | 範囲: 100 ~ 4000
リセットボタンでデフォルト値に戻すことができます。
| 値 | 日本語での目安 | 推奨用途 |
|---|---|---|
| 100 ~ 300 | 50 ~ 150文字程度 | 短い一言回答 |
| 500 ~ 1000 | 250 ~ 500文字程度 | 一般的なサポート回答 |
| 1500 ~ 3000 | 750 ~ 1500文字程度 | 詳細な説明が必要な場合 |
| 4000 | 約2000文字 | 長文の技術ドキュメント |
Temperature(創造性)
AI の応答のランダム性を制御します。低い値ほど一貫した決定論的な応答になり、高い値ほど創造的で多様な応答になります。
設定キー: temperature
デフォルト: 0.7 | 範囲: 0 ~ 2(0.1刻み)
リセットボタンでデフォルト値に戻すことができます。
| 値 | 特徴 | 推奨用途 |
|---|---|---|
| 0 ~ 0.3 | 非常に一貫性が高い。同じ質問に同じ回答 | FAQ、事実ベースの回答、医療・法律情報 |
| 0.5 ~ 0.8 | バランスの良い応答 | 一般的なカスタマーサポート |
| 0.9 ~ 1.5 | 創造的で多様な応答 | クリエイティブなコンテンツ、ブレインストーミング |
| 1.5 ~ 2.0 | 非常にランダム。予測困難 | 通常は非推奨 |
フィードバックボタン
AI の各応答メッセージの下に「いいね」「よくないね」のボタンを表示します。
設定キー: show_feedback_buttons
有効: すべてのボットメッセージにフィードバックボタンが表示されます。フィードバックはデータベースに保存され、将来のプロンプト(機能プロンプト参照)で応答品質の向上に使用されます。
無効: フィードバックボタンを非表示にします。
デフォルト: 無効
API 制限超過メッセージ
OpenAI・Claude・Gemini などの AI プロバイダー側の API レート制限やクォータ超過、課金エラーが発生した場合にユーザーに表示されるメッセージです。プラグイン独自のメッセージ制限とは無関係です。
設定キー: quota_error_message
デフォルト: Currently recharging. Please try again later.
リセットボタンでデフォルトのテキストに戻すことができます。
設定例:
申し訳ございません。現在 AI が一時的にご利用いただけません。 お急ぎの場合は、お問い合わせページ(/contact)からご連絡ください。
Web 検索
ナレッジベースに十分な回答が含まれていない場合に、AI がリアルタイムで Web 検索を自動実行できるようにします。
設定キー: web_search_enabled
有効: 必要に応じて AI が Web 検索を実行し、インターネットから最新の情報を提供します。
無効: AI はトレーニングデータとナレッジベース/サイト学習コンテンツのみで応答します。
デフォルト: 無効
表示設定
チャットウィジェットの外観と配置を制御します。AI Chatbot > 設定 > 表示設定 タブで設定します。
テーマ
チャットウィジェットの外観テーマを選択します。各テーマはヘッダー、メッセージ、入力エリア、バッジボタンの統一されたカラースキームとビジュアルスタイルを設定します。
設定キー: widget_theme
Free テーマ(6種類):
| テーマ | 説明 |
|---|---|
| Default デフォルト | 標準的なモダンデザイン。丸みを帯びたカード型。どのサイトにも合う汎用的なスタイルです。 |
| Simple | シンプルでミニマルなデザイン。装飾を最小限に抑えたクリーンなスタイルです。 |
| Classic | クラシックなチャット UI。従来型のメッセンジャースタイルです。 |
| Light | 明るくクリーンなデザイン。白を基調とした清潔感のあるスタイルです。 |
| Minimal | 装飾を最小限にしたデザイン。コンテンツに集中できるスタイルです。 |
| Flat | フラットデザイン。影やグラデーションを使用しないモダンなスタイルです。 |
Pro テーマ(10種類): PRO
Pro版では Modern、Gradient、Dark、Glass、Rounded、Ocean、Sunset、Forest、Neon、Elegant のテーマが追加されます。設定 UI ではロックアイコン付きで表示され、Pro プラグインなしでは選択できません。
メインカラー
チャットヘッダー、送信ボタン、バッジボタン、ユーザーメッセージバブルに使用されるメインのアクセントカラーです。
設定キー: primary_color
デフォルト: #007bff(青)
カラーピッカーウィジェットが提供され、視覚的に色を選択できます。リセットボタンでデフォルトカラーに戻すことができます。テーマを選択すると対応するカラーが自動設定されますが、その後に上書きすることもできます。
ダークモード PRO
選択したテーマに関係なく、チャットウィジェットにダークカラースキームのオーバーレイを適用します。
設定キー: dark_mode
有効: チャットウィジェットが暗い背景と明るいテキストで表示されます。任意のテーマのオーバーレイとして機能します。
無効: ウィジェットは選択したテーマの標準的なライトモードカラーを使用します。
デフォルト: 無効
この機能には Pro プラグインが必要です。Free版では設定は表示されますが無効化(ロック)されています。
バッジ位置
フローティングチャットバッジボタンのページ上の位置を制御します。ビジュアルグリッドセレクターで4つの角から選択できます。
設定キー: badge_position
| 選択肢 | 説明 |
|---|---|
| 右下 デフォルト | 最も一般的な配置。ほとんどのサイトに適しています |
| 左下 | 右下に他の要素(Cookie バナー、他のチャットウィジェットなど)がある場合に適しています |
| 右上 | あまり一般的ではありませんが、レイアウトに応じて使用可能 |
| 左上 | 特殊なレイアウト用 |
バッジマージン(badge_margin_right、badge_margin_bottom):
ビューポート端からの距離を微調整します。マージンのラベルは選択した位置に応じて動的に変わります(例: 右下の場合は「右」と「下」、左上の場合は「左」と「上」)。
| 設定 | 範囲 | デフォルト |
|---|---|---|
| 水平マージン | 0-200 px | 20 px |
| 垂直マージン | 0-200 px | 20 px |
リセットボタンで両方のマージンを 20px に戻すことができます。
バッジアイコン PRO
フローティングチャットバッジボタン内に表示されるアイコンをカスタマイズします。
Free版ではデフォルトのチャットバブル SVG アイコンが表示されます。Pro版では以下の4種類のアイコンタイプが利用可能です:
- デフォルト: 組み込みのチャットバブルアイコン(SVG)
- プリセット: プリセット SVG アイコンのライブラリから選択
- 画像: メディアライブラリからカスタム画像をアップロード
- 絵文字: 任意の絵文字を使用
Markdown レンダリング
AI の応答を Markdown フォーマットでレンダリングするかどうかを制御します。プラグインには組み込みの Markdown パーサーが含まれています(外部ライブラリ不要)。
設定キー: markdown_enabled
有効: 太字、斜体、コードブロック、インラインコード、順序付き/順序なしリスト、見出し、リンクがフォーマットされた HTML としてボットメッセージに表示されます。
無効: ボットメッセージがプレーンテキストとして表示されます。
デフォルト: 有効
モバイル表示
モバイルデバイス(画面幅768px未満)でチャットウィジェットを表示するかどうかを制御します。
設定キー: show_on_mobile
有効: モバイルデバイスでチャットウィジェットが表示されます。小さな画面ではチャットウィンドウがビューポート全体に拡張されます。
無効: モバイルデバイスではチャットウィジェット(バッジとウィンドウの両方)が完全に非表示になります。
デフォルト: 有効
ページ表示設定
チャットボットを表示するページタイプを細かく制御できます。
| 設定 | 設定キー | デフォルト | 説明 |
|---|---|---|---|
| ホームページ | badge_show_on_home | 有効 | サイトのフロントページ(固定ページまたは最新の投稿) |
| 投稿 | badge_show_on_posts | 有効 | 個別のブログ記事 |
| 固定ページ | badge_show_on_pages | 有効 | WordPress 固定ページ(会社概要、お問い合わせなど) |
| アーカイブ | badge_show_on_archives | 有効 | カテゴリー、タグ、日付、著者のアーカイブページ |
特定ページ ID(含む)(badge_include_ids):
カンマ区切りの投稿/ページ ID。設定すると、これらの特定ページ のみ にチャットボットが表示され、上記のページタイプチェックボックスが上書きされます。空のままにするとページタイプ設定が使用されます。例: 10, 25, 142
除外 ID(badge_exclude_ids):
カンマ区切りの投稿/ページ ID。ページタイプが有効でも、これらのページではチャットボットが 非表示 になります。例: 5, 30, 200
ページ除外(ドロップダウン)
ID ベースの除外の代わりに、ユーザーフレンドリーな方法でページを除外できます。ドロップダウンメニューから公開済みのページを選択して、ページ ID を調べることなくチャットボットを非表示にできます。
設定キー: excluded_pages
選択されたページはタグ状のチップとして表示され、削除ボタンが付いています。ドロップダウンからページを選択した後、追加 をクリックしてください。投稿の除外には、上記の除外 ID フィールドを使用してください。
フッター
Free版では、チャットウィジェット下部に「Powered by」テキストは表示されません(デフォルトでフッターなし)。
Pro版のホワイトラベル設定から、カスタムフッターテキストやリンクをオプトインで追加できます。カスタムテキスト、リンク、CSS を自由にカスタマイズ可能です。
外部サイト埋め込み
WordPress 以外のサイトにチャットボットを埋め込むためのコードを提供します。2つの埋め込み方法が用意されています。
スクリプト埋め込み(推奨):
フローティングバッジとして表示されます。外部サイトの </body> タグの前に以下のスクリプトを挿入してください。
<script src="https://example.com/wp-content/plugins/rapls-ai-chatbot/assets/js/embed-loader.js"
data-site="https://example.com"
data-color="#007bff"
data-position="right"
async></script>
data-site には WordPress サイトの URL、data-color にはメインカラー、data-position には表示位置(right または left)を指定します。
iframe 埋め込み:
固定サイズのチャットウィンドウとして表示されます。任意の場所に以下の iframe タグを挿入してください。
<iframe src="https://example.com/?wpaic_embed=1"
style="width:400px;height:600px;border:none;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.15)"
allow="clipboard-write"
title="Chat"></iframe>
wpaic_allowed_origins フィルターを使用してドメインを追加してください。
許可オリジンの追加例:
add_filter('wpaic_allowed_origins', function($origins) {
$origins[] = 'external-site.com';
$origins[] = 'another-domain.jp';
return $origins;
});
セキュリティ設定
reCAPTCHA、アクセス制御、プロキシ設定、セキュリティ診断を管理します。AI Chatbot > 設定 > セキュリティ設定 タブで設定します。
reCAPTCHA v3 有効化
不可視の Google reCAPTCHA v3 ボット保護を有効にします。reCAPTCHA v3 はユーザーの操作なしにバックグラウンドで実行され、各リクエストに 0.0(ボットの可能性が高い)から 1.0(人間の可能性が高い)のスコアを割り当てます。
設定キー: recaptcha_enabled
有効: 各チャットメッセージは AI に送信される前に reCAPTCHA で検証されます。閾値未満のスコアのリクエストはブロックされます。
無効: reCAPTCHA 検証を行いません。チャットボットは他のセキュリティ対策(レート制限、ボット検出)に依存します。
デフォルト: 無効
サイトキー / シークレットキー
reCAPTCHA v3 のキーペアを設定します。
キーの取得手順:
- Google reCAPTCHA 管理コンソール にアクセスします。
- 「+」ボタンで新しいサイトを追加します。
- reCAPTCHA タイプ で reCAPTCHA v3 を選択します(v2 ではありません)。
- ドメイン にサイトのドメイン(例:
example.com)を入力します。 - 送信 をクリックすると、サイトキーとシークレットキーが表示されます。
サイトキー(recaptcha_site_key):
フロントエンドの JavaScript に埋め込まれる公開キーです。プレーンテキストで入力してください。
シークレットキー(recaptcha_secret_key):
サーバーサイドの検証に使用される秘密キーです。WordPress データベースに暗号化して保存されます。保存後はマスク表示(••••••••)されます。現在のキーを保持する場合は、フィールドを空のまま保存してください。
スコア閾値
チャットメッセージの通過を許可するために必要な最小 reCAPTCHA スコアです。
設定キー: recaptcha_threshold
デフォルト: 0.5 | 範囲: 0.1 ~ 1.0(0.1刻み)
| 値 | 判定の厳しさ | 説明 |
|---|---|---|
| 0.1 ~ 0.3 | 緩い | ほとんどのリクエストを通過させます。誤ブロックのリスクが低い反面、ボットの通過リスクが高くなります |
| 0.5 | 標準 推奨 | Google が推奨するバランスの良い閾値です |
| 0.7 ~ 0.9 | 厳しい | 正規ユーザーもブロックされる可能性があります。VPN やプライバシーブラウザの使用者は影響を受けやすくなります |
既存 reCAPTCHA の使用
サイトの他のプラグイン(Contact Form 7、WPForms、Gravity Forms など)が既に reCAPTCHA v3 スクリプトを読み込んでいる場合、スクリプトの二重読み込みを防ぐために有効にします。
設定キー: recaptcha_use_existing
有効: プラグインは独自の reCAPTCHA スクリプトを読み込みません。ページ上で既に利用可能な reCAPTCHA インスタンスを再利用します。
無効: プラグインはサイトキーを使用して独自の reCAPTCHA v3 スクリプトを読み込みます。
デフォルト: 無効
WP Consent API 厳格モード
localStorage とコンバージョントラッキングに関する GDPR 準拠の動作のために WP Consent API と連携します。
設定キー: consent_strict_mode
有効: WP Consent API 互換の同意管理プラグインが有効で、ユーザーが同意を付与していない限り、ユーザー ID の永続化(localStorage)とコンバージョントラッキングが無効になります。チャットボット自体は通常通り動作します。
無効: 同意ステータスに関係なく localStorage とコンバージョントラッキングが通常通り動作します。
デフォルト: 無効
レート制限
単一の IP アドレスが時間ウィンドウ内に送信できるチャットメッセージ数を制限し、API 予算を悪用から保護します。
設定キー: rate_limit、rate_limit_window
最大リクエスト数: 時間ウィンドウ内の IP あたりの最大許可メッセージ数。0 で無制限。
デフォルト: 20リクエスト
時間ウィンドウ:
| 値(秒) | 期間 |
|---|---|
60 | 1分 |
300 | 5分 |
600 | 10分 |
1800 | 30分 |
3600 | 1時間 デフォルト |
10800 | 3時間 |
21600 | 6時間 |
43200 | 12時間 |
86400 | 1日 |
プロキシ設定
サイトが CDN またはリバースプロキシの背後にある場合に、プラグインが実際の訪問者 IP アドレスを検出する方法を設定します。正しい IP 検出はレート制限とボット検出に不可欠です。
Cloudflare CF-Connecting-IP を信頼(trust_cloudflare_ip):
有効: Cloudflare の CF-Connecting-IP ヘッダーを使用して実際の訪問者 IP を検出します。
無効: CF-Connecting-IP ヘッダーを無視します。
デフォルト: 無効
X-Forwarded-For を信頼(trust_proxy_ip):
有効: X-Forwarded-For ヘッダーから最初のパブリック IP を使用します。
無効: X-Forwarded-For ヘッダーを無視し、REMOTE_ADDR を直接使用します。
デフォルト: 無効
Cloudflare セットアップ例:
- サイトが Cloudflare を経由していることを確認します(DNS が Cloudflare のネームサーバーを使用)。
- 「Cloudflare CF-Connecting-IP を信頼」を有効にします。
- 設定を保存し、セキュリティ診断で IP 検出方法が「CF-Connecting-IP」と表示されることを確認します。
Nginx リバースプロキシセットアップ例:
# Nginx 設定で X-Forwarded-For を設定 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr;
- Nginx が X-Forwarded-For ヘッダーを正しく設定していることを確認します。
- 「X-Forwarded-For を信頼」を有効にします。
- 必要に応じて
wpaic_trusted_proxiesフィルターでプロキシ IP/CIDR を追加します。
信頼済みプロキシの追加例:
add_filter('wpaic_trusted_proxies', function($proxies) {
// AWS ALB の VPC CIDR
$proxies[] = '10.0.0.0/8';
// カスタムプロキシ IP
$proxies[] = '192.168.1.100';
return $proxies;
});
失敗時モード
reCAPTCHA の検証自体が失敗した場合(例: Google のサーバーに到達できない、ネットワークエラー)の動作を制御します。
設定キー: recaptcha_fail_mode
| 選択肢 | 説明 |
|---|---|
| Open(許可) デフォルト | 検証失敗時もチャットを許可します。可用性を優先する場合に適しています |
| Closed(ブロック) | 検証失敗時はチャットをブロックします。セキュリティを最優先する場合に適しています |
セキュリティ診断
セキュリティ設定タブの下部にある読み取り専用のセクションで、現在のセキュリティ設定のステータスを表示します。すべてのフィールドは情報表示のみで編集できません。
| 項目 | 説明 |
|---|---|
| 許可されたオリジンホスト | Origin/Referer セキュリティチェックで受け入れられるホスト名のリストです。wpaic_allowed_origins フィルターでカスタムホストを追加できます。 |
| 信頼プロキシ | wpaic_trusted_proxies フィルターで追加された信頼済みプロキシ IP/CIDR リストを表示します。 |
| 最近のボット検出(過去1時間) | ボット検出システムによってブロックされたリクエスト数を表示します。検出方法: ハニーポット(隠しフィールド)、タイミング(高速送信)、未来の時刻(時刻操作)。 |
| XFF 切り捨て | 切り捨てられた超大サイズの X-Forwarded-For ヘッダーの数です。高い数値は CDN/プロキシチェーンの問題または攻撃を示す場合があります。 |
| IP 検出 | 検出されたクライアント IP アドレスと使用された方法(REMOTE_ADDR、CF-Connecting-IP、または X-Forwarded-For)を表示します。 |
| API キー状態 | 各プロバイダーの API キーの設定状態(設定済み/未設定)を表示します。 |
| WP Consent API | WP Consent API プラグインの検出状態を表示します。 |
| レート制限 | 現在のレート制限設定を表示します。 |
| reCAPTCHA | reCAPTCHA の設定状態と閾値を表示します。 |
| SSL/TLS | サイトが HTTPS で保護されているかどうかを表示します。 |
| CSRF | WordPress nonce による CSRF 保護の状態を表示します。 |
データ管理
会話履歴の保存設定、設定のインポート/エクスポート、リセットを管理します。AI Chatbot > 設定 > データ管理 タブで設定します。
会話履歴保存
チャット会話を WordPress データベースに保存するかどうかを制御します。
設定キー: save_history
有効: すべての会話とメッセージがデータベースに保存されます。会話履歴の表示、アナリティクス、フィードバック機能、ページ読み込み間のセッション永続化が可能になります。
無効: 会話はメモリ上でのみ処理され、永続化されません。ユーザーは前の会話を再開できず、アナリティクスデータも収集されません。
デフォルト: 有効
データ保持期間
自動削除前に会話履歴を保持する日数です。WordPress cron ジョブがこの閾値より古い会話を定期的にクリーンアップします。
設定キー: retention_days
デフォルト: 90日 | 範囲: 0 ~ 3650
0 に設定すると無期限保持になります(会話は自動削除されません)。
アンインストール時データ削除
プラグインを WordPress からアンインストール(削除)した際に、プラグインデータを完全に削除するかどうかを制御します。
設定キー: delete_data_on_uninstall
有効: アンインストール時にすべてのプラグインデータ(会話履歴、ナレッジベースエントリ、リードデータ、設定、データベーステーブル)が完全に削除されます。取り消し不可。
無効: プラグイン設定は削除されますが、データベーステーブル(会話、ナレッジベース、リード)は再インストールに備えて保持されます。
デフォルト: 無効
設定エクスポート
現在のすべての設定を JSON ファイルとしてダウンロードします。バックアップや別のサイトへの移行に使用できます。
操作手順:
- ナレッジデータを含める チェックボックスで、エクスポートにナレッジベースデータを含めるかどうかを選択します(デフォルト: 含める)。
- 設定をエクスポート ボタンをクリックします。
- JSON ファイルが自動的にダウンロードされます(ファイル名例:
wpaic-settings-2026-03-14.json)。
エクスポートに含まれるデータ:
- すべてのプラグイン設定(AI プロバイダー、モデル、テーマ、セキュリティ設定など)
- ナレッジベースデータ(オプション)
- Pro 設定(Pro版がインストールされている場合)
設定インポート
エクスポートした JSON ファイルから設定を復元します。
操作手順:
- ファイルを選択 で JSON ファイルを選択します(
.jsonファイルのみ対応)。 - 設定をインポート ボタンをクリックします。
- インポートが成功すると、確認メッセージが表示されます。
- ページをリロードして新しい設定を確認します。
活用シナリオ:
- サイト移行: ステージング環境から本番環境へ設定を移行する場合
- バックアップ: 設定変更前にバックアップを取り、問題があれば復元する場合
- マルチサイト: 複数のサイトで同じ設定を使用する場合
- テンプレート: 基本設定をテンプレートとして保存し、新規サイトに適用する場合
設定リセット
すべての設定をデフォルト値にリセットします。
リセットされるもの:
- すべてのプラグイン設定(AI プロバイダー、モデル、テーマ、セキュリティ設定など)
- API キー(削除されます)
- カスタムプロンプト
リセットされないもの:
- ナレッジベースデータ
- 会話履歴
- リードデータ
- データベーステーブル
ナレッジベース
ナレッジベースを使用して、チャットボットが一般的な AI 知識よりも優先する特定の Q&A ペアを提供できます。AI Chatbot > ナレッジ で管理します。
概要
ナレッジベースは、手動で作成する質問と回答のペアのコレクションです。ユーザーの質問がナレッジベースエントリと一致(または近い一致)した場合、AI は一般的なトレーニングデータから生成するのではなく、その特定の回答を使用するよう指示されます。
これは、製品、サービス、ポリシーなど、ビジネスに固有のよくある質問に対して正確で一貫した回答を保証する最も効果的な方法です。
マッチングの仕組み:
- 完全一致: ユーザーの質問がナレッジベースの質問と完全に一致する場合、対応する回答が厳格な指示付きで使用されます(ナレッジベース完全一致コンテキストプロンプト参照)。
- 類似一致: 類似の質問が見つかった場合(キーワードまたはベクトル検索による)、FAQ データベースとして AI に参照用に提供されます(ナレッジベース Q&A コンテキストプロンプト参照)。
- 一致なし: 関連するエントリが見つからない場合、AI は一般的な知識とサイト学習コンテキストを使用して応答します。
検索方式:
- FULLTEXT 検索(デフォルト): MySQL の FULLTEXT インデックスによるキーワードマッチングです。英語に最適化されていますが、日本語での精度は限定的です。
- ベクトル検索(RAG 有効時): AI 埋め込みモデルによるセマンティック検索です。質問の意味を理解して類似コンテンツを検索します。日本語での精度が大幅に向上します。
Q&A の追加
管理画面の「ナレッジ」ページ上部の「テキストで追加」セクションから、質問と回答のペアを手動で追加できます。
操作手順:
- AI Chatbot > ナレッジ ページにアクセスします。
- タイトル(質問)フィールドにユーザーが問い合わせる可能性のある質問文を入力します。
- 内容(回答)フィールドに AI が返すべき正確な回答文を入力します。
- 必要に応じてカテゴリーや優先度を設定します。
- 追加 ボタンをクリックします。
フィールド詳細
| フィールド | 説明 | 必須 |
|---|---|---|
| タイトル(質問) | ユーザーが問い合わせる可能性のある質問文です。検索マッチングに使用されます。 | はい |
| 内容(回答) | AI が返すべき正確な回答文です。Markdown フォーマットを使用できます。 | はい |
| カテゴリー | 整理用のラベルです。例: 「料金」「技術サポート」「営業」。フィルタリングや管理に便利です。 | いいえ |
| 優先度 | 複数のエントリが一致した場合の優先順位です。数値が高いほど優先されます。デフォルト: 0 | いいえ |
| タイプ | ナレッジのタイプ(一般、FAQ、テンプレートなど)。PRO Free版では「一般」のみ使用可能です。 | いいえ |
ファイルインポート
ファイルからナレッジベースを一括インポートできます。「ファイルインポート」セクションでファイルをアップロードします。
対応ファイル形式:
| 形式 | 拡張子 | 説明 |
|---|---|---|
| CSV | .csv | カンマ区切りの構造化データ。一括インポートに最適です。 |
| テキスト | .txt | プレーンテキスト。1つのナレッジエントリとしてインポートされます。 |
| Markdown | .md | Markdown フォーマットのテキスト。 |
.pdf | PDF ドキュメント。テキストが抽出されます。 | |
| Word | .docx | Microsoft Word ドキュメント。テキストが抽出されます。 |
操作手順:
- ファイルインポート セクションの ファイルを選択 ボタンをクリックします。
- インポートするファイルを選択します。
- 必要に応じてカテゴリーを指定します。
- インポート ボタンをクリックします。
CSV フォーマット
CSV ファイルでの一括インポートは最も効率的な方法です。以下のフォーマットに従ってください。
基本フォーマット(2列):
質問,回答 "料金はいくらですか?","月額1000円からご利用いただけます。年間プランでは20%割引になります。" "営業時間は?","平日9時から18時まで営業しています。土日祝日は休業です。" "返品はできますか?","購入後14日以内であれば返品を承ります。未開封・未使用の商品に限ります。"
3列フォーマット(カテゴリー付き):
質問,回答,カテゴリー "送料はいくらですか?","全国一律550円です。5000円以上のご購入で送料無料になります。","配送" "配送にかかる日数は?","通常2-3営業日でお届けします。離島は5-7営業日かかる場合があります。","配送" "支払い方法は?","クレジットカード、銀行振込、代引きに対応しています。","支払い" "領収書は発行できますか?","はい、マイページから PDF 形式の領収書をダウンロードいただけます。","支払い"
- 文字コードは UTF-8 を使用してください(Excel で保存する場合は「CSV UTF-8」を選択)。
- カンマやダブルクォートを含むテキストは、ダブルクォートで囲んでください。
- 1行目はヘッダー行として認識されます。
- 空行は無視されます。
一覧管理
ナレッジベースページ下部にナレッジエントリの一覧テーブルが表示されます。
統計カード:
- 合計: 登録されているナレッジエントリの総数
- 有効: 公開(active)ステータスのエントリ数
- 無効: 下書き(draft)ステータスのエントリ数
- カテゴリー数: 使用されているカテゴリーの種類数
フィルター:
- すべて: すべてのエントリを表示
- 公開: 公開ステータスのエントリのみ表示
- 下書き: 下書きステータスのエントリのみ表示
テーブル列:
| 列 | 説明 |
|---|---|
| ID | データベース上の一意の識別番号 |
| タイトル | 質問文(クリックで編集) |
| カテゴリー | 設定されたカテゴリー名 |
| タイプ | ナレッジタイプ(一般、FAQ、テンプレートなど) |
| 優先度 | 優先度の数値 |
| 更新日 | 最終更新日時 |
| 操作 | 編集・削除ボタン |
Free版とPro版の違い
Free版ではナレッジベースエントリ数に人工的な上限はありません。必要なだけ Q&A エントリを登録できます。
Pro版では以下の高度な機能が追加されます:
- ドラフトステータス: 公開前に下書きとして保存
- バージョニング: 変更履歴の管理
- 自動優先度: 使用頻度に基づく自動優先度調整
- 有効期限: 期限付きのナレッジエントリ
- 関連リンク: エントリ間のリンク付け
- インテント分類: 質問の意図の自動分類
- AI FAQ 自動生成: ナレッジギャップからの AI による FAQ 自動生成
サイト学習(クローラー) PRO
サイト学習は WordPress コンテンツを自動的にクロールし、AI チャットボットのコンテキストとして利用可能にします。AI Chatbot > サイト学習 で設定します。
概要
クローラーは WordPress の投稿、ページ、カスタム投稿タイプを読み取り、コンテンツをチャンクに分割し、FULLTEXT インデックス付きの wp_aichat_index データベーステーブルに保存します。ユーザーが質問すると、プラグインはこのインデックスから関連コンテンツを検索し、AI にコンテキストとして提供します。
これにより、チャットボットはサイトのコンテンツ(ブログ記事、製品ページ、ドキュメントなど)に関する質問に、各トピックについて手動でナレッジベースエントリを作成することなく回答できるようになります。
Pro版で表示されるステータス情報:
| 項目 | 説明 |
|---|---|
| 学習ステータス | 有効/無効、インデックス済みページ数、最終クロール日時 |
| WooCommerce 検出 | WooCommerce がインストールされている場合、商品データの自動クロール機能が表示されます |
| 埋め込みステータス | 使用中の埋め込みプロバイダー、埋め込み済みチャンク数と進捗バー |
クローラー有効化 PRO
WordPress サイトのコンテンツを自動的にクロールし、AI の参考知識としてインデックスに登録します。
有効 デフォルト: 指定した投稿タイプのコンテンツを定期的にクロールし、チャンクに分割してインデックスに保存します。
無効: クロールを実行しません。ナレッジベースの手動登録のみで運用する場合に使用します。
投稿タイプ PRO
クロール対象の WordPress 投稿タイプを選択します。
デフォルト: すべて(全投稿タイプ)
特定の投稿タイプ(投稿、固定ページ、カスタム投稿タイプ、WooCommerce 商品など)を個別に選択することもできます。
クロール間隔 PRO
自動クロールの実行間隔です。
| 選択肢 | 説明 |
|---|---|
| 毎日 デフォルト | 1日1回クロールを実行。コンテンツの更新が頻繁なサイトに適しています |
| 毎週 | 週1回クロールを実行。コンテンツの更新が少ないサイトに適しています |
手動でクロールを実行することもできます。「今すぐクロール」ボタンをクリックしてください。また、投稿の保存時に差分クロール(変更されたコンテンツのみ再インデックス)が自動実行されます。
チャンクサイズ PRO
コンテンツを分割するチャンク(断片)1つあたりの文字数です。
デフォルト: 1000文字
| 値 | 特徴 | 推奨用途 |
|---|---|---|
| 500 ~ 800 | より精密な検索が可能。インデックスサイズが増加 | 短い FAQ 記事、製品説明 |
| 1000(デフォルト) | バランスの良い設定 | 一般的なブログ記事 |
| 1500 ~ 2000 | より広い文脈を保持。検索の精度がやや低下 | 長文のドキュメント |
最大結果数 PRO
ユーザーの質問に対して AI に渡すコンテキスト(参考情報)チャンクの最大数です。
デフォルト: 3
| 値 | 特徴 |
|---|---|
| 1 ~ 2 | API コストを節約しますが、関連情報が不足する場合があります |
| 3(デフォルト) | バランスの良い設定 |
| 5 ~ 10 | より多くの参考情報を AI に渡しますが、API コストが増加します |
除外設定 PRO
クロールから除外する投稿/ページの ID やカスタムフィールドを指定します。プライバシーポリシーや利用規約など、チャットの参考にしたくないコンテンツを除外する際に使用します。
会話履歴 PRO
チャット会話履歴を表示・管理します。AI Chatbot > 会話履歴 でアクセスします。
概要
会話履歴ページでは、すべてのチャットセッションの一覧を表示し、個別の会話の詳細を確認できます。会話データは、データ管理タブで履歴保存が有効になっている場合にデータベースに保存されます。
Pro版の機能
Pro版では以下の会話管理機能が利用可能です:
統計カード:
- 合計会話数、アクティブ、クローズ、今日の会話数、アーカイブ、ハンドオフ数
検索・フィルター:
- メッセージ内容の全文検索
- ステータスフィルター(すべて、アクティブ、クローズ、アーカイブ)
- 日付範囲でのフィルタリング
一括操作:
- 選択した会話の削除
- 全会話の削除
- 全セッションのリセット
エクスポート:
- CSV 形式でのエクスポート(日付フィルタ付き)
- JSON 形式でのエクスポート
会話テーブル:
- セッション ID、メッセージ数、リード情報、開始ページ、ステータス、ハンドオフ状態、開始日時、最終更新、操作ボタン
会話詳細ビュー:
- ユーザーと AI の間の完全な時系列のやり取り
- フィードバック評価(いいね/よくないね)の表示
- 会話タグ付け
- 要約の自動生成
- リアルタイムモニター
分析 PRO
チャットボットの利用状況を詳細に分析できるダッシュボードです。AI Chatbot > 分析 でアクセスします。
概要
分析ページでは、チャットボットの利用パターン、ユーザー満足度、コスト推計などを視覚的に確認できます。
Pro版の機能
Pro版の分析ダッシュボードでは以下の機能が利用可能です:
期間選択: 7日、30日、90日の期間でデータを表示
統計カード:
- 会話数、メッセージ数、平均メッセージ数/会話、満足度スコア
- 推定コスト、AI クオリティスコア、バウンス率
チャート・グラフ:
- 日別会話数(折れ線グラフ)
- 時間帯別分布
- 会話離脱分布
- 日別コスト推移
- モデル別コスト内訳
- 日別フィードバック推移
テーブル:
- よくある質問ランキング
- トップページ(チャット開始ページ)
- デバイス統計
- 国別統計
- ナレッジギャップ(回答できなかった質問)
- 低評価フィードバック一覧
レポート:
- 印刷用レポート
- PDF エクスポート(サーバーサイド生成)
- 月間メールレポート
リード PRO
チャットボットを通じて収集されたリード(見込み客情報)を管理します。AI Chatbot > リード でアクセスします。
概要
リードキャプチャー機能を使用すると、チャット中にユーザーの連絡先情報(名前、メールアドレス、電話番号、会社名など)を収集できます。
Pro版の機能
Pro版のリード管理では以下の機能が利用可能です:
- リードキャプチャーフォーム: カスタマイズ可能なフォーム(タイトル、説明、フィールド選択、必須化)
- 統計カード: 合計リード数、今日、今週、今月の取得数
- 検索・フィルター: 名前/メール/会社名での検索、日付範囲フィルター
- エクスポート: CSV / JSON 形式でのエクスポート
- リードテーブル: 名前、メール、電話、会社、タイプ、会話リンク、日付、操作ボタン
- 通知: 新規リード取得時のメール/Webhook/Slack 通知
- カスタムフィールド: ビジネスに応じたカスタムフォームフィールド
監査ログ PRO
管理者の操作履歴を追跡する監査ログを管理します。AI Chatbot > 監査ログ でアクセスします。
概要
監査ログは、プラグイン設定の変更、ナレッジベースの編集、データのエクスポートなど、管理者が行ったすべての操作を記録します。セキュリティ監査やトラブルシューティングに役立ちます。
Pro版の機能
Pro版の監査ログでは以下の機能が利用可能です:
- フィルター: アクションタイプ、日付範囲、キーワード検索
- エクスポート: CSV 形式でのエクスポート
- ログテーブル: 日付、アクション(深刻度による色分け)、ユーザー、対象、詳細
- 保持ポリシー: ログの自動削除期間設定
- ページネーション: 大量のログの効率的な閲覧
記録されるアクション例:
- 設定の変更
- API キーの追加/削除
- ナレッジベースエントリの作成/編集/削除
- 会話データのエクスポート
- クローラーの手動実行
- プラグイン設定のインポート/エクスポート/リセット
開発者リファレンス
プラグインは WordPress フィルターと REST API を提供し、開発者がプログラム的に動作をカスタマイズできます。
WordPress フィルター
以下のフィルターをテーマの functions.php やカスタムプラグインで使用して、チャットボットの動作をカスタマイズできます。
| フィルター | 説明 | パラメータ |
|---|---|---|
wpaic_system_prompt | AI プロバイダーに送信されるシステムプロンプトを変更します。動的な情報(現在の日時、ログインユーザー名など)を追加できます。 | $prompt (string) |
wpaic_context | サイト学習から取得した RAG コンテキストを変更します。コンテキストのフィルタリングや追加情報の付加に使用します。 | $context (string) |
wpaic_ai_response | ユーザーに表示される前の AI 応答をフィルタリングします。特定のキーワードの置換や、応答末尾へのリンク追加などに使用します。 | $response (string) |
wpaic_chatbot_enabled | ページごとにチャットボットの表示を制御します。false を返すと非表示になります。 | $enabled (bool) |
wpaic_allowed_origins | クロスサイト埋め込み用の許可オリジンホスト名を追加します。外部サイト埋め込み時に必要です。 | $origins (array) |
wpaic_gpt5_token_multiplier | GPT-5 推論トークン乗算係数を調整します。 | $multiplier (int, デフォルト: 4, 範囲: 1-8) |
wpaic_chat_response_data | クライアントに返される前のチャット応答データ全体をフィルタリングします。Pro版では商品カード表示などに使用されます。 | $data (array) |
wpaic_manage_cap | プラグイン管理に必要な WordPress 権限を変更します。 | $cap (string, デフォルト: manage_options) |
wpaic_trusted_proxies | X-Forwarded-For 解析用の信頼済みプロキシ IP/CIDR を追加します。 | $proxies (array) |
REST API エンドポイント
プラグインは wp-ai-chatbot/v1 名前空間で REST API を提供します。すべてのエンドポイントは WordPress の nonce 認証(X-WP-Nonce ヘッダー)で保護されています。
| メソッド | エンドポイント | 目的 | 認証 |
|---|---|---|---|
| GET | /session | チャットセッションの取得または作成 | Nonce |
| POST | /chat | メッセージを送信して AI 応答を受信 | Nonce |
| GET | /history/{session_id} | 会話履歴の取得 | Nonce |
| POST | /feedback | フィードバックの送信(いいね/よくないね) | Nonce |
| POST | /regenerate | AI 応答の再生成 | Nonce |
| GET | /summary/{session_id} | 会話要約の生成 | Nonce |
| GET | /message-limit | メッセージ制限状態の確認(現バージョンでは制限なし) | Nonce |
| POST | /lead | リードキャプチャーフォームの送信 | Nonce |
| GET | /lead-config | リードフォーム設定の取得 | Nonce |
| POST | /suggestions | 関連質問の提案を取得 | Nonce |
| POST | /autocomplete | 入力オートコンプリートの提案を取得 | Nonce |
Pro版で追加されるエンドポイント:
| メソッド | エンドポイント | 目的 |
|---|---|---|
| GET | /pro-config | Pro 設定の取得 |
| POST | /save-context | クロスセッションコンテキストの保存 |
| POST | /conversion | コンバージョンイベントの記録 |
| POST | /offline-message | オフラインメッセージの送信 |
| GET | /templates | 回答テンプレートの取得 |
MCP エンドポイント:
| メソッド | エンドポイント | 目的 | 認証 |
|---|---|---|---|
| POST | /mcp | MCP プロトコルのメインエンドポイント | Bearer トークン |
MCP エンドポイントは JSON-RPC 2.0 プロトコルを使用し、以下のツールを提供します:
search_knowledge- ナレッジベースの検索get_site_info- サイト情報の取得
データベーステーブル
プラグインは以下のテーブルを作成します(WordPress テーブルプレフィックス + aichat_ が付きます):
| テーブル | 目的 | 主要カラム |
|---|---|---|
wp_aichat_conversations | チャットセッションレコード | id, session_id, user_id, status, started_at, updated_at, page_url, user_agent, ip_address |
wp_aichat_messages | 個別メッセージ | id, conversation_id, role (user/assistant), content, feedback, cache_hash, cache_hit, created_at |
wp_aichat_index | RAG 用サイトコンテンツインデックス | id, post_id, chunk_index, content, embedding, created_at (FULLTEXT インデックス付き) |
wp_aichat_knowledge | ナレッジベース Q&A | id, title (質問), content (回答), category, priority, type, status, embedding, created_at, updated_at |
wp_aichat_leads | リードキャプチャーデータ | id, conversation_id, name, email, phone, company, custom_fields, type, created_at |
wp_aichat_user_context | クロスセッションコンテキスト(Pro) | id, user_identifier, context_data, created_at, updated_at |
wp_aichat_audit_log | 管理操作監査ログ(Pro) | id, action, user_id, target, details, severity, created_at |
テーブルは有効化時にプラグインアクティベーターによって作成されます。Pro プラグインは同じテーブル(共有データベース)を使用し、追加のテーブルは作成しません。user_context と audit_log テーブルは使用時に自動的に作成されます。
フック使用例
例1: 特定のページでチャットボットを非表示にする
add_filter('wpaic_chatbot_enabled', function($enabled) {
// お問い合わせフォームページ(ID: 42)では非表示
if (is_page(42)) {
return false;
}
// ログインユーザーには表示しない
if (is_user_logged_in()) {
return false;
}
return $enabled;
});
例2: システムプロンプトに動的な情報を追加する
add_filter('wpaic_system_prompt', function($prompt) {
$current_date = wp_date('Y年n月j日');
$prompt .= "\n\n現在の日付: {$current_date}";
// 営業時間に応じたメッセージ
$hour = (int) wp_date('G');
if ($hour >= 9 && $hour < 18) {
$prompt .= "\n現在は営業時間内です。";
} else {
$prompt .= "\n現在は営業時間外です。お急ぎの場合はメールでお問い合わせください。";
}
return $prompt;
});
例3: AI 応答にフッターリンクを追加する
add_filter('wpaic_ai_response', function($response) {
// すべての応答の末尾にサポートページへのリンクを追加
$footer = "\n\n---\n詳しくは[サポートページ](/support)をご覧ください。";
return $response . $footer;
});
例4: 管理画面へのアクセス権限を編集者に拡張する
add_filter('wpaic_manage_cap', function($cap) {
return 'edit_pages'; // 編集者以上がアクセス可能
});
例5: 外部サイト埋め込み用の許可オリジンを追加する
add_filter('wpaic_allowed_origins', function($origins) {
$origins[] = 'shop.example.com';
$origins[] = 'blog.example.jp';
return $origins;
});
