7月24日(火)から、
SSL(https)化がマストになった「Chrome 68」ですが、Googleも本気になりましたね。
即日で、非HTTPS化していないサイトへ警告が出るのかな?
と思っていたのですが、とりあえず、7月下旬から開始ってことのようです。
SSL(https)化において、レンタルサーバでは、有料・無料提供のどちらを採用しているかで、サーバを借りているユーザは、費用対効果で悩むところではありますね。
弊社の場合は、人柱ならぬサイト柱として、
非HTTPSサイト
の状態で、今暫く運用していってみたいと思っています。
というのも、アクセス解析で、どの程度、検索順位などに影響を与えるのかを見定めたいというところもあるからです。
さらには、今、弊社が検証している
アクセスアップ方法
において、非HTTPS状態が、問題になるのかも見定めていきたいと考えているからです。
もし、ご興味があるようであれば、お問い合わせください。
さて、とりあえず、Googleの方針に合わせて、急遽ならずとも、SSL化に踏み切ったところは多数あるかと思います。
弊社がサポートした方々には、この日のことがあったので、サーバを移行するだとか、サイトリニューアルをするといった場合には、最初からSSL化での運用を視野にした、ご案内をさせていただきました。
そこで、SSL化に伴って、SSL証明書については、レンタルサーバ側で代行してくれることが殆どですので、話しを省きまして、SSL証明書が発行され、SSL化された後のサーバ設定について、簡単ですが触れてみたいと思います。
まず、SSL化した後、一番最初に行うのが、今まで、
http://www.example.com/
でアクセスしていたサイトが、
https://www.example.com/
でアクセス出来るかを確認します。
レンタルサーバ側から、証明書の設定が完了しました!と連絡があると、そこから、サーバ側では、httpsでアクセス出来るようにするために、DNSの伝搬が行われます。
早いところで、数分から数時間、遅いと半日から1日かかるようです。
それまでは、
Forbidden
と表示され、サイトが表示されない場合があるので、今からSSL化をするところは注意をしてくださいね。
この問題も解決し、いよいよ、
https://www.example.com/
でアクセス出来るようになると、Webサーバでは、
http://www.example.com/
でも、
https://www.example.com/
でもアクセス出来る状態になっているんです。
折角、SSL化しても、
https://www.example.com/
で常にアクセスされなければ意味がありませんよね。
そこで、
https://www.example.com/
でアクセスして貰えるように、サーバに少しだけ手を加えます。
それが、「.htaccess」というファイルに、httpでアクセスしてきたらhttpsに転送(リダイレクト)するように記述することになります。
サーバによっては、「.htaccess」の作成を許していない場合がありますが、その場合には、これから説明する命令を書き込む管理画面が用意されていると思いますので、そちらと併せて、ご覧になってください。
実は、
http://www.example.com/
でも、
https://www.example.com/
でもアクセスが出来てしまうと、Googleさんに重複コンテンツがあると誤認識されてしまう可能性があるんです。
このまま誤認識されてしまうと、SSL化をしたところは、揃って
SEOのために!
が主だと思いますので、SEOが下がってしまう可能性があります。
そこで、古くからアクセスしてきてくれているユーザも新規のユーザも、httpでアクセスしてきたら、httpsへリダイレクトしてあげる心遣いをしてあげるんです。
それが「.htaccess」になります。
その中身は、至ってシンプルで、もし記述が判らないようであれば、下記を参考に記述をしてみてください。
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
になります。ちなみに、希にサーバによっては、
RewriteCond %{HTTPS} off
が非対応になっている場合があり、その場合には、
RewriteCond %{ENV:HTTPS} !^on$
や
RewriteCond %{HTTP_HOST} ^www.example\.com
と記述して貰えば大丈夫です。
最終的には、こんな感じで記述すれば万全です。
# www none
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.example\.com
RewriteRule ^(.*) https://example.com/$1 [R=301,L]
# 301
RewriteEngine on
RewriteCond %{ENV:HTTPS} !^on$
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
いかがでしょうか。
この記述が基本になりますが、この他、サーバーによっては、IPアドレスを記述しないと無限ループに陥ってしまったり、OptionでSymLinksの記述が必要だったりしますが、このような特殊ケースは、サーバ側のヘルプに記載手順が書かれていますので、SSL化するときには、事前の準備をしておくことが大切ですね。
コメント