XserverでできるWordPressのセキュリティ設定|WAF・常時SSL・HSTSの手順
WordPressのセキュリティ対策というと、プラグインを思い浮かべる方が多いかもしれません。ですが、エックスサーバー(Xserver)を使っているなら、サーバーパネルの設定だけで強化できる守りがいくつもあります。
この記事では、エックスサーバーで設定できる「WAF」「常時SSL化」「HSTS」「WordPressセキュリティ設定」の4つについて、何を守るものなのか、どこで設定するのかを順番に紹介します。このサイトでも、実際にこの手順で設定を見直しました。
WordPressのセキュリティ全体の考え方は、WordPressのセキュリティ対策 最初に見直す基本と優先順位でまとめています。
※2026年11月時点の情報です。画面の名前はエックスサーバーの新しいサーバーパネルとマニュアルの表記に合わせています。
先にポイント
エックスサーバーで設定できる4つの守り
それぞれの役割と、設定する場所をまとめました。
| 設定 | 何を守るか | 設定する場所 |
|---|---|---|
| 常時SSL化 | http://のアクセスをhttps://へ転送し、暗号化された通信にそろえる | ドメイン設定、または.htaccess編集 |
| HSTS | 一度https://で訪れたブラウザに、次からhttps://だけで接続させる | .htaccess編集 |
| WAF | Webアプリケーションの弱点を狙った攻撃のアクセスを止める | WAF設定 |
| WordPressセキュリティ設定 | 管理画面への海外からのアクセスや、ログインの総当たりを防ぐ | WordPressセキュリティ設定 |
どれもサーバーパネルから設定でき、プラグインを追加する必要はありません。
はじめる前に:バックアップと控えを取る
設定の中には、サイトの表示に影響するものもあります。作業の前に、次の2つを用意しておきましょう。
- サイト全体のバックアップ:プラグインなどで、変更前の状態を保存しておきます。手順はWordPressの変更前に必ず取りたいバックアップで紹介しています。
- .htaccessの控え:.htaccess編集の画面で、今の内容をすべてコピーし、メモ帳などに貼り付けて保存しておきます。
エックスサーバーのマニュアルでも、.htaccessにはサーバーパネルの機能やWordPressが自動で書き込んだ記述があるため、分からない記述は消さないこと、編集後はサイトが正常に表示されるか必ず確認することが案内されています。
1. 常時SSL化:http://をhttps://へ転送する
無料独自SSLを設定していても、エックスサーバーではhttp://のURLが自動でhttps://へ転送されるわけではありません。転送の設定は、次のどちらかで行います。
方法A:ドメイン設定で「HTTPSに転送する」をオンにする
- サーバーパネルの「ドメイン設定」を開きます。
- 対象のドメインの詳細を開き、「HTTPS転送設定」の「HTTPSに転送する」にチェックを入れます。
- 「設定する」を押します。
コードを書かずに設定できるので、こちらがいちばん手軽です。対象のドメインに、SSL証明書が設定されている必要があります。
方法B:.htaccessに転送のコードを書く
- サーバーパネルの「.htaccess編集」を開きます。
- 対象のドメインの行の右にある、ペンのアイコン(編集)を押します。
- 今の記述は消さずに、先頭に次のコードを追加して、「設定する」を押します。
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]マニュアルでは、設定が反映されない場合があるため、先頭への追記がすすめられています。設定したら、http://から始まるURLにアクセスして、https://へ切り替わるかを確認しましょう。
WordPressのアドレスもhttps://にする
WordPressの管理画面の「設定」→「一般」で、「WordPress アドレス (URL)」と「サイトアドレス (URL)」がhttps://になっているかも確認します。記事の中の画像がhttp://のままだと「保護されていない通信」と表示されることがあり、CSSやJavaScriptがhttp://のままだと読み込まれずに表示が崩れることがあります。あわせて見直しておきましょう。
2. HSTS:次回からhttps://だけで接続させる
HSTS(HTTP Strict Transport Security)は、サイトから「このサイトにはhttps://だけで接続してください」とブラウザに伝える仕組みです。一度受け取ったブラウザは、決められた期間、http://で開こうとしても自動でhttps://に切り替えて接続します。
常時SSL化の転送は、http://で届いたアクセスをサーバー側でhttps://へ送り直すものです。HSTSは、その最初のhttp://のアクセス自体をブラウザの側で起こさないようにする、もう一段の守りです。
設定のしかた
「.htaccess編集」で、先頭に次の4行を追加して保存します。
# HSTS
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=31536000"
</IfModule>max-ageは、ブラウザがhttps://だけで接続することを覚えておく期間で、秒で指定します。31536000秒は1年です。
# BEGIN WordPressから# END WordPressまでの間は、WordPressが自動で書き換えるため、ここに書いた内容は消えてしまうことがあります。HSTSのコードは、この範囲の外(先頭)に書きましょう。includeSubDomainsとpreloadは慎重に
HSTSには、サブドメインにも同じ規則を当てるincludeSubDomainsや、ブラウザに最初から組み込んでもらうためのpreloadという指定もあります(preloadは、別途登録の申請が必要で、登録後は外すのにも時間がかかります)。ただし、サブドメインでhttps://に対応していないサイトがあると、そのサイトに接続できなくなります。サブドメインを使っていない個人ブログなら、まずはmax-ageだけで十分です。
なお、ブラウザはhttp://で受け取ったHSTSの指示を無視します。HSTSが効くのは、一度https://で訪れたあとからです。常時SSL化の転送とHSTSは、セットで設定しておきましょう。
また、HSTSが有効な間は、SSL証明書の期限切れなどでエラーが出たときに、ブラウザの警告を無視して開くことができません。SSL証明書が自動で更新されていることを確認してから設定しましょう。不安な場合は、最初はmax-age=300(5分)などの短い値で試し、問題がなければ1年に延ばす方法もあります。
設定できたか確認する
Chromeでサイトを開き、デベロッパーツール(Windowsは「F12」、Macは「command + option + I」)の「ネットワーク」タブを開いてから、ページを再読み込みします。一番上に表示されるページの行を選び、「ヘッダー」の「レスポンス ヘッダー」にstrict-transport-security: max-age=31536000が表示されていれば、設定できています。
3. WAF:攻撃に似たアクセスを止める
WAF(Webアプリケーションファイアウォール)は、Webアプリケーションの弱点を狙った攻撃からサイトを守る機能です。エックスサーバーでは、次の6つの項目を、ドメインごとにオン・オフできます。
| 項目 | 検知するもの |
|---|---|
| XSS対策 | javascriptなど、スクリプトのタグを含むアクセス |
| SQL対策 | SQLの構文に当てはまる文字列を含むアクセス |
| ファイル対策 | .htaccessや.htpasswdなど、サーバーの設定ファイルへのアクセス |
| メール対策 | to、cc、bccなど、メールのヘッダーに関する文字列 |
| コマンド対策 | kill、ping、lsなど、コマンドの文字列 |
| PHP対策 | 脆弱性の原因になりやすい、PHPの関数を含むアクセス |
検知されたアクセスは拒否され、エラーページが表示されます。
設定のしかた
- サーバーパネルの「セキュリティ」から「WAF設定」を開きます。
- 対象のドメインの欄で、オンにしたい項目のスイッチを「ON」にします。
- 画面では、項目の横に「反映待ち」と表示されました。反映されると、この表示が消えます。
マニュアルでは、反映まで最大30分程度かかる場合があるとされています。このサイトで設定したときは、それより長くかかったので、表示が消えるまで気長に待ちましょう。
誤検知に備えて、2回に分けてオンにする
WAFは、攻撃に「似た」アクセスも止めます。そのため、記事の本文にHTMLのタグなどを含めて保存したときなどに、普通の操作が止められてしまう可能性があります(誤検知)。とくにXSS対策は、スクリプトのタグに反応するので注意が必要です。
このサイトでは、次の順番でオンにしました。
オンにしたあとで、記事の保存や管理画面の操作で急に「403」やアクセス拒否のエラーが出るようになったら、誤検知の可能性があります。最後にオンにした項目からオフに戻して、どの項目が原因かを確かめましょう。
4. WordPressセキュリティ設定:管理画面とログインを守る
サーバーパネルの「WordPressセキュリティ設定」では、WordPressの管理画面やログインに関する制限を、ドメインごとに設定できます。マニュアルに書かれている初期の状態は、次のとおりです。
| 設定 | 内容 | 初期状態 |
|---|---|---|
| 国外アクセス制限 | 管理画面(ダッシュボード)、XML-RPC API、REST API、wlwmanifest.xmlへの、海外のIPアドレスなどからのアクセスを制限 | ON |
| ログイン試行回数制限 | ログインに何度も失敗したアクセスを制限(24時間で解除) | ON |
| 大量コメント・トラックバック制限 | 短時間の大量のコメントなどを制限(6時間で解除) | ON |
| 国外からのコメント・トラックバック制限 | 海外からのコメントなどを制限 | OFF |
| IPアドレス制限 | 管理画面とログイン画面に、指定したIPアドレスからだけ入れるようにする | OFF |
初期状態のままでも、ある程度の守りは入っています。まずはオフになっている項目を確認し、自分の使い方に合わせて調整しましょう。コメント欄を海外向けに使っていないなら、「国外からのコメント・トラックバック制限」はオンにしておくと安心です。
海外から編集するときは注意
国外アクセス制限がオンのままだと、海外旅行中などに、管理画面に入れなかったり、記事の編集や保存ができなかったりすることがあります。マニュアルでは、海外からWordPressを使う場合は、ダッシュボードとREST APIの制限をオフにするよう案内されています。ふだんはオンのまま使い、海外から編集する間だけオフにするのが安心です。CloudflareなどのCDNや、海外のクラウドサービスを経由する場合も、制限にかかることがあります。
設定後のチェックリスト
設定をひとつ変えるたびに、次の項目を試しておくと、問題に早く気づけます。
- トップページと記事ページが、いつもどおり表示される
- http://から始まるURLが、https://に切り替わる
- 管理画面にログインできる
- 記事を開いて「更新」を押すと、「投稿を更新しました」と表示される
- サイト内検索やお問い合わせフォームが使える
どこかで表示が崩れたり、エラーが出たりしたら、最後に変えた設定を元に戻します。.htaccessの場合は、控えておいた内容に貼り直せば元どおりになります。
よくある質問
どの順番で設定すればいいですか?
バックアップと.htaccessの控えを取ったら、常時SSL化、HSTS、WordPressセキュリティ設定の確認、WAFの順番がおすすめです。表示に関わる設定を先に済ませ、誤検知が出やすいWAFは最後に、項目を分けてオンにします。
セキュリティ系のプラグインは不要になりますか?
不要にはなりません。エックスサーバーのマニュアルでも、WAFは不正アクセスを100%防ぐことを保証するものではなく、プログラムを最新の状態に保つことが大切だと案内されています。WordPress本体やプラグインの更新、ログインの2段階認証などと組み合わせて使いましょう。
HSTSを設定したあとで、やめることはできますか?
.htaccessのHSTSの行をmax-age=0に変えると、次にhttps://で訪れたブラウザからHSTSが解除されます。HSTSの行を消しただけでは、ブラウザに残った設定はmax-ageの期間が終わるまで続きます。ただし、変更後にサイトを訪れていないブラウザには前の設定が残るため、すべてのブラウザですぐに解除されるわけではありません。
まとめ
エックスサーバーなら、常時SSL化、HSTS、WAF、WordPressセキュリティ設定の4つを、サーバーパネルから設定できます。まずはhttps://への転送とHSTSでHTTPSにそろえ、WAFは誤検知に備えて段階的にオンにするのがおすすめです。
サーバーの設定とあわせて、WordPress側の守りも見直しておきましょう。
※出典:エックスサーバー マニュアル「WAF設定」「Webサイトの常時SSL化」「.htaccess編集」「WordPressセキュリティ設定」、MDN Web Docs「Strict-Transport-Security」。内容は変更される場合があります。




