WordPressインテグレーション

SilentShieldでWordPressフォームを保護しましょう。Contact Form 7、WPForms、Gravity Forms、およびカスタムフォームに対応しています。

1. スクリプトを追加する

テーマのfunctions.phpに以下のコードを追加するか、「Insert Headers and Footers」などのプラグインを使用してください:

functions.phpphp
// functions.php
function silentshield_enqueue() {
    wp_enqueue_script(
        'silentshield',
        'https://api.silentshield.io/client.js?k=YOUR_API_KEY',
        array(),
        null,
        true
    );
}
add_action('wp_enqueue_scripts', 'silentshield_enqueue');

2. サーバーサイド検証

フォームハンドラーにNonce検証を追加します。カスタムフォームの場合は、処理関数に以下を追加してください:

PHPphp
function verify_silentshield_nonce() {
    $nonce = sanitize_text_field($_POST['behavior_nonce'] ?? '');
    if (empty($nonce)) {
        wp_die('Missing verification', 'Error', array('response' => 422));
    }

    $response = wp_remote_post('https://api.silentshield.io/api/v1/captcha/verify-nonce', array(
        'headers' => array(
            'Content-Type' => 'application/json',
            'X-Api-Key' => SILENTSHIELD_API_KEY,
        ),
        'body' => wp_json_encode(array('nonce' => $nonce)),
        'timeout' => 5,
    ));

    if (is_wp_error($response)) {
        return; // fail open
    }

    $body = json_decode(wp_remote_retrieve_body($response), true);
    if (($body['verdict'] ?? '') === 'bot') {
        wp_die('Bot detected', 'Forbidden', array('response' => 403));
    }
}

Contact Form 7

ウィジェットはContact Form 7のフォームを自動的に検出します。追加の設定は不要です。スクリプトを追加するだけで、ページ上のすべてのCF7フォームが保護されます。

WPForms / Gravity Forms

SilentShieldはWPForms、Gravity Forms、およびその他の人気フォームプラグインのフォームを自動的に検出します。ウィジェットはページ上で見つけたすべてのフォームにNonceを挿入します。

AIエージェントの観測

フォーム保護に加えて、WordPressはどのAIクローラー(GPTBot、ClaudeBot、PerplexityBotなど)がサイトを読んでいるかも記録できます — 現在は小さなmust-useプラグインファイルで、今後のプラグインアップデートで組み込みになります。

詳しくは: AIエージェントの観測 →

SilentShield を JavaScript 最適化の対象外にする

キャッシュや高速化のプラグイン(WP Rocket、Perfmatters、LiteSpeed、Autoptimize など)は、JavaScript を訪問者の最初の操作まで遅延させたり、ファイルを 1 つにまとめたりできます。どちらも SilentShield を壊します。ウィジェットはクリックされるまで動かず、ページ読み込みからの行動シグナル(マウスの動き、入力のリズム、タイミング)が失われ、保護は必要な情報のごく一部で動くことになります。フォームスキャンはまったく実行されません。次のパターンを最適化プラグインの除外リストに追加してください。「JavaScript の遅延」と「JavaScript の結合」の両方に必要です:

除外パターンtext
client.js
behavior-captcha
silentshield

確認方法: フォームのあるページを開き、何もクリックせずにブラウザのコンソールで performance.getEntriesByType("resource").map(r=>r.name).filter(n=>n.includes("client.js")).join() を実行します。結果が空なら SilentShield はまだ読み込まれていません — 除外設定が足りません。

APIキーの保存

セキュリティのため、APIキーをwp-config.phpに追加してください:

wp-config.phpphp
// wp-config.php
define('SILENTSHIELD_API_KEY', 'your-api-key-here');