【SSL化が反映されない】検索結果にhttp:~と表示される原因と対処法
SSL化してサイトプロトコルは間違いなく[https://~]になっているのに、検索結果には[http://~]と暗号化されてないリンクが表示されてしまう現象があります。
Word Pressの特定テーマを使用している人はデフォルト設定で起こる可能性がありますが、簡単な設定変更で解決できます。
SSL化したはずなのに検索結果には[http://~]で表示されてしまう
SEO表示のURLをよく見ると、ドメインが[http://~]になっています。クリックしてURLを確認してみるとやはり暗号化されてないようでした。
暗号化されてない通信は安全でないことはもちろん、SEO順位が下がることが宣言*されているので、特段の理由がなければ解決策を打った方が良いでしょう。
* https化(SSL化)のSEOへの影響は?概要とSEOとの関係を解説<ferret>
SSL化が反映されてない原因
SSL化を行っているのに反映されないのは、mixed contentというのが原因であることが多いです。
ページそのものが暗号化された通信を規定していたとしても、ページの内に非暗号化通信で読み込むファイルが存在(ページのどこかに[http:/~/]リンクが存在)するとページ全体が非暗号化されてないmiexed contentとして判定されてしまいます*。
*ChromeがMixed contentの段階的なブロック強化を開始!詳細や対応方法とは?
該当ページ内のファイル | 判定 | 該当ページのプロトコル |
暗号化通信のみ | 暗号化通信 | https:// |
暗号化通信のみと非暗号化通信が混在 (mixed content) | 非暗号化通信 | http:// |
非暗号化通信のみ | 非暗号化通信 | http:// |
ページがmixed contntになっているか調べる方法
調べたいページがmixed contentかどうかは開発者ツールで簡単に調べることができます。
- ステップ1:F12キー(または右クリック>検証)で開発者ツールを開く
- ステップ2:Console>warningsでMixed Contentのエラーが出ているか確認
下記のようなメッセージが出ていればMixed Contentが原因で間違いありません。
確かに「https://tetsuooo.net/archives/82のページ内で非暗号化通信をリクエストしてます」っていうメッセージになってますね。原因はのコードはhttps://tetsuooo.net/wp-content/themes/cocoon-master/images/no-amp-logo.png と特定できました。
該当箇所を暗号通信になるように修正
原因はWordpressで使用していたCocoonというテーマのAMP設定でした。
ロゴを呼び出すときの絶対参照URLがhttp://~になっていたので、ここをhttps://~になるように修正しました。開発者ツールで確認するとちゃんと警告がなくなっており、修正が反映されたことが確認できました。
まとめ
SSL化が反映されず検索結果にhttp://~と表示されてしまう原因と対策についてご紹介しました。