SSL化した後に『このサイトへの接続は完全には保護されていません』と表示される原因と解決方法

セキュリティ

このサイトへの接続は完全には保護されていません、の見出し

せっかくSSL化(https化)したというのに、『このサイトへの接続は完全には保護されていません』と表示されて困っていませんか?または、ある日突然この警告が出たりしていませんか?

この記事では、その原因と解決方法を紹介します。

『完全には保護されていません』の症状確認

このサイトへの接続は完全には保護されていませんスクリーンショット

スクリーンショットは Google Chrome の内容です。

  • URL欄に『保護されていない通信』と出ている
  • 詳細は『このサイトへの接続は完全には保護されていません』と出る
  • SSL化(https化)が済んでいる
  • 前は大丈夫だったのに、気がついたら警告が出るようになった

このようなケースで困っている場合、本記事の内容で解決できるはずです!

この警告が出る理由

ズバリ、『部分的に暗号化通信ができていない』のが原因です。

具体的には、『http://』で通信している箇所がページ内にあると、『このサイトへの接続は完全には保護されていません』という現象が発生します。『完全には ⇒ 部分的にダメ』というところがポイントです。

この説明でピンときた人は、さっそく直してあげてくださいね!

以下はもう少し詳しく解説する内容です。

保護されない通信の主な原因4選

  • サードパーティのCDNでhttp通信をしている
  • 画像の参照がhttp://になっている
  • そもそもSSL化できていない
  • WordPressテーマの独自仕様

サードパーティのCDNでhttp通信をしている

サードパーティ製ライブラリを用いるときに、以下のようなHTMLを記述しますね。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

このとき、URLが『http://』になっていないか確認しましょう。例えば、提供元のサンプルコードが http:// になっていて、そのままコピーしてしまうことでこの現象が起きてしまうこともあります。

修正する方法は、該当のコードを『https://』に変更するだけですね!もし https:// に変更して、提供元からデータが参照できなくなった場合は、提供元のドキュメントを確認し、適切なコードを埋め込むことで解決できるはずです。

画像の参照がhttpになっている

画像を埋め込むときに、以下のようなHTMLを記述しますね。

<img src="https://abc.com/img/foo.jpg">

上記のCDNを用いた場合と原因は同じなのですが、おそらく状況は違います。なぜなら、WordPressなどの環境でウェブサイトを制作している場合、理由なく急に http:// のパスを吐き出すような仕組みにはなっていないからです。

手動で画像を設定し直せば https:// で埋め込みができると思いますが、全ての画像を手動で対応しても『このサイトへの接続は完全には保護されていません』の警告は消えていないと思います。しかも、管理画面でも同じ警告が出ていると思います。

もし直前に以下の操作をしていませんか?

WordPress の『All-in-One WP Migration』プラグインを用いて、別サーバー(別ドメイン)に移行。移行先はすでにSSL化していたのに、あらゆるコードに http:// が埋め込まれてしまった。

何らかの理由で、サーバーやドメインを移行することはあるでしょう。この操作に心当たりがあれば、ぜひ以下の対応をしてみてください。

1.WordPress の管理画面から『設定』>『一般』を開く。

WordPressの一般設定画面

2.『WordPress アドレス』と『サイトアドレス』が https:// になっていることを確認。この設定を忘れていたら https:// に書き換えましょう。

3.『All-in-One WP Migration』で再度『インポート』

最後にエクスポートしたデータで上書きされるので、作業を進めてしまっているかたは、十分ご注意ください。

つまり言いたいことは、この『WordPress アドレス』と『サイトアドレス』を https:// に変更する前に、『All-in-One WP Migration』でインポートをしてしまうと、http:// のコードで埋め込まれてしまいます。

私はこの対応で img タグの http:// を https:// に修正できました!

そもそもSSL化できていない

このサイトへの接続は保護されていませんスクリーンショット

そもそもSSL化できていない場合は、上記のように『このサイトへの接続は保護されていません』と表示されます。または、『http:// でアクセスしている』と思われます。

警告文は似ていますが症状は違いますので、『このサイトへの接続は完全には保護されていません』というケースなら、本記事の内容が参考になるはずです。

WordPressテーマの独自仕様

WordPressのテーマによっては、『テーマ専用の編集画面で保存をしたタイミングで最終処理される』ものもあるはずです。

ルクセリタスの子テーマ保存

私が使っているWordPressのテーマは『ルクセリタス』なのですが、このルクセリタスも子テーマの保存時に色々と最終処理を行います。

ルクセリタスはこちらです。

All-in-One WP Migration のように、プラグインによってデータベースが書き換えられる場合、テーマとの整合性が取れなくなることがあります。そういうときのために、テーマを再保存することで改善されることもあります。

この『All-in-One WP Migration』と『ルクセリタス』の合わせ技はよく使っているので、データベースの不整合に頭を悩ませていたのですが、子テーマの再保存で解決できると気がついてからは快適です♪


『このサイトへの接続は完全には保護されていません』の症状を解決するために、http:// を一括で https:// に変換する記事はよく見かけますが、本質的な部分は改善されないので、本記事でスッキリ解決できていれば幸いです!

以上、『このサイトへの接続は完全には保護されていません』の原因と解決方法でした。