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直し方
- 自サイト内のリソース → 絶対URLをやめ、ルート相対パス(/img/logo.png)にするのが最も安全
- 外部サービスのリソース → HTTPS版のURLに書き換える。HTTPS非対応のサービスは利用を見直す
- 過去記事の本文に埋め込まれたHTTP画像 → データベースを一括置換する(WordPressなら Better Search Replace などのプラグイン)
- テーマやプラグインが出力している場合 → 該当箇所を特定して修正、または更新する
「//example.com/img.png」のようなプロトコル相対URLは、かつて使われた手法ですが現在は非推奨です。素直にhttpsを明記してください。
修正後の確認方法
- ブラウザのコンソールにMixed Contentの警告が出ないこと
- アドレスバーに保護されていない旨の表示が出ないこと
- 主要ページ(トップ、商品、記事、フォーム)を個別に確認する
- 再診断して該当が0件になっていること
よくある質問
画像だけHTTPなら問題ないですか?
ブラウザは画像を自動でHTTPSへ書き換えて読み込もうとしますが、HTTPS版が無ければ表示されません。修正すべきです。
Content-Security-Policyで自動アップグレードできますか?
upgrade-insecure-requestsを使えばHTTPS化を試みますが、リソース側がHTTPS非対応なら結局読み込めません。応急処置であり、根本修正が必要です。
関連記事
- サイトリニューアルでSEOが崩れる典型パターンと事前チェックリスト
リニューアル後の順位下落は「運が悪かった」のではなく、ほぼ決まったパターンの事故です。原因は事前のチェックリストでほぼ全て防げます。公開前・公開当日・公開後1週間の3段階で確認すべきことを整理しました。 - WordPressの技術SEOチェックリスト — プラグインの罠込み
WordPressは世界で最も使われているCMSであり、技術SEOの事故パターンもよく知られています。裏を返せば、チェックリスト化しやすいということです。設定画面とプラグインに起因する定番の罠を順に確認します。 - リダイレクトチェーン(転送が複数回続く)
リダイレクトチェーンとは、URLにアクセスしてから最終ページに着くまでに転送が2回以上発生している状態です。表示が遅くなり、クロール効率も落ちます。最終的に正しいページへ着くため気づかれにくい問題です。
この問題が自分のサイトで起きているかは、URLを入力するだけで確認できます。 無料で診断する / ルール一覧 / 料金プラン