セキュリティ WordPress

【WordPress】『推奨セキュリティヘッダーがインストール済みではありません』の対処法

2021年11月8日

※ 当サイトではアフィリエイト広告を利用しています

サイトヘルスステータスに変なメッセージがあるけど何これ??

サイトヘルスとは、WordPress5.2以降実装されたサイトのセキュリティやパフォーマンスの状態をチェックする機能です。

サイトの状態をより良くする為の情報が表示されているので、出来るだけ良い状態にしておきたい所ですね。

じゅんぺいブログは、Web制作コーディングWordPress制作)の技術記事を中心に、約500記事公開しています。ぜひ他の記事も参考にしてみてください!
完全無料のプログラミングスクール『ZeroPlus Gate』
30日間でWeb制作を学べる無料のプログラミングスクールがこちら
いきなり数十万するプログラミングスクールは厳しい・・・という人のお試しに最適です。
現在は無料ですがいつ有料になるか分からないので、気になる方はお早めに👇
(有料になっていたらすいません🙇‍♂️)

\ 完全無料 /

ZeroPlus Gate公式サイト

毎日先着制!

『推奨セキュリティヘッダーがインストール済みではありません』とは?

管理画面のダッシュボードには『サイトヘルスステータス』という項目があります。

ここを見てみると、まだ改善出来る項目があることが分かります。

WordPress管理画面:ダッシュボードのサイトヘルスステータス

WordPress管理画面:ダッシュボードのサイトヘルスステータス

ここでサイトヘルス画面をクリックすると、こちらが表示されます。

WordPress管理画面:サイトヘルスステータス

WordPress管理画面:サイトヘルスステータス

今回改善していくのはこの項目になります。

右側にSSLと書いてありますが、これはSSLするためのプラグイン『Really Simple SSL』を使用している事が原因かと思われます。

 

『推奨セキュリティヘッダーがインストール済みではありません』の対処法

手順としては

  1. セキュリティヘッダーの状態をチェック
  2. .htaccessにコードを追記する
  3. サイトヘルスステータス

 

セキュリティヘッダーの状態をチェック

まずはセキュリティヘッダーの状態を以下のページでチェックしてみます。

Analyse your HTTP response headers

Analyse your HTTP response headers

Analyse your HTTP response headers

赤枠内でサイトのURLを入力して隣の『Scan』をクリックすると・・・

Analyse your HTTP response headers:Scan結果(F判定)

Analyse your HTTP response headers:Scan結果(F判定)

見事にF判定という残念な結果に。。。

これをA判定にしたいと思います。

 

htaccessにコードを追記する

この問題を解決するためにはhtaccessファイルに以下のコードを追記します。

# Security Headers
Header always set Content-Security-Policy "upgrade-insecure-requests"
Header always set X-XSS-Protection "1; mode=block"
Header always set X-Content-Type-Options "nosniff"
Header always set Referrer-Policy: "no-referrer-when-downgrade"
Header always set Expect-CT "max-age=7776000, enforce"
Header always append X-Frame-Options SAMEORIGIN
Header always set Permissions-Policy "geolocation=(); midi=();notifications=();push=();sync-xhr=();accelerometer=(); gyroscope=(); magnetometer=(); payment=(); camera=(); microphone=();usb=(); xr=();speaker=(self);vibrate=();fullscreen=(self);" 
Header always set Strict-Transport-Security: "max-age=31536000" env=HTTPS
# End Security Headers

 

.htaccessファイルをダウンロード

.htaccessファイルをダウンロードするにはFTPソフトを使います。

FTPソフトの使い方が分からない方は以下の記事を参照下さい。

あわせて読みたい
無料で使えるFTPソフト『FileZilla』の使い方を解説【WindowsとMac両方OK】
無料で使えるFTPソフト『FileZilla』の使い方を解説【WindowsとMac両方OK】

続きを見る

.htaccessファイルは『wp-content』と同じ階層にあるファイルで『サイトURL → public_html → .htaccess』となります。

.htaccessの場所

.htaccessの場所

.htaccessを開くとこのようになっています。

.htaccess:コード追記前

.htaccess:コード追記前

ここに先ほどのコードを追記するのですが、場所はどこでも大丈夫ですが分かりやすいように一番下に書いておきましょう。

そしてこのようになります。

.htaccess:コード追記後

.htaccess:コード追記後

ここでの注意点は、最後に改行を1行入れるのを忘れないようにしましょう。

編集が終わったらファイルをアップして上書きします。

変なところを消したりするとサイトが見れなくなる可能性があるので、必ずバックアップを取って自己責任でお願いします。

 

サイトヘルスステータスを確認

それではもう一度ダッシュボードからサイトヘルスステータスを確認してみます。

サイトヘルスステータス結果:良好

サイトヘルスステータス結果:良好

サイトヘルスステータス結果:良好

サイトヘルスステータス結果:良好

ダッシュボード上でも全て合格になりました。

あとは最初にチェックしたセキュリティヘッダーの状態を見てみましょう。

Analyse your HTTP response headers:Scan結果(A+判定)

Analyse your HTTP response headers:Scan結果(A+判定)

A判定になっていれば完了です。

 

追記

こちらの項目は以前は解決しなくても表示されなかったのですが、今度は逆に上記のチェックでクリアしても表示されるようになりました。。。

しかし上記判定ではA+になっています(これを解決しないとAになります)

そして何日か経ってもう一度見てみるとこの表示も消えていたので、まだ残っている場合は時間を置いてもう一度見てみましょう。

Permissions-Policy

Permissions-Policy

サイトヘルスステータスは他にもプラグインをアップデートしていなかったり、未使用のテーマがあったりすると改善点として表示されます。

これらは全て簡単に解決出来るので、全て解決してスッキリしておきましょう。

まとめ

今回は『推奨セキュリティヘッダーがインストール済みではありません』の対処法について解説しました。

実は最近新たに『永続オブジェクトキャッシュを使用してください』というステータスが表示されるようになりましたが、これについては解決方法がまだ分かりません・・・

分かり次第ブログに書こうと思います。

以上になります。

この記事が役に立ったと思ったら、シェアボタンからX(旧Twitter)などにシェアすると、いいねされてフォロワーが増えたりすることがあるよ!

 

  • この記事を書いた人

じゅんぺい

37歳からWeb制作とブログ開始。Web制作歴5年目でコーディングとWordPressオリジナルテーマ制作が中心。これまで120件以上を納品。当ブログ月間最高15万PVで、370記事以上はWeb制作の技術記事。コンテンツ販売→累計売上1200万円&1500部超え。X(旧Twitter)フォロワー7200人以上。2024年3月からブログの経験を活かしてライターとしても活動を開始。

-セキュリティ, WordPress