WordPressログインページ、管理画面にIP制限を設定 ( .htaccess )

広告WordPress・PHP を学べる本

Amazonのアソシエイトとして、WordPress functions.phpは適格販売により収入を得ています。

概要説明

固定IPが使える環境であれば管理画面はIPでの制限がおすすめです。固定IP環境ではない方はインターリンクのマイIPサービスが簡単でお手頃価格なのでこの機会に試してみましょう。特定のファイルのみアクセス制限の対象外とする記述も掲載しています。

.htaccess
# いちばん上の .htaccess:ログインの画面を、許可した IP からだけにする(Apache 2.4)
<Files wp-login.php>
    Require ip xxx.xxx.xxx.xxx
</Files>
wp-admin/.htaccess
# /wp-admin/.htaccess:管理画面を、許可した IP からだけにする
# admin-ajax.php・admin-post.php は表のページの機能も使うので外す
<FilesMatch "^(?!(admin-ajax|admin-post)\.php$)">
    Require ip xxx.xxx.xxx.xxx
</FilesMatch>

以前の 1 つ目のコードだけを入れると、表のページから呼ぶ admin-ajax.php(お問い合わせフォームなど)まで止まってしまいました。また、wp-login.php はいちばん上のフォルダにあるので、/wp-admin/.htaccess だけではログインの画面は守れません。ログインの画面と管理画面を分けて書き、Apache 2.4 の Require ip の書き方に直しました(2026/10/18・作業環境で、許可していない IP は 403・admin-ajax.php と admin-post.php は 200 を確かめています)。

.htaccessファイルをサーバーにアップロード

/wp-admin/.htaccess

以上で設定したIP以外からはアクセスができないようになります。

IP制限の作業は管理画面からは行わないようにしてください。もとに戻せなくなる可能性があります。

インターリンクのマイIPサービスがお手軽で便利です。 アプリを起動し固定IPを使用したいときだけONにすることで有効にでき、Windows/Macに対応しています。

固定IPでないとお願いできないといった場合もお仕事も多い業界です。固定IPではない方はいざという時のためにお試ししておくのも良いかもしれません

特定のファイルだけはIP制限の対象から除外する場合

上の /wp-admin/.htaccess の書き方に、admin-ajax.php・admin-post.php の除外も入れてあります(2026/10/18 にまとめました)。除外しないと、お問い合わせフォームなど表のページの機能が止まります。

上記のようにファイル名を指定して除外させることも可能です

関連機能

  1. WordPress のダッシュボードに独自のウィジェットを足す:wp_add_dashboard_widget(日時・サポートの連絡先)

  2. WordPressのRSSフィード機能を無効にする ( feed機能停止 )

  3. WordPressテーマディレクトリ名を変更して隠蔽する

サイドバー

よく使うカスタマイズ

最近の記事

Profile

PAGE TOP