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 の管理画面から『設定』>『一般』を開く。
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:// に変換する記事はよく見かけますが、本質的な部分は改善されないので、本記事でスッキリ解決できていれば幸いです!
以上、『このサイトへの接続は完全には保護されていません』の原因と解決方法でした。