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リクエスト中に早期にトリガーされ、最大のメリットを提供できます。
SucuriやCloudflareのようなDNSレベルのウェブサイトアプリケーションファイアウォールを使用している場合は、さらに効果的です。
それでは、WordPress に HTTP セキュリティヘッダーを簡単に追加する方法を見ていきましょう。ご自身に合った方法にすぐにジャンプできるように、さまざまな方法へのクイックリンクを以下に示します。
1. Sucuriを使用してWordPressにHTTPセキュリティヘッダーを追加する
Sucuriは、市場で最高のWordPressセキュリティプラグインの1つです。彼らのウェブサイトファイアウォールサービスを使用している場合、コードを書かずに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 Internal Server Errorを引き起こす可能性があります。
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証明書の設定はすでに完了していました。しかし、セキュリティ設定の中には、ウェブサイトの機能に影響を与えることを恐れて、知らずに有効化していなかったものがありました。これはその一つです。この記事のおかげで、その機能を有効化することができ、その目的をより深く理解できるようになりました。もちろん、ウェブサイトは壊れることなく、引き続き正常に動作しています。セキュリティのためにこの追加のステップを踏んでよかったと思っています。この記事に感謝します!
ホリー・ガフ
この情報に感謝します。明確で簡潔でわかりやすい指示です。ヘッダーの問題を修正しようと1時間以上費やしました。ありがとうございます!
WPBeginnerサポート
ガイドがお役に立てて嬉しいです!
管理者
バレリー
いつものように、確かな情報ありがとうございます。助かりました。完璧に機能しました。
WPBeginnerサポート
どういたしまして、ガイドがお役に立てて嬉しいです!
管理者
カトリン
.htaccess のどこにコードを挿入すればよいですか? WordPress の開始前、または WordPress の終了後のどちらですか?
WPBeginnerサポート
WordPressのbeginとendの間にコードを挿入したい場合
管理者
ミケランジェロ
この記事をありがとうございます! とても助かりました。
あなたの成功を祈っています。そして、食器洗い中に袖がずり落ちないことを願っています
WPBeginnerサポート
当社の記事がお役に立てて嬉しいです!
管理者
カルマ・ツェテン
私にはうまくいきましたが、デザインも壊れてしまいました。セキュリティヘッダーを追加すると、デザインが損なわれるのですが、何か助けになりますか?
WPBeginnerサポート
それは、何らかの理由でテーマに競合があることを示唆しているようです。テーマのサポートに連絡して、問題の根本原因を確認できるかどうか尋ねることをお勧めします。
管理者
ナイジェル・マキルウェイン
こんにちは。
残念ながら、キャッシュをクリアしても私にはうまくいきませんでした。サイトはApacheサーバー上にあり、共有ホスティングは成功に影響しますか?
よろしくお願いします
WPBeginnerサポート
ホスティングプロバイダーに確認することをお勧めします。彼らがキャッシュや、セキュリティヘッダーに問題を引き起こす可能性のあるルールをエンドに持っていないことを確認してください。
管理者
ニール・チーズマン
こんにちは
.htaccessファイルにコードを追加しましたが、何も変わりませんでした…ウェブサイトはHTTPからHTTPSへのリダイレクトは正常に行われますが、テストすると「HSTSヘッダーが見つかりませんでした
レスポンスヘッダーに。」というメッセージが引き続き表示されます。
WPBeginnerサポート
htaccessにコードを追加した後、その特定のエラーの最も一般的な原因はサイトのキャッシュをクリアすることなので、忘れないでください。
管理者
エド・トーマス
機能しませんでした。まだ以下が表示されます。
お客様のウェブサイトは、推奨されるすべてのセキュリティヘッダーを送信していません。
X-Content-Type-Options
X-Frame-Options
Permissions-Policy
WPBeginnerサポート
キャッシュを確認することをお勧めします。それが更新されない最も一般的な理由です。サイトのキャッシュをクリアすると、ヘッダーが見つかるようになります。
管理者
マーク・ダウニング
非常に役立つ記事をありがとうございます。.htaccessにコードスニペットを貼り付けた後、私たちのサイトは「F」から「B」に向上し、問題は発生しませんでした。
WPBeginnerサポート
私たちの推薦がお役に立てて嬉しいです
管理者