【常時SSL化】HTTPSと、リダイレクトなどの設定方法
Googleからも推奨されている常時SSL化について、
SSL化の方法から、その後にするべきリダイレクトなどの作業まで、
意外と忘れそうな設定もあったので、Wordpressの場合をメインに
備忘録としてまとめてみました。
SSL化とは?
SSL(Secure Sockets Layer)とは、ネット上でのデータの通信を暗号化して、
安全性を高めるための仕組みのことです。
見た目として、SSL化したページはHTTP→HTTPS〜のURLになり、
常時SSL化をするということは、webサイト全てのページを
HTTPS〜のアドレスで公開するということになります。
そのためにはSSL証明書を用意する必要がありますが、
以前と比べると、エックスサーバー
フリーでSSLの設定を追加できるサーバーの会社も多くなっているようなので、
今からレンタルサーバー用意する場合、その点を事前確認しておくのがおすすめです。
SSL化した方が良い理由
理由1 : SEOとしての問題
Googleでは2014年8月から、安全性が高いサイトかを検索順位を決める指標として取り入れることを発表しています。そのため、SSLが未対応の場合、SEO的に不利になるということが言われています。
理由2: 見た目の問題
SSLの対応をしている/していないで、見た目としての表示も大きく変わります。
対応済みの場合、Google Chromeでは下記のような鍵のマーク表示になりますが、
していない場合、ここが「保護されていない通信」などと警告が出されるため、
見た目的にもかなりデメリットです。。
SSL化の設定
エックスサーバー
管理画面 > SSL化設定をクリックして、「独自SSL設定追加」からSSLの設定を行います。
設定してから小一時間程度すると、HTTPS〜のURLでもサイトが表示されているのが確認できると思います。
SSL化をしたあとの設定変更
SSl化の設定と合わせて、サイトの状態に応じて、他に必要な再設定を行っていきます。
設定1 : 301リダイレクトの設定
リダイレクトとは、URLの変更をした時に、
自動的に指定したURLに転送をする仕組みのことをいいます。
SSL化をしただけだと、今までのHTTP〜の方へもアクセスできてしまうので、
HTTPS〜のURLに転送されるよう、.htaccessのファイルに設定変更を加えていきます。
.htaccessは、wordpressの場合だとパーマリンク設定を変更した時に作られるファイルで、
ページの転送や、アクセス制限をしたい時などに、
サーバーの設定を上書きするのに使えるファイルです。
変更すると、その階層以下のディレクトリに対して、その設定を反映させることができます。
エックスサーバーや、シン・レンタルサーバーの場合、
「管理画面」 > 「.htaccess編集」から、.htaccessファイルに下記を追加します。
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
この記載だと恒久的な転送(完全に新しいURLに引き継ぐ場合)となる、
301リダイレクトを行うことになり、
HTTP://〜にアクセスしても、HTTPS://〜のURLを常に表示できるようになります。
設定2 : WordPressの設定
WordPressの場合、ログインをして管理画面の「設定」>「一般」から、
URLをHTTPS://~から始まるアドレスに変更します。
設定3 : Googleアナリティクスの設定
Googleアナリティクスをすでに設定していた場合、
SSL化をした後、下記の設定を変更します。
3-1 プロパティ設定
「管理(歯車アイコン)」 > 「プロパティ設定」を開きます。
「デフォルトのURL」の項目で、https://を選んで保存します。
3-2 ビューの設定
「管理(歯車アイコン)」 > 「ビューの設定」を開いて、
「ウェブサイトのURL」の項目で、同様にhttps://を選んで保存します。
設定4 : Googleサーチコンソールの設定
サーチコンソールの方は、HTTPS〜のURLの新規登録を行います。
4-1 新しいURLを追加
画面左上部 >「プロパティを追加」を開いて、
HTTPS://〜から始まるURLを追加したら、「続行」をクリックします。
所有権の確認の方法がいくつか出てきたら、好きな方法を選び
それぞれの方法による確認のための準備をしたあと、「確認」をクリックして設定完了です。
(Googleアナリティクスをすでに使っている場合、「Google Analytics」の方法を選択すると、自動認証される、とのこと。)
4-2 サイトマップを送信
サイトマップ(sitemap.xml)は、サイト内のURLや画像などの情報をリスト化したファイルです。
送信することで、Googleの検索ロボットにサイトをクロールしてもらいやすくします。
あらかじめ新しいURL(HTTPS://〜)のサイトマップを用意しておいたら、
(wordpressだったら、ALL in One SEOのプラグインなどでサイトマップを作成)
次に、「インデックス」>「サイトマップ」から、
「新しいサイトマップの追加」でサイトマップのURLを入力し、送信します。
設定5 : サイトの内部リンクや画像のURLを再設定
SSL化をしたあと、
サイトの中で使っている内部リンクや画像のURLも、混在して使われていると
ブラウザ上部がHTTP://〜のURLになるページがでてきてしまうので、
HTTP://〜〜→HTTPS://〜のリンクへ全て書き換える必要があります。
記事ごとにリンクを一つずつ変えていくことも可能ですが、
数が多いときは時間がかかるので、
文字やリンクを一括で変えるため
WordPressでは「Better Search Replace」のプラグインが使えるようです。
(「Search Regex」というプラグインも有名なようですが、
2022年2月現在、1年以上未更新となっているようです。。)
プラグインを有効化後、管理画面 >「ツール」> 「Better Search Replace」から、
下記のように設定します。
- 「検索」の箇所に、置換したい文字( http://〜 .com など)を記入
- 「次と置換」の箇所に、置換後の文字( https://〜.com など)を記入
- 「テーブルを選択」は全選択
- 「大文字小文字を区別しない」は、チェックで区別をせずに置換可能です
- 「dry run」は実際に置換を行う際はチェックを外す
実行後は、URLが置換されてHTTPS://〜となっているのが確認できると思います。
まとめ
色々と作業があるのと、
常時SSL化に対応していない場合のブラウザ警告も年々と目立ちやすくなっているようなので、
できれば、途中からするよりも
サイトを設置する最初の段階で常時SSL化をしてあげるのがおすすめです!