SSL化したのにサイトに反映されない原因を探る

  • このエントリーをはてなブックマークに追加

スポンサーリンク

※サイト運営にサーバーは必須です※
~このサイトもエックスサーバーを使用しています~

はじめに

SSL化するとSEO的にいいよという話を聞いた。
追い風に、私が使っているレンタルサーバーでエックスサーバーも2016/6/30に「Let’s Encrypt」に対応して、無料のSSLが提供されるようになった。

それじゃあ……ということで、私もこの流れに乗り、SSL化してみた。
……が、Google側には反映されなかった。

なんでだ?

http、https、Mixed Contentの表示のされ方(chrome)

URLの部分を見れば、どのレベルのセキュリティーだかすぐわかる。
より詳しく通信のセキュリティーレベルを知りたい場合は、鍵マーク(https)か紙のようなマーク(http)をクリックすればわかる。

httpの場合

このサイトへの接続はプライベートではありません。

(chromeの場合URLの一番左が紙のようなマークがつく)

httpsの場合

このサイトへの接続はプライベートです。

(chromeの場合URLの一番左にガキマークがつく。下図参照)

https 2

httpとhttpsが混ざっている場合。通称Mixed Content

このサイトへの接続はプライベートです。ただし、ネットワーク上のユーザーがこのページのデザインを変更できる可能性があります。

(URLの一番左に鍵マークがつかない。紙のようなマークになる。※現在のchromeの設定では)

ネットワーク上のユーザーがこのページのデザインを変更できる可能性があります。

一瞬、この表示に、私はかなりドキリとした。

だが、常識的に考えて、普通のサイト訪問者はこのサイトを改変することはできない。ハッキングでもしない限り。

私のサイトで外部の人から変更される可能性があるのは、基本的に、広告の画像の部分。(私の場合、主にA8.net)

そもそも、広告のコードに、あらかじめ画像のデータが存在しているわけではない。
では、どうやって、画像を表示しているか?

簡単に言えば、外部にあるサイトを参照して、画像を出力している。
そのため、参照するサイトが変更していたら、画像もそれに応じて変化する。
外部への参照に使っているのがhttpsでなくhttpであると、セキュアな通信ではないと警告を受ける。

これが、Mixed Content(混在したコンテンツ)の原因になる。

※A8.netは2016/7/26に一部を除き、httpsに対応したと発表。
SSL化(https化)するためには、以前記事に張ったhttp版の広告コードをhttps版の広告コードに張り替える必要がある。(←正直、だるい)

で、Mixed Content(混在したコンテンツ)の場合、Google側には、httpsでなくhttpでインデックスされると思われる。

以下は根拠。

Googleウェブマスター向け公式ブログで掲載された記事:HTTPS ページが優先的にインデックスに登録されるようになります

~(前略)~
通常、以下の条件を満たしていれば HTTPS URL を選択してインデックスに登録します。
• セキュアでない依存関係が含まれていない。
• robots.txt によってクロールがブロックされていない。
• セキュアでない HTTP ページに(または HTTP ページを経由して)ユーザーをリダイレクトしていない。
• HTTP ページへの rel=”canonical” リンクが含まれていない。
• noindex robots メタタグが含まれていない。
• 同一ホスト上の HTTP ページヘのリンクが含まれていない。
• サイトマップに HTTPS URL が掲載されている(または URL の HTTP バージョンが掲載されていない)。
• サーバーに有効な TLS 証明書がある。

以上が、httpsでインデックスされる要件。逆に言えば、これらを満たしていないと、httpsとしてインデックスされない。

私の場合は、一番最初の項目ですでにOUT。
現段階では、広告を提供してもらっている企業との間で、セキュアでない依存関係が存在。

以下の画像は、「https://ict119.com」と打ち込んで、通信状況を確認している画像。A8.net とセキュアな通信をしていないということで、Mixed Content(混在したコンテンツ)の警告を受けている。

mixed content

まとめ

ドメインがSSLに対応しても、サイト側で反映されなかった場合は、通信状況を確認。
(Chromeの場合、URLの左側をクリック)

Mixed Content(混在したコンテンツ)を解消するには、Google公式の記事を参考にして、SSL化を妨げる要因を解消する

~プログラミングを勉強してみませんか?~

TechAcademy [テックアカデミー] 無料の体験講座が用意されているので、気軽に体験できます。

※私(サイト主)も無料体験講座を実際に受けてみました(→感想)

     

コメント

コメントを残す

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)