特定の IP アドレスから何度も不正アクセスを試みている形跡があって、ブロックしたい事があると思います。
もしくは、自宅以外から WordPress 管理画面にアクセスできないように、自宅のIPアドレスだけを許可したいケースもあるはずです。
今回は、WordPressでIPアドレス単位でアクセス制限を行う方法を解説していきます。
WordPressでIPアドレス制限を行う方法
WordPressでIPアドレス制限を行う方法はいくつかあります。
- レンタルサーバーの機能を使う
- プラグインを使用する
functions.php
を編集する
レンタルサーバーの機能を使う
最近のレンタルサーバーは IP アドレスブロック・アクセス拒否機能が用意されていることが多く、サーバー管理画面からのアクセスをブロックする IP アドレスを設定することができます。

レンタルサーバー管理画面から設定できるため、初心者の方にはこちらの方法が一番おすすめです。
プラグインを使用する
IPアドレス単位でアクセス拒否の設定ができるプラグインを使用する方法もおすすめです。
WordPressはIPアドレスを指定してブロックできるプラグインがたくさんリリースされていますが、中でも使いやすいのが『IP Location Block』というプラグインです。
IPアドレス単位でブロックできるのはもちろんのこと、国単位でブロックすることも可能です。
『IP Location Block』でIPアドレスをブロックする方法
『IP Location Block』はWordPress 管理画面からインストールできます。

"IP Location Block"
と検索したら見つかる『IP2Location Block』を有効化すると管理画面の設定
に[IP Location Block]
が追加され、国外からのアクセスを制御できるようになります。

『IP Location Block』の設定画面にアクセスしたら、上から7番目の項目[Blacklist of extra IP addresses prior to country code]
を確認してください。

コチラの項目にブロックしたい IP アドレスを入力することで、そのIPアドレスからのアクセスをブロックすることができます。
複数のIPアドレスをブロックする場合はカンマ区切り、もしくは1行ごとに分けて入力してください。
192.168.0.1
123.456.78.9
192.168.0.1,123.456.78.9
functions.phpを編集する
レンタルサーバーの機能やプラグインを使わずにIPアドレスをブロックしたい場合は、functions.php
を編集します。
add_action('init', function(){
//拒否IPリスト
$block_ip_list = [
'192.168.9.1',
'192.168.9.2',
'192.168.9.3',
];
//拒否リストにIPが含まれている場合は 403
if ( in_array($_SERVER['REMOTE_ADDR'], $block_ip_list) ){
wp_die("<h1>アクセスがブロックされました</h1>");
}
});
$block_ip_list
にブロックして IP アドレスを追加することで、そのIPアドレスからのアクセスをブロックできます。
レンタルサーバーのIPアドレス拒否機能を使うのがおすすめ
利用しているレンタルサーバーが IP アドレス拒否機能を提供していたなら、その機能を使うのがオススメです。
WordPress側で設定する方法でもIPアドレスのブロックは可能ですが、設定を間違えて自分をブロックしてしまったときにWordPressにアクセスできなくなってしまい、設定を元に戻すのが面倒な状況になります。
ですが、レンタルサーバーの IP アドレス拒否機能なら、間違えて自分のIPアドレスをブロックしてもレンタルサーバーの管理画面にはアクセスできるため、設定をもとに戻すのがカンタンです。
また、レンタルサーバーの IP アドレスブロック機能ではWordPressの処理を行わずにブロックするため、ブロック処理が高速なこともメリットです。