Web制作 おくだ屋

WEB制作 おくだ屋

//この中に次から作るsvgデータを入れていく
ホーム > ホームページ保守・管理 > SSL化したのに「保護されていない通信」が出る原因と解決法
ホームページ保守・管理

SSL化したのに「保護されていない通信」が出る原因と解決法

「SSL証明書を設定したのに、ブラウザに『保護されていない通信』って表示される…」

この現象、実はSSL化あるあるなんです。原因は「混在コンテンツ(Mixed Content)」と呼ばれる問題で、サイト内にhttp://のまま残っている要素があると発生します。

今回は、この問題の原因と具体的な解決方法を解説します。

結論:SSL化は「証明書を入れたら終わり」ではない

SSL証明書の重要性については以前の記事で解説しましたが、証明書をインストールしただけでは完了しません。サイト内のすべての要素がhttps://で読み込まれていないと、ブラウザは「完全には安全ではない」と判断します。

状態 ブラウザの表示 訪問者の印象
完全SSL化 鍵マーク(安全) 安心して利用できる
混在コンテンツあり 「保護されていない通信」 不安を感じる
SSL未設定 「保護されていない通信」 離脱する可能性大

サイトの信頼性にも直結するので、早めに解決しましょう。

混在コンテンツとは?

httpsで配信しているページの中に、httpで読み込んでいる要素(画像、CSS、JavaScriptなど)が混在している状態です。

例えば、こんなケースです。

  • 記事内の画像URLが「http://example.com/image.jpg」のまま
  • テーマのCSS内でhttp://のフォントを読み込んでいる
  • 外部サービスのスクリプトがhttp://で埋め込まれている

原因①:記事内の画像・リンクがhttp://のまま

SSL化する前に投稿した記事の画像やリンクは、http://のまま残っています。記事が多いと手作業での修正は現実的ではありません。

解決方法

「Search Regex」プラグインを使って、データベース内のURLを一括置換します。

  1. プラグイン「Search Regex」をインストール・有効化
  2. 検索欄に「http://あなたのドメイン.com」を入力
  3. 置換欄に「https://あなたのドメイン.com」を入力
  4. 「すべて置換」を実行

注意:実行前に必ずバックアップを取ってください。データベースを直接変更するので、間違えると取り返しがつきません。

原因②:WordPressの設定URLがhttp://のまま

WordPress管理画面の「設定」→「一般」にある2つのURL設定を確認しましょう。

設定項目 修正前 修正後
WordPress アドレス (URL) http://example.com https://example.com
サイトアドレス (URL) http://example.com https://example.com

この2つが両方ともhttps://になっていることを確認してください。

原因③:テーマ・プラグインがhttp://を出力している

テーマやプラグインのソースコード内に、http://がハードコードされていることがあります。特にカスタマイズしたテーマや、古いプラグインで起きやすい問題です。

解決方法

「Really Simple SSL」プラグインを使えば、サイト全体のhttpリクエストを自動的にhttpsにリダイレクトしてくれます。根本的な修正ではありませんが、応急処置として有効です。

原因④:外部サービスの埋め込みがhttp://

Googleマップ、YouTube、SNSウィジェットなどの埋め込みコードがhttp://になっている場合があります。

解決方法

埋め込みコードのURLをhttps://に変更するか、最新の埋め込みコードを取得し直しましょう。現在、主要なサービスはすべてhttps://に対応しています。

混在コンテンツの見つけ方

どこでhttp://が残っているか特定する方法です。

  • ブラウザの開発者ツール — F12キーで開き、「Console」タブに「Mixed Content」の警告が表示される
  • Why No Padlock? — URLを入力するとhttp://の要素を一覧表示してくれるオンラインツール
  • SSL Insecure Content Fixer — WordPressプラグインで混在コンテンツを検出・修正

http→httpsのリダイレクト設定も忘れずに

SSL化した後、httpでアクセスした人を自動的にhttpsへ転送する設定も必要です。.htaccessに以下のリダイレクトルールが入っているか確認しましょう。

多くのレンタルサーバーでは、管理画面から「常時SSL化」をONにするだけで設定できます。

まとめ:SSL化を完全に仕上げよう

  • SSL証明書を入れただけでは不十分な場合がある
  • 混在コンテンツ(httpが残っている要素)が主な原因
  • Search Regexで記事内URLを一括置換
  • WordPressの設定URLをhttpsに変更
  • Really Simple SSLで応急処置も可能
  • ブラウザの開発者ツールで問題箇所を特定

「SSL化したはずなのに警告が消えない」「どこにhttpが残っているか分からない」という方は、お気軽にご相談ください。