混合コンテンツチェッカー
HTTPSページ内で読み込まれた http:// リソースを検出します。
サイトをHTTPSに移行した後、http://...を指している<img>、<script>、<link>、または<iframe>といったタグが残存すると、緑色のロックマークが表示されず、現代のブラウザではページが完全に読み込まれないことがよくあります。URLを入力すると、このチェッカーはページを読み込み、すべてのサブリソース(画像、スタイルシート、スクリプト、フォント、IFrame、動画、音声)を検証し、通常のHTTP経路で提供されている要素を一覧化します。これにより、ユーザーが「完全にセキュアではない」という警告が表示される前に問題を修正できます。
スキャンの仕組み
-
1
URLを入力してください
HTTPSのURL。スキャナーは1回のリダイレクトを経由して処理します。
-
2
ページが取得されました
HTMLはすべてのサブリソース参照について解析されます。
-
3
すべての参照は分類されています
HTTPS、HTTP、またはプロトコル相対方式(`//cdn...`)。
-
4
タイプ別にグループ化したレポート
アクティブコンテンツとパッシブコンテンツを深刻度順に表示します。
アクティブとパッシブの混合コンテンツ
ブラウザはこの2種類を異なる方法で扱います。
- アクティブな混合コンテンツ(スクリプト、iframe、スタイルシート、XHR/fetch、ワーカー、WebSocket)。最近のブラウザでは完全にブロックされます。対象は
<script>、<link rel="stylesheet">、<iframe>、fetch()、XMLHttpRequest、importScripts()など。 - パッシブな混合コンテンツ(画像、動画、音声のポスター)。読み込まれるものの警告が付きます、鍵マークが外れ、アドレスバーに警告が表示されます。対象は
<img>、<audio>、<video>、フォームのactionなど。
なぜ重要なのか
- 信頼性。 壊れた鍵マークは、それに気づいたユーザーに「このサイトは安全でない」と明確に伝えます。
- 機能性。 アクティブなコンテンツがブロックされると、スクリプトが実行されず、スタイルシートも適用されないため、ページの表示が崩れます。
- SEO。 Google は HTTPS ページを優先します。HTTPS のシグナルが壊れていると、間接的に検索順位へ悪影響を及ぼします。
- コンプライアンス。 PCI DSS をはじめ多くのコンプライアンス基準は、決済ページに混合コンテンツのない HTTPS を求めています。
よくある原因
| 原因 | 一般的な修正方法 |
|---|---|
| HTTP で配信される古い CDN | ドメインを HTTPS CDN に切り替える |
| YouTube / Vimeo の古い埋め込みコード | 埋め込みを最新バージョンに更新する |
| 広告ネットワークのスクリプト URL | HTTPS 版を使う(何年も前から利用可能) |
| サードパーティのフォントや地図 | http://fonts.googleapis.com を https:// に変更する |
| ソーシャルボタンのウィジェット | 最新のウィジェットコードを使う |
| ユーザー投稿の画像 URL | 保存時に書き換える。表示時はプロキシ経由で読み込む |
| ブログ記事にハードコードされた URL | データベースで一括置換する |
修正の戦略
- プロトコル相対 URL(
//cdn.example.com/a.js)。 現在のページのプロトコルで読み込まれます。ほとんどの CDN で安全ですが非推奨のため、明示的なhttps://...を優先してください。 - ソースを書き換える。 テンプレートやコンテンツを
https://を使うよう更新します。正規表現http://(?!localhost)でコードベースをスキャンしましょう。 - Content Security Policy のアップグレード。
Content-Security-Policy: upgrade-insecure-requestsは、HTTP アセットの URL を自動的に HTTPS へ書き換えるようブラウザに指示します。すべての URL を監査できないサイトに最適です。 <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">はそのインライン相当です。- HTTP のみのアセットをプロキシ経由で配信する。 上流に本当に HTTPS エンドポイントがない場合(現在ではまれ)、自サイトの HTTPS オリジンを経由させます。
チェッカーが検出する内容
<img>、<script>、<link>、<iframe>、<video>、<audio>、<source>で参照されるすべての外部 URL。- フォームの
action属性。 <style>ブロック内のインライン CSS のurl(...)参照。- JavaScript で挿入されたリソースはクロールしません。これらは実行時に追加されるため、ブラウザ側での監査が必要です(Chrome DevTools の「問題」パネルで検出できます)。
よくある質問
部分的にです。upgrade-insecure-requests CSPヘッダーまたはメタタグは、ブラウザにHTTPサブリソースURLを自動的にHTTPSに変換するよう指示します。サーバーがHTTPSをサポートしている場合にのみ機能します;上流がHTTPのみの場合には変換に失敗します。
いいえ。静的HTMLで参照されているリソースのみを対象としています。実行時に<img>要素を生成するスクリプトは表示されません。Chrome DevToolsの問題パネルではブラウザ内でこれらの問題を検出します。
これらのマークアップはHTTPSページでは混合コンテンツに対しても安全です(HTTPSの特性を継承します)。しかし、HTTPのみを使用する内部ツールやアーカイブページでは機能が失われます。また、使用は推奨されていません。明示的なhttps://を使用することをお勧めします。
ブラウザキャッシュが原因です。ハードリフレッシュ(Ctrl+Shift+R / Cmd+Shift+R)またはシークレットウィンドウでテストして修正を確認してください。CSPレポートおよびコンソール警告に現在の状態が表示されます。
サーバー側の取得処理がページを取得して分析に使用します。URL自体はリクエスト以外には保存されません。
関連ツール
メタディスクリプション長チェッカー
メタディスクリプションの文字数と推定ピクセル幅を測り、編集上の目安やデスクトップ・モバイルのレイアウト例と比較します。
HTTPセキュリティヘッダーチェッカー
HTTPレスポンスヘッダーを貼り付け、HSTS、CSP、クリックジャッキング、MIME、リファラ、クロスオリジン設定をブラウザー内で確認します。
Google SERP シミュレーター
モバイルとデスクトップの文字数上限を使って、Google 風の検索スニペットを概算で確認します。下書きはこのブラウザーセッション内にのみ残ります。
Canonicalタグジェネレーター
任意のURLに対して有効なrel=canonical linkタグを生成します。URLの検証と、避けるべきよくあるミスも含みます。
XMLサイトマップ検証ツール
ブラウザ上でサイトマップXMLを解析し、構文エラー、locの欠落、URLの重複、一般的なサイトマップ項目の値を確認します。
Canonical URLチェッカー
ページのHTMLを貼り付けてrel=canonicalタグを確認:存在するか、有効な絶対URLか、ページURLと一致するか。
このツールは他の言語でも利用できます
- Mixed-Content-Prüfer [DE]
- Kontroll av blandat innehåll [SV]
- Vérificateur de contenu mixte [FR]
- Mixed Content Checker [ID]
- 혼합 콘텐츠 검사기 [KO]
- เครื่องมือตรวจสอบเนื้อหาผสม [TH]
- Trình kiểm tra nội dung hỗn hợp [VI]
- Controle op gemengde inhoud [NL]
- Verificador de Contenido Mixto [ES]
- Sprawdzanie mieszanej treści [PL]
- فاحص المحتوى المختلط [AR]
- Verificador de Conteúdo Misturado [PT]
- Controllore di contenuti misti [IT]
- Проверка смешанного контента [RU]
- Karışık İçerik Denetleyicisi [TR]
- 混合内容检查器 [ZH]
- Mixed Content Checker [EN]