「https」接続をご存知でしょうか?
「https(http over TLS/SSL)」は、http(Heper Text Transfer Protocol)通信をする際に、暗号化セキュリティを強化したSSL接続も組み込んでくれる通信のことをいいます。
https = http + SSL(暗号化)
この設定を行うと、 のように、アドレスの左端に「鍵マーク」がつきます。鍵マークを右クリックをすると、セキュリティの高い通信だということが記載されています。
逆に鍵マークなしのサイト(http通信)ですと、
このように表示されてしまいます。
ブログサイトを使用していれば、SSL通信になっていると思いますが、自分でhtmlをコーディングしてサイト管理をしている場合は、設定が必要です。
私が管理しているサイトで、さくらインターネットサーバーを使用して常時SSL設定をしたので、作業方法と注意点をご紹介いたします。
・セキュリティ強化
・安全な通信を利用していることで、サイトの信頼につながる。
・SEO対策(検索上位表示影響あり)
https移行作業の流れ
①無料SSL証明登録「Let's Encrypt」申請
まず先にSSL証明登録の申請だけしておくのが効率的かもしれません。わたしの場合、無料SSL証明登録を申請してから3時間くらいかかって承認が通りました。
作業詳細は、さくらサーバさんのサポート情報を追っていきましょう。
②リダイレクト設定
①だけでは、httpsのアクセスができるようになっただけで、http、httpsが独立していることになります。お互いを紐づけする設定をしましょう。
「httpにアクセスしたら自動的にhttpsに転送する」という命令文を書いた 「.htaccsess」ファイルを作成し、サーバのルートフォルダ(www直下)に格納します。
※WordPressを使用していれば別な方法があるようです(前述さくらサポートのリンクよりご参照ください。)
「.htaccsess」の作り方
新しいファイルで.txtファイルをつくってから、中身(リダイレクト設定)を記述します。保存したら、「.htaccsess」と名前変更すれば作れます。
例)リダイレクト設定内容
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
</IfModule>
ちなみに、このときにURLの正規化も行うといいでしょう。
例)wwwなしでアクセスしてきたときは、wwwありのページへ飛ぶ
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
③html修正
全htmlのページのリンクをhttpsに対応させましょう。
例)「http://~」→「https://~」に置換
相対パスで記述されていれ問題ないのですが、絶対パスでリンクが書かれている場合は、対応しないと「Mixed contentエラー」 つまり「httpとhttpsの混合コンテンツエラー」になってしまいます。
作業のヒント
<一括置換>
ホームページビルダーを利用している場合は、
サイト(S)タブ
⇒「すべて置換」
⇒フォルダ指定をした後に、複数行・HTMLにチェック
で、一括置換することが可能ですよ。
<差分チェック>
マンドプロンプトで「fc A.html B.html」コマンドを実行すれば正しく変更できたか、差分チェックができます。
(fc…File Compareの頭文字)
④ Google Serch Consoleに登録
Google Serch Consoleでは、HTTPとHTTPSを別々に扱うようです。
設定をしましょう。
概要: URL の変更を伴うサイト移転 - Search Console ヘルプ
注意点
①作業は計画的に
初めて行う作業だったこともありますが、調べつつ慎重に進めて総時間12時間だったので、余裕をもった計画をして実装することをオススメいたします。また、設定に失敗した場合にどういった手順でどこまで戻るのかも決めたうえで作業を始めることをおすすめします。
②SEO
作業翌日、google検索順位が一時的に下がりました。ですが、日数をかけて徐々に検索結果上位に表示されていきました。長期的にみれば、SSL通信を使用している方が検索結果上位に表示されるので対応はした方がいいと思いますが、短期的にみると一時順位が下がる場合がありますので、作業を行うタイミングに気を付けましょう。
③プラスα情報
さくらインターネットさんのHPで注意が書かれています。
たとえば、テスト開発環境があるようであれば、事前にそちらでhttps化対応をしてからうまくいくことを確認したうで、実装するといいというような内容が紹介されています。
チェックしておきましょう。