ほとんどのサイトがまだスキップしているセキュリティヘッダー:49 実際の監査からのデータ
レスポンスヘッダーはデプロイ時に付随する単一行の設定です。監査対象のサイトでは大多数がそれらを送信していません — 69% では Permissions-Policy が欠如し、リストで最も採用されているヘッダーは 41% でも欠如しています.
実行する各監査はホームページのレスポンスヘッダーを読み取ります. それらのうち 6 は合格・不合格の判定を持ち、report-only CSP とクロスオリジン分離ペアは文脈として報告され、失敗としてはカウントされません. 読み取りはプレーン HTTP フェッチで行われます — AI クローラーが受け取るのと同じキャプチャ — そしてリダイレクト後の最終レスポンスでも行われます。したがって、リダイレクト前のホップでのみヘッダーを設定するサイトはそれらのクレジットを得られません。 エンジンが尋ねる質問は意図的に狭いです:レスポンスにヘッダーが存在したかどうか. 49 のサイトを 23 から August 31, 2026 の間で監査した結果、答えは通常「いいえ」. Permissions-Policy はそれらのうち 69% に欠如し、Referrer-Policy は 65%、Content-Security-Policy は 61%、X-Frame-Options は 51%、X-Content-Type-Options は 43%、Strict-Transport-Security — 6 の中で最も採用されているもの — は 41% に欠如しています. メソドロジー:現在のチェックセットから各ドメインの最新完了監査スナップショット、概ね 23 から August 31, 2026、49 個別ドメイン、匿名化済み。 各パーセンテージは、ホームページのレスポンスがそのヘッダーを持っていなかったサイトの割合です。 サンプルは自己選択で、監査を実施したオーナーのみで構成され、主に小規模・中規模サイトに偏っています。これは、ウェブ全体でのヘッダー採用率を過小評価する可能性があります。大規模プラットフォームはエッジでこれらを設定しています。 シェアは長尾に対して方向性を示すものとして扱ってください。
チェックはヘッダーが存在するかどうかを尋ねます、良いかどうかではありません
測定の精度は重要です。これにより、これらの数値が主張できる上限が決まります.
エンジンはホームページのみを読み取ります — 1 URL、1 レスポンス — そしてプレーン-HTTP キャプチャが利用可能な場合はそのヘッダー値を使用し、利用できない場合は別のホームページキャプチャにフォールバックします。 存在は非空値を意味します. 指令の採点はありません:Strict-Transport-Security の max-age が 1 秒なら合格で、Content-Security-Policy が何でも許可するほど緩やかであっても同様です。 合格判定が良く構築されたポリシーであることを示すものではありません.
それは弱い指標に見えますが、測定内容を考慮するとそうではありません. 何らかの値を持つヘッダーは、人間がサーバー設定、CDN ルール、またはミドルウェアファイルを開き、指令を入力した証拠です。 チェックは、サイトの設定層が意図的に触れられたかどうかをテストします — これが失敗率が興味深い部分であり、合格率ではありません.
重症度はヘッダーごとに割り当てられ、均一ではありません. Strict-Transport-Security と Content-Security-Policy は高い重症度で失敗します. X-Frame-Options、X-Content-Type-Options、Referrer-Policy および Permissions-Policy は中程度で失敗します. Cross-origin isolation、COOP と COEP のペアは情報提供のみです — いずれかのヘッダーが存在するとパスし、そうでない場合は情報的な判定を報告し、失敗は決して起こりません。これらのヘッダーはベースライン防御ではなく高度なブラウザ機能を制御するためです.
自分のレポートを読む前に知っておくべき二つの挙動があります:
- Report-only CSP は CSP チェックを満たしません。 エンジンは
Content-Security-Policyを特に確認します。Content-Security-Policy-Report-Onlyのみを実行しているサイトは実施チェックに失敗し、違反がログに記録されるがブロックされないという別の情報的判定を受けます。 その判定は二つの CSP ヘッダーのうちどちらかが存在する場合にのみ存在します. frame-ancestorsは X-Frame-Options チェックを満たしません。 エンジンはX-Frame-Optionsヘッダー自体を読み取ります。frame-ancestorsディレクティブを持つモダンな CSP はより良い制御であり、レガシーヘッダーを削除しつつそれを提供するサイトは依然としてそのチェックに失敗します。
コードにはもう一つのプラットフォーム適応があります。レスポンスが Vercel から来ており、ページが Vercel の BotID スクリプトを読み込む場合、CSP が欠落していても失敗しますが、重度ではなく中程度の重大度で、BotID がインラインスクリプトの許可を必要とし、厳格な CSP 実施と対立することを説明するメモが付随します。サイトは、ホームページの最初の 1 KB に HTML コメントとして <!-- seoreport-ignore: vercel-botid-csp --> を配置することで、CSP または BotID を理由名として明示的に制約を文書化できます。チェックは失敗ではなく情報的判定に落ちます。これはファミリー内で唯一の脱出ハッチであり、実際のプラットフォーム制約が怠慢とみなされるべきではないため存在します。
受容はヘッダーの年齢を追跡し、難易度を追跡しません
失敗率の順序は逆クロノロジカルに近いです。HSTS は 6 つのうち最も古く、すべての主要な CDN ダッシュボードでトグルに還元可能で、最も採用されています。 X-Content-Type-Options と X-Frame-Options は、正式な後継者よりもはるかに前から存在するベンダー慣行であり、中央に位置しています. Referrer-Policy と Permissions-Policy は二つの最新で、最も欠落している — さらに Permissions-Policy は共通ホストがあなたの代わりに設定しないため、最後に位置します. いずれもエンジニアリング上で他より難しいものはありません. 6 つのうち 5 つはサーバーブロックの静的行、CDN ルール、またはエッジミドルウェアファイルにあり、アプリケーションの変更も行動リスクもありません。 それらを分けるのは、デフォルトを蓄積する時間と、ブログ投稿、チェックリスト、フレームワークテンプレートがそれらを吸収した数です. 私たちは同じ形を、監査履歴全体で失敗したチェックをランク付けしたとき にも見ました:レスポンスヘッダーがリストのトップを支配し、正規化、レンダリング、パフォーマンスを上回ります. そのランキングは別のウィンドウ、別のサンプル、そして以前のチェックセットをカバーしていたため、二つのパーセンテージセットはトレンドラインではありません — しかし両方のトップにヘッダーが位置することは耐久的な発見です. もう一つの構造的理由は不可視性です. ヘッダーが欠落していても画面上には何も変わりません. CMS は警告しません、ビルドは失敗しません、ダッシュボードは赤くなりません. 欠如は、原始的なレスポンスを検査するものにのみ観測可能です — それは監査、ブラウザのセキュリティ状態、そして増加する自動読者の共有が正確に行うものです. これは render parity で見つけたのと同じ非対称性です:人間がブラウザで見るものと、機械が HTTP 経由で受け取るものは静かに分岐しています。
各ヘッダーが保護するもの
Strict-Transport-Security は、指定された期間、あなたのドメインに対してプレーンテキスト HTTP を拒否するようブラウザに指示し、ネットワーク上の攻撃者があなたの http:// → https:// リダイレクトが発火する前にハイジャックできるリダイレクトウィンドウを閉じます。 それはリスト上でコミットメントを持つ唯一のヘッダーでもあります:ブラウザは後で HTTPS を破っても max-age を尊重します。短く始め、すべてのサブドメインとアセットが TLS 上でクリーンに提供されることを確認し、次に拡張します。
Strict-Transport-Security: max-age=31536000; includeSubDomains
Content-Security-Policy は、スクリプト、スタイル、フレーム、接続がどこから来るかを制限します. ここで唯一、カテゴリを防止するのではなくインシデントを含むヘッダーは、タグマネージャーが侵害されたりユーザー入力が DOM に到達したときに、CSP が注入されたスクリプトが実行できるか、選択したサーバーに到達できるかを決定します. それは作業中のページを壊す唯一のヘッダーでもあり、したがって以下のシーケンスの最後に配置されるべきです.
Content-Security-Policy-Report-Only: default-src 'self'
X-Frame-Options は、他のオリジンがあなたのページをフレームに入れることができるかどうかを宣言します. それがなければ、あなたのインターフェースは攻撃者のページ上の透明なオーバーレイに埋め込まれ、ユーザーが自分があなたのサイトにいると信じてクリックできるようになります. モダンな CSP は frame-ancestors でこれをよりよく表現します。レガシーヘッダーは古いクライアントと私たち自身のチェックが読むものなので、両方を配信してください。
X-Frame-Options: DENY
X-Content-Type-Options は、宣言された Content-Type が間違っているように見えるときに、ブラウザがレスポンスのタイプを推測するのを止めます。 スニッフィングは、テキストとして提供されるアップロードされたファイルがスクリプトとして実行される方法です. このヘッダーには正確に 1 有効な値があります.
X-Content-Type-Options: nosniff
Referrer-Policy は、現在の URL のどれだけがアウトバウンドクリックとサブリソースロードで第三者に送られるかを管理します。 あなたの URL はキャンペーンパラメータ、内部検索クエリ、アカウント識別子、時にはトークンを持ち、ページ上のすべての分析ピクセルとフォント CDN は受信者です。 主なブラウザは合理的なデフォルトに統一していますが、デフォルトはユーザーエージェントがあなたのために行う決定であり、クライアントによって異なります。ヘッダーを送信すると、ポリシーが明示的になり、機密 URL を扱うサイトが same-origin のようにより厳格なものを選択できるようになります。
Referrer-Policy: strict-origin-when-cross-origin
Permissions-Policy は、ドキュメントと埋め込まれたフレームが要求できるブラウザ機能(カメラ、マイク、ジオロケーション、その他の強力な機能リスト)を決定します. ヘッダーが欠落していると、無効にしていないすべてがページ上のすべてのスクリプト、書いていない第三者タグを含めて利用可能になります. 使用しないものは拒否します.
Permissions-Policy: camera=(), microphone=(), geolocation=()
4 のワンライナーを最初に配信し、次に CSP に一日を費やします
エンジンの重大度とデプロイリスクは正確に 1 ヘッダーで意見が分かれ、修正順序は配信を優先するように不一致を解決します.
デプロイ1 — HSTS、短い。 最高の重大度で、サイトがすでにHTTPSをすべて提供している場合、リスクはほぼゼロです。 TLSの問題が忘れられたサブドメインで発生した場合に回復可能にするため、まずは控えめなmax-ageを設定します。
デプロイ2 — 4つの中程度の重大度ラインをまとめて。 nosniff、Referrer-Policy、Permissions-Policy、およびX-Frame-Optionsは、アプリケーションの依存関係がない静的値です。 それらは4の6チェックの一部であり、これらの失敗率では、平均的なサイトが欠けているものの大部分が. それらを別々に段階化する理由はありません.
その後HSTSを拡張し、 ドメイン下のすべてのホストがTLSでクリーンにサービスを提供していることを確認したら.
最後に — CSP、レポートのみモード。 Content-Security-Policy-Report-Onlyをデプロイし、実際のトラフィックから違反を収集し、実際に依存しているスクリプトと接続ソースを列挙します。 その後、ヘッダーを強制モードに切り替え、X-Frame-Options行とともにframe-ancestorsを追加します。 最高の重大度、最高の労力、シーケンスの最後、リスト上で作業中のページをダウンさせる唯一の項目であるためです.
1コマンドで自分のヘッダーを読み取ります
全体の測定はターミナルから再現可能です。リダイレクトを追跡してください。エンジンが行うのはそれです:
curl -sSL -o /dev/null -D - https://example.com/ \| grep -iE 'strict-transport-security|content-security-policy|x-frame-options|x-content-type-options|referrer-policy|permissions-policy'
戻ってこないすべての行は、ホームページが失敗しているチェックです. 6がすべて戻ってくるということは、プレゼンスバーがクリアされ、次の質問 — ポリシー自体が良いかどうか — を尋ねる価値があることを意味します. 私たちの無料レポートは、すべての監査で同じ読み取りを実行し、欠落している各ヘッダーとそれを解決する値をリストします。 このデータセットのヘッダーは、難しいまたは論争のあるために欠落しているわけではありません. それらは、ウェブサイトの日常生活の中で欠落が表面化しないために欠落しています:エラーもなく、視覚的な変化もなく、ビルドも失敗しません. 合格したサイトは、誰かが一度探しに行った場所であり、その単一のデプロイはまだ利用可能で、まだ利用していない大多数にとって利用可能です.
サイトのランキングを確認する
アクション可能な発見と優先修正を含む無料のAI搭載SEOレポートを取得
サインアップ不要.