【WordPress】WP HTTP BLOCK EXTERNALからホワイトリストを設定する時の注意点

wp-config.phpには外部からのリクエストを遮断する設定を追加します。

// 外部リクエストを遮断する
define('WP_HTTP_BLOCK_EXTERNAL', true);

そのあと続けてwp-config.phpから、外部リクエストに対するホワイトリストを設定します。

// ホワイトリスト
define('WP_ACCESSIBLE_HOSTS', <ここにリクエストを許可するドメインを指定>);
目次

サンプル設定

外部の有料テーマや、外部サービスやプラグインとの連携などをしていなければこれで想定通りに挙動するかと思います。
なお、自身のドメイン部分はワイルドカード無しでも特に問題ありません。

// ホワイトリスト
define('WP_ACCESSIBLE_HOSTS', '*.example.com,*.wordpress.org');

reCAPTCHAを導入している場合

お問い合わせフォームにreCAPTCHAを導入する場合、ホワイトリスト設定を見直さないとreCAPTCHAが機能しません。
デベロッパーツールから拒否されている通信を確認したところ、以下の設定で直りました。

// ホワイトリスト
define('WP_ACCESSIBLE_HOSTS', '*.example.com,*.wordpress.org,www.google.com,google.com');

埋め込み機能を使用する場合

WordPressの埋め込みブロックを使おうとしましたが、外部URLは個別にドメインを追加していかなければ表示されませんでした。

チェックポイント

WordPressのドメインはワイルドカードから許可する方が動作が安定する

自身のドメインだけを設定すると、WordPress系の更新通知が一切入らなくなりました。
また、WordPress系のサブドメインをひとつずつ設定しても一部のプラグイン更新通知が入らなくなったりとのよう動作が安定しないため、WordPressのドメインはワイルドカードから設定するのがおすすめです。

用途を選ぶ機能なので無理には使わない

実際に使ってみたところ、ブログ運用には向かない機能です。
無理に使う必要はありませんが、WordPressの活用方法によっては良いセキュリティ対策になるかもしれません。

この記事を書いた人

ひがしのアバター ひがし フリーランス

制作会社で経験を得たあと、主にWEB制作の案件を請け負いながら活動する奈良県在住のフリーランス。
別の場所ではエストというHNで創作活動しながら、楽しく作ることを大事に技術習得やスキルアップをしています(・ω・*)

※「ひがし」はビジネス用のハンドルネームになります。本名はお客様や必要に応じてお伝えします。

目次