WordPress ウェブサイトをオンラインの脅威から保護することは非常に重要です。WPBeginner でセキュリティを向上させる方法の 1 つは、HTTP セキュリティヘッダーを使用することです。これらは追加のセキュリティレイヤーを提供し、一般的な攻撃や脆弱性に対するシールドとして機能します。
これらのヘッダーはバックグラウンドで機能し、ウェブブラウザやサーバーにウェブサイトのデータをどのように処理するかを指示し、全体的なセキュリティを強化します。これらのヘッダーを追加することは、ウェブサイトの防御を強化し、悪意のあるアクティビティから保護するためのシンプルかつ効果的な方法です。
この初心者向けガイドでは、WordPressにHTTPセキュリティヘッダーを追加する方法を説明します。プラグインの使用や設定ファイルを直接編集する方法など、さまざまな方法をカバーします。

HTTPセキュリティヘッダーとは何ですか?
HTTP セキュリティヘッダーは、ウェブサイトのサーバーが一般的なセキュリティ脅威をウェブサイトに影響を与える前に防止できるセキュリティ対策です。
ユーザーがあなたのWordPressウェブサイトにアクセスすると、ウェブサーバーはブラウザにHTTPヘッダー応答を送信します。この応答は、エラーコード、キャッシュ制御、その他のステータスに関する情報をブラウザに伝えます。
通常のヘッダー応答はHTTP 200というステータスを発行します。これにより、ウェブサイトがユーザーのブラウザに読み込まれます。しかし、ウェブサイトに問題がある場合、ウェブサーバーは別のHTTPヘッダーを送信する可能性があります。
例えば、500内部サーバーエラーや見つかりません404エラーコードを送信する場合があります。
HTTPセキュリティヘッダーは、これらのヘッダーのサブセットです。これらは、クリックジャッキング、クロスサイトスクリプティング、ブルートフォース攻撃などの一般的な脅威からウェブサイトを保護するために使用されます。
いくつかのHTTPセキュリティヘッダーと、それらがWordPressサイトをどのように保護するかを簡単に見てみましょう。
- HTTP Strict Transport Security (HSTS) は、あなたのウェブサイトがHTTPSを使用していること、そしてHTTPのような安全でないプロトコルを使用して読み込まれるべきではないことをウェブブラウザに伝えます。
- X-XSS Protectionは、クロスサイトスクリプティングの読み込みをブロックできるようにします。
- X-Frame-Optionsは、クロスドメインのiframeやクリックジャッキングを防ぎます。
- X-Content-Type-Options X-Content-Type-Optionsは、コンテンツのMIMEタイプスニッフィングをブロックします。
HTTPセキュリティヘッダーは、WordPressホスティングアカウントであるウェブサーバーレベルで設定すると最も効果的に機能します。これにより、通常のHTTPリクエストの早い段階でトリガーされ、最大のメリットが得られます。
DNSレベルのウェブサイトアプリケーションファイアウォール(例:SucuriやCloudflare)を使用している場合、さらに効果的です。
それでは、WordPress に HTTP セキュリティヘッダーを簡単に追加する方法を見ていきましょう。ご自身に合った方法にすぐにジャンプできるように、さまざまな方法へのクイックリンクを以下に示します。
1. Sucuriを使用してWordPressにHTTPセキュリティヘッダーを追加する
Sucuri は、市場にあるWordPressセキュリティプラグインの中でも最高のものの一つです。彼らのウェブサイトファイアウォールサービスを使用している場合、コードを書かずにHTTPセキュリティヘッダーを設定できます。
まず、Sucuriアカウントにサインアップする必要があります。これは有料サービスで、サーバーレベルのウェブサイトファイアウォール、セキュリティプラグイン、CDN、およびマルウェア除去保証が付いています。
サインアップ中に、簡単な質問に答える必要があります。そして、Sucuriのドキュメントが、ウェブサイトアプリケーションファイアウォールをウェブサイトに設定するのに役立ちます。
サインアップ後、無料のSucuriプラグインをインストールして有効化する必要があります。詳細については、WordPressプラグインのインストール方法に関するステップバイステップガイドを参照してください。
有効化したら、Sucuri Security » Firewall (WAF)に移動し、ファイアウォールAPIキーを入力する必要があります。この情報は、Sucuriウェブサイトのアカウントの下で見つけることができます。

その後、緑色の「保存」ボタンをクリックして変更を保存する必要があります。
次に、Sucuriアカウントダッシュボードに切り替える必要があります。ここから、上部にある「設定」メニューをクリックし、「セキュリティ」タブに切り替えます。

ここから、3つのルールのセットを選択できます。デフォルトの保護機能は、ほとんどのウェブサイトでうまく機能します。
プロフェッショナルまたはビジネスプランをお持ちの場合、HSTSおよびHSTSフル用のオプションもあります。各ルールのセットに適用されるHTTPセキュリティヘッダーを確認できます。
変更を適用するには、「追加ヘッダーの変更を保存」ボタンをクリックする必要があります。
Sucuriは、選択したHTTPセキュリティヘッダーをWordPressに追加します。DNSレベルのWAFであるため、ウェブサイトのトラフィックは、ハッカーがウェブサイトに到達する前に保護されます。
2. Cloudflareを使用してWordPressでHTTPセキュリティヘッダーを追加する
Cloudflareは、基本的な無料ウェブサイトファイアウォールとCDNサービスを提供しています。無料プランでは高度なセキュリティ機能が不足しているため、より高価なProプランにアップグレードする必要があります。
WordPressでCloudflare無料CDNを設定する方法のチュートリアルに従うことで、ウェブサイトにCloudflareを追加する方法を学ぶことができます。
Cloudflareがウェブサイトでアクティブになったら、CloudflareアカウントダッシュボードのSSL/TLSページに移動し、「Edge Certificates」タブに切り替える必要があります。

次に、「HTTP Strict Transport Security (HSTS)」セクションまでスクロールダウンします。
見つけたら、「HSTSを有効にする」ボタンをクリックする必要があります。

これにより、この機能を使用する前にウェブサイトでHTTPSを有効にする必要があるという指示が表示されるポップアップが表示されます。
WordPressブログにすでに安全なHTTPS接続がある場合は、「次へ」ボタンをクリックして続行できます。HTTPセキュリティヘッダーを追加するオプションが表示されます。

ここから、HSTSを有効にし、サブドメインにHSTSを適用し(サブドメインがHTTPSを使用している場合)、HSTSをプリロードし、no-sniffヘッダーを有効にすることができます。
この方法では、HTTPセキュリティヘッダーを使用した基本的な保護が提供されます。しかし、X-Frame-Optionsを追加することはできず、Cloudflareにはそのためのユーザーインターフェースがありません。
Cloudflare Workers 機能を使用してスクリプトを作成することで、それでも実行できます。ただし、HTTPS セキュリティヘッダーのスクリプトを作成すると、初心者にとって予期しない問題が発生する可能性があるため、お勧めしません。
3. .htaccessを使用してWordPressにHTTPセキュリティヘッダーを追加する
この方法では、サーバーレベルでWordPressのHTTPセキュリティヘッダーを設定できます。
ウェブサイトの.htaccessファイルを編集する必要があります。このサーバー設定ファイルは、最も一般的に使用されているApacheウェブサーバーソフトウェアによって使用されます。
注意: ウェブサイトのファイルを変更する前に、バックアップを作成することをお勧めします。
次に、FTPクライアントまたはウェブホスティングコントロールパネルのファイルマネージャーを使用して、ウェブサイトに接続します。ウェブサイトのルートフォルダで.htaccessファイルを見つけて編集する必要があります。

これにより、ファイルがプレーンテキストエディタで開きます。ファイルの末尾に、WordPressウェブサイトにHTTPSセキュリティヘッダーを追加するコードを追加できます。
最も一般的に使用される HTTP セキュリティヘッダーを最適な設定で設定する、以下のサンプルコードを開始点として使用できます。
<ifModule mod_headers.c>
Header set Strict-Transport-Security "max-age=31536000" env=HTTPS
Header set X-XSS-Protection "1; mode=block"
Header set X-Content-Type-Options nosniff
Header set X-Frame-Options DENY
Header set Referrer-Policy: no-referrer-when-downgrade
</ifModule>
変更を保存し、ウェブサイトにアクセスしてすべてが期待どおりに機能していることを確認するのを忘れないでください。
注意: ウェブサイトのコードを編集する際は注意してください。htaccessファイル内の不正なヘッダーや競合は、500内部サーバーエラーを引き起こす可能性があります。
4. AIOSEOを使用してWordPressにHTTPセキュリティヘッダーを追加する
All in One SEO (AIOSEO) は、WordPress向けの最高のSEOツールであり、300万以上のビジネスから信頼されています。プレミアムプラグインを使用すると、ウェブサイトにHTTPセキュリティヘッダーを簡単に追加できます。
まず、AIOSEOプラグインをウェブサイトにインストールして有効化する必要があります。設定方法については、WordPressでAll in One SEOを正しく設定する方法に関するステップバイステップガイドで詳しく学ぶことができます。
次に、All in One SEO » Redirectsページに移動して、HTTPセキュリティヘッダーを追加する必要があります。まず、「リダイレクトを有効にする」ボタンをクリックして機能を有効にする必要があります。

リダイレクトが有効になったら、「フルサイトリダイレクト」タブをクリックし、「正規化設定」セクションまでスクロールダウンする必要があります。
「正規化設定」トグルを有効にし、「セキュリティプリセットを追加」ボタンをクリックするだけです。

テーブルにHTTPセキュリティヘッダーのプリセットリストが表示されます。
これらのヘッダーはウェブサイトのセキュリティに最適化されています。必要に応じてレビューおよび変更できます。

セキュリティヘッダーを保存するには、画面の上部または下部にある「変更を保存」ボタンをクリックしてください。
これで、ウェブサイトにアクセスして、すべてが正常に機能していることを確認できます。
ウェブサイトのHTTPセキュリティヘッダーを確認する方法
ウェブサイトにHTTPセキュリティヘッダーを追加したので、無料のSecurity Headersツールを使用して設定をテストできます。
ウェブサイトのURLを入力し、「スキャン」ボタンをクリックするだけです。

次に、ウェブサイトのHTTPセキュリティヘッダーをチェックし、レポートを表示します。このツールは、いわゆるグレードラベルも生成しますが、ほとんどのウェブサイトはユーザーエクスペリエンスに影響を与えることなくBまたはCのスコアを取得するため、これは無視できます。
ウェブサイトで送信されているHTTPセキュリティヘッダーと、含まれていないヘッダーが表示されます。設定したいセキュリティヘッダーがリストにあれば、完了です。
WordPressセキュリティに関する専門家ガイド
この記事が、WordPressにHTTPセキュリティヘッダーを追加する方法を学ぶのに役立ったことを願っています。WordPressサイトのセキュリティを強化するための他のガイドも参照することをお勧めします。
- WordPressセキュリティ究極ガイド(ステップバイステップ)
- WordPressセキュリティ監査の実行方法(完全チェックリスト)
- WordPress ウェブサイトの無料 SSL 証明書を取得する方法(初心者向けガイド)
- WordPressサイトがハッキングされる主な理由(&それを防ぐ方法)
- WordPressのデータベースプレフィックスを変更してセキュリティを強化する方法
- サイトを保護するための最高のWordPressセキュリティプラグイン(比較)
- マルウェアやハッキングを検出するための最高のWordPressセキュリティスキャナー
- WordPressサイトを悪意のある可能性のあるコードからスキャンする方法
この記事が気に入ったら、WordPressのビデオチュートリアルについては、YouTubeチャンネルを購読してください。 TwitterやFacebookでもフォローできます。
イジー・ヴァネック
ブログを始めた当初からCloudFlareを利用しており、主にCDNとDDoS保護のために使用しています。サーバーとCloudFlareの両方でSSL証明書の設定はすでに完了していました。しかし、セキュリティ設定の中には、ウェブサイトの機能に影響を与えることを恐れて、知らずに有効化していなかったものがありました。これはその一つです。この記事のおかげで、その機能を有効化することができ、その目的をより深く理解できるようになりました。もちろん、ウェブサイトは壊れることなく、引き続き正常に動作しています。セキュリティのためにこの追加のステップを踏んでよかったと思っています。この記事に感謝します!
Holly Gough
この情報に感謝します。明確で簡潔でわかりやすい指示です。ヘッダーの問題を修正しようと1時間以上費やしました。ありがとうございます!
WPBeginnerサポート
ガイドがお役に立てて嬉しいです!
管理者
Valerie
いつものように、確かな情報ありがとうございます。助かりました。完璧に機能しました。
WPBeginnerサポート
どういたしまして、ガイドがお役に立てて嬉しいです!
管理者
Katrin
.htaccess のどこにコードを挿入すればよいですか? WordPress の開始前、または WordPress の終了後のどちらですか?
WPBeginnerサポート
You would want to put code between the begin and end WordPress
管理者
ミケランジェロ
この記事をありがとうございます! とても助かりました。
I wish you the best and that your sleeves never slip during dishwashing
WPBeginnerサポート
当社の記事がお役に立てて嬉しいです!
管理者
カルマ・ツェテン
私にはうまくいきましたが、デザインも壊れてしまいました。セキュリティヘッダーを追加すると、デザインが損なわれるのですが、何か助けになりますか?
WPBeginnerサポート
それは、何らかの理由でテーマに競合があることを示唆しているようです。テーマのサポートに連絡して、問題の根本原因を確認できるかどうか尋ねることをお勧めします。
管理者
ナイジェル・マキルウェイン
こんにちは。
残念ながら、キャッシュをクリアしても私にはうまくいきませんでした。サイトはApacheサーバー上にあり、共有ホスティングは成功に影響しますか?
よろしくお願いします
WPBeginnerサポート
ホスティングプロバイダーに確認することをお勧めします。彼らがキャッシュや、セキュリティヘッダーに問題を引き起こす可能性のあるルールをエンドに持っていないことを確認してください。
管理者
ニール・チーズマン
Hi
.htaccessファイルにコードを追加しましたが、何も変わりませんでした…ウェブサイトはHTTPからHTTPSへのリダイレクトは正常に行われますが、テストすると「HSTSヘッダーが見つかりませんでした
レスポンスヘッダーに。」というメッセージが引き続き表示されます。
WPBeginnerサポート
htaccessにコードを追加した後、その特定のエラーの最も一般的な原因はサイトのキャッシュをクリアすることなので、忘れないでください。
管理者
エド・トーマス
機能しませんでした。まだ以下が表示されます。
お客様のウェブサイトは、推奨されるすべてのセキュリティヘッダーを送信していません。
X-Content-Type-Options
X-Frame-Options
Permissions-Policy
WPBeginnerサポート
キャッシュを確認することをお勧めします。それが更新されない最も一般的な理由です。サイトのキャッシュをクリアすると、ヘッダーが見つかるようになります。
管理者
Mark Downing
非常に役立つ記事をありがとうございます。.htaccessにコードスニペットを貼り付けた後、私たちのサイトは「F」から「B」に向上し、問題は発生しませんでした。
WPBeginnerサポート
Glad our recommendation was helpful
管理者