Mixed Content(HTTPSページ内のHTTPリソース)

Mixed Content(混在コンテンツ)とは、HTTPSで配信しているページの中に、HTTPで読み込んでいる画像・スクリプト・スタイルシートなどが混ざっている状態です。ブラウザが警告を出したり、リソースの読み込み自体をブロックしたりします。

公開日: 2026年8月16日 / 最終更新日: 2026年9月6日

カテゴリ: セキュリティ / 影響度: 高 / 想定工数: 2時間 / ルールID: mixed_content

この問題の意味

HTTPSは通信を暗号化する仕組みですが、ページ本体がHTTPSでも、その中で読み込むリソースがHTTPだと、その部分は暗号化されません。第三者による改ざんや盗聴の余地が残ります。

このため、現代のブラウザはスクリプトやスタイルシートといった実行に関わるリソースについて、HTTPでの読み込みを完全にブロックします。画像などは自動的にHTTPSへ書き換えて読み込もうとしますが、HTTPS版が存在しなければ表示されません。

なぜ問題になるのか

SEOへの影響は間接的ですが、レイアウト崩れや機能停止は評価とコンバージョンの両方に直接響きます。

Smash SEOの検出条件

HTTPSで配信されているページのみを対象に、ページ内の img・script・iframe の src、および link の href に、http:// で始まるURLが1つでも含まれている場合に検出します。

ページ自体がHTTPで配信されている場合は、この項目の対象外です(それはHTTPS化そのものの課題として別に扱います)。

原因の特定

ブラウザの開発者ツールを開き、コンソールを確認するのが最短です。Mixed Contentの警告に、どのURLが問題かが表示されます。

HTMLからhttp://参照を探す

curl -s https://example.com/ | grep -oE '(src|href)="http://[^"]*' | sort -u

直し方

「//example.com/img.png」のようなプロトコル相対URLは、かつて使われた手法ですが現在は非推奨です。素直にhttpsを明記してください。

修正後の確認方法

よくある質問

画像だけHTTPなら問題ないですか?

ブラウザは画像を自動でHTTPSへ書き換えて読み込もうとしますが、HTTPS版が無ければ表示されません。修正すべきです。

Content-Security-Policyで自動アップグレードできますか?

upgrade-insecure-requestsを使えばHTTPS化を試みますが、リソース側がHTTPS非対応なら結局読み込めません。応急処置であり、根本修正が必要です。

関連記事

この問題が自分のサイトで起きているかは、URLを入力するだけで確認できます。 無料で診断するルール一覧料金プラン