WordPressのセキュリティ対策というと「プラグインを入れれば安心」と考える方が多いですが、実際には .htaccess を併用することで防げる攻撃の種類が大きく増えます。
とくに、wp-login.php への不正ログイン攻撃や、ディレクトリ内を覗き見される“directory listing”、さらには uploads 内に仕込まれる不正PHP実行などは、プラグインだけでは完全に防ぎきれません。
検索ユーザーが抱えている悩みもほとんどがこの3つです。
- wp-login への不正アクセス攻撃(ブルートフォース)
- フォルダ構造が丸見えになるディレクトリ覗き見
- ファイルへの直接アクセスから侵入される改ざん
これらはサーバー側で動く .htaccess だからこそ、確実にブロックできる攻撃です。
設定自体もコピー&ペーストで使えるものが多く、効果は非常に高いのに、意外と見落とされがちなセキュリティ層でもあります。
この記事では、WordPressの安全性を高めるために必須の.htaccess設定を、初心者でも迷わず導入できるよう実践向けのコード付きで解説します。
今日から確実にサイトを守れる「強いWordPress」を一緒に作っていきましょう。
目次
.htaccess編集前の注意点と安全な作業方法
.htaccess は WordPress の動作を制御する非常に重要なファイルで、1つの記述ミスでも 500エラー(内部サーバーエラー) が発生し、サイト全体が真っ白になることがあります。
安全に編集するためには、事前準備と正しい作業手順が欠かせません。
- FTP やサーバーのファイルマネージャーを使い、.htaccess のバックアップを取る
- トラブル時はこのファイルを上書きするだけで元に戻せる
- 設定を1つずつ追加して動作確認
編集時は「メモ帳」「VSCode」などのテキストエディタを使用し、WordPress標準のRewriteルールを消さないように注意します。
また、キャッシュが原因で設定が反映されないこともあるため、変更後はブラウザキャッシュやサーバーキャッシュをクリアし、確実に動作を確認しましょう。
.htaccess は強力な反面、扱いを誤るとサイト停止の原因にもなります。書き換え前のバックアップと丁寧な手順さえ守れば、安全にセキュリティを強化できます。
WordPressの安全性を高める.htaccess設定15選
以下はすべてコピペで使えます。
1.ディレクトリ一覧の無効化
フォルダの中身が一覧表示されるのを防ぎます。
悪意ある人にフォルダの中身を見られると、脆弱なファイルを探される危険があります。
Options -Indexes2.wp-config.php を保護(超重要)
WordPressの「心臓部」である設定ファイルを外部から読まれないようにします。
<Files "wp-config.php">
Require all denied
</Files>3..htaccess 自体も守る
このファイルを編集されたら、セキュリティは無意味になります。
まずは“守衛自身”を守りましょう。
<FilesMatch "^\.ht">
Require all denied
</FilesMatch>4.wp-admin(管理画面)のIP制限
自分のIPアドレス以外から wp-admin にアクセスできなくなります。
「鍵のかかった裏口」を作るイメージ。
<Files "wp-login.php">
Require ip 123.123.123.123
</Files>5.wp-includes 内のPHP直接実行を止める
本来、wp-includes のPHPは直接触られる必要がありません。
ここに置かれた不正ファイルの実行をブロックできます。
RewriteEngine On
RewriteRule ^wp-includes/.*\.php$ - [F,L]6.XML-RPC を無効化(攻撃の的)
総当たり攻撃でよく狙われる場所です。使わない人は“閉じて安全に”。
<Files "xmlrpc.php">
Require all denied
</Files>7.コメントスパム対策
コメント機能を使ってないなら完全に遮断
<Files "wp-comments-post.php">
Require all denied
</Files>8.wp-login.phpのIP制限
ログイン画面を“身内専用入口”にできます。
<Files "wp-login.php">
Require ip 123.123.123.123
</Files>9.uploads フォルダのPHP実行禁止(改ざん対策)
アップロードフォルダに不正PHPを置かれても動かせません。
ハッキングでよく使われる手口を封じる重要設定。
/wp-content/uploads/.htaccess に設置する
<FilesMatch "\.php$">
Require all denied
</FilesMatch>10.異常に長いURL(攻撃用リクエスト)を遮断
攻撃者は「超長いURL」を使ってシステムを壊すことがあります。
この設定で自動ブロック。
Google広告や他PPC広告使っている場合は注意してください。
RewriteEngine On
RewriteCond %{REQUEST_URI} ^.{300,}
RewriteRule ^.* - [F,L]Google広告やPPC広告使っている場合は
RewriteEngine On
RewriteCond %{REQUEST_URI} .{1024,}
RewriteRule .* - [F,L]11.REST APIのユーザー情報漏洩防止
WordPressのユーザー一覧が丸見えになる仕様を防ぎます。
攻撃者が「ログインID」を調べるのを妨害できます。
RewriteCond %{REQUEST_URI} ^/wp-json/wp/v2/users
RewriteRule .* - [F,L]12.Basic認証で “鍵を二重化”
パスワードが二重になるため、突破されにくくなります。
管理画面に「もう1つ鍵を付ける」イメージです。
AuthType Basic
AuthName "Restricted Area"
AuthUserFile /home/user/.htpasswd
Require valid-user.htaccess 設定が反映されない場合のチェックポイント
.htaccess は強力なセキュリティ強化手段ですが、レンタルサーバーの仕様や書き方のミスによって「追加したのに反映されない」というトラブルがよく起こります。
以下のポイントを順番に確認することで、原因をスムーズに特定できます。
サーバーが .htaccess をサポートしていない(Apache以外)
WordPress が動いているサーバーが Apache または LiteSpeed でない場合、.htaccess がそもそも使えないケースがあります。
- Nginx の場合 → 設定は nginx.conf に書く必要あり
- Xserver / ConoHa / ロリポップ → Apache/LiteSpeedで対応OK
- 一部の格安サーバー → 制限されている可能性あり
AllowOverride が無効になっている
.htaccess を使えるかどうかは、サーバー側の AllowOverride 設定に依存します。
- サーバーの「.htaccess有効設定」を確認
- テスト用の .htaccess を置いて動作チェックを行う
設定を書く場所が間違っている
WordPress の .htaccess には、デフォルトで # BEGIN WordPress / # END WordPress の記述があります。
- この “WordPressの自動生成部分の中” に書くと上書きされる
- 新しい設定は END WordPress の“下”に追加する
コードの記述ミス・コピペエラー
1文字のミス、余計なスペース、全角記号などでも動きません。
- 「<File>」と「<Files>」の書き間違い
- 「Order allow,deny」のスペルミス
- 改行が欠けている
- WordPressテーマやエディタで全角に置換されている
<Directory>が使えないサーバー仕様
特に共用サーバー環境では <Directory>が禁止されている場合があります。
- <Directory>ではなく <Files>で代替
- またはサーバー独自の設定画面(エックスサーバーのアクセス制限など)を利用
既存のRewrite設定と競合している
RewriteEngine On、RewriteCond、RewriteRule、これらが複数あると衝突し、意図した動作にならないことがあります。
- 条件(RewriteCond)と順番を入れ替える
- 競合しやすい設定は WordPress デフォルトブロックの下にまとめて記述
キャッシュが残っている(反映されていないように見えるだけ)
特にセキュリティ設定は反映確認がしづらいです。
ブラウザのシークレットモードで確認
キャッシュ系プラグインの削除 or 無効化
サーバーパネルからWebキャッシュをクリア
.htaccessでWordPressは“攻撃されにくいサイト”になるまとめ
.htaccess は、WordPressを守るうえで最も効果的な「サーバーレベルの防御」です。
プラグインだけでは防ぎきれない管理画面への不正アクセス、uploads フォルダへの不正PHP設置、ユーザー情報の盗み見など、多くの攻撃を事前にブロックできます。
本記事で紹介した15の設定は、どれも初心者でもコピペで導入でき、導入効果の大きいものばかりです。
まずは優先度の高い
- 「ディレクトリ保護」
- 「wp-config.phpの防御」
- 「uploadsのPHP実行禁止」
から始めると安全性が大幅に向上します。
そして、.htaccessの設定は一度入れて終わりではなく、日々の運用習慣と組み合わせることで真価を発揮します。
小さな対策の積み重ねが、大きな被害を防ぐ最善策です。
WordPressのhtaccessが自分で設定できない場合は

ワードプレスのWordPressエラートラブル解決をしたいなら
クイックレスキューが解決します。
・WordPressが真っ白画面
・WordPressがログインできない
・ホームページのマルウェアや乗っ取り
・サイトの表示くずれ
・エラーが表示されている
これらでお悩みなら最短30分ですぐに解決します!
いまなら期間限定で
・万一改善されない場合は全額返金保証で安心!
・30日間動作保証で安心!
・調査料、キャンセル料 0円で安心!





