無償でsslが使える「Let’s Encrypt」
使えるサーバー増えてきましたよね。
このブログで利用しているサーバーでもいつの間にやら使えるようになっていました。
暗号化する事によって通信の安全性が増すことと、
Google先生にも HTTPS化 したら?
と言われ続けてきたので早速設定してみたいと思います。
ランキングにも多少影響するとアナウンスしているようですし、やっていおいた方がいいよね。
サーバー側の設定
当サイトは minibird で運用しています。
※現在は StarSever に生まれ変わり、旧サービスへの申込は終了しています。
ということで以下は minibird での設定です。
他社サービスは適宜読み替えるなり、オフィシャルのヘルプにあたるなりしてください。
SSLの設定
管理画面へログイン後、
サーバー管理ツール > SSL設定 から、
設定を行うドメインを選択する。
その後「無料独自SSL」タブから「独自SSL設定を追加する」ボタンをクリックしてしばらく待てばOK.
(数秒から数十秒かかりました)
これで1時間くらいしたら https でアクセス出来るようになっています。
なお設定が反映される前でもアクセスは可能ですが、ブラウザによる「不正なセキュリティ証明書」に関する警告画面が表示されます。
ちなみに共有SSLを設定していると独自SSLの設定ができません。
一旦設定を削除してからやり直す必要があります。
参考URL:無料独自SSLが設定完了するまでの流れ(minibird)
WordPressの設定変更
次にWordPress側の設定を変更します。
バックアップを取っておきましょう。
「All-in-One WP Migration」を使っています。
あとCache系のプラグインを使っていたら念のため停止を。
1、URLの変更
WordPressにログインしたら
設定 > 一般設定 から
- WordPress アドレス (URL)
- サイトアドレス (URL)
以上2箇所を変更します。
http:// → https://
2、記事内のURLを変更
WordPress自体のURLが https に変更されたからと言って、かつて投稿した記事内のURLまでは変更されません。
文字列として置き換える必要があります。
こちらは「Search Regex」というプラグインで対処。
インストールして有効化。
「ツール」メニューの下に出てきます。
「Search pattern」に http://自分のドメイン.com
「Replace pattern」に https://自分のドメイン.com
「Replace」ボタンを押して確認したら、「Replace & Save」ボタンで置き換え。簡単。
自分のところでは問題なく動作しましたが、(WordPress 4.9.2–ja、2018.02.01時点)
このプラグインの最終更新は2年前。
検証済み最新バージョンは 4.5.13 という事で、もしかしたら環境によっては問題が発生するかもしれません。
万が一問題が発生したときは
- 一旦バックアップから復旧
- 他のプラグインを全て停止してから当該プラグインを有効化し、変更
- 作業後に停止し、他のプラグインなどを復活させて環境を整える
等の対処法でよろしいかと。
要は一度、記事中の http を https に書き換えさえすればいいので。
一つ一つ手で修正することも出来ますけど・・・
常時SSL化の為の.htaccess
これまででWordPressのHTTPS化(SSL暗号通信化)自体は出来ているはずです。
あとは http でアクセスしてきたものを https に転送(リダイレクト)させるだけ。
FTPソフト等でサーバーにアクセスし .htaccess をダウンロード。
念のためバックアップとしてコピーをとった上で、
RewriteEngine On RewriteCond %{HTTPS} !on RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
を一番上に書き込みます。
(2行目)リクエストが https じゃない場合に、
(3行目)https に書き換えてリダイレクトさせる
という内容です。
参考URL:Webサイトの常時SSL化(minibird)
最終確認
テーマ内で使用している画像などのメディアが http になっていないか確認しましょう。
ブラウザのURL欄などにある鍵のマークで確認できます。
https と http が混在していると警告されているはずなので一つ一つ修正して行きましょう。
css内に書かれたURLが http になっている事が多いです。
Google Search Console,Analytics等の変更
その他のサービスで必要なものを変更しておきましょう。
Google Search Console
Google Search Consoleは https のアドレスとして新規に登録する必要があります。
ログインしたら ホーム画面 の右上にある「プロパティを追加」から追加します。
https から始まるURLを入力
サイト所有者の確認はやりやすいもので認証してください。
認証が完了したらサイトマップを送信しておきましょう。
以前の httpサイト設定はすぐに削除せず、しばらく経って完全に切り替わってからの方が良いようです。
データが見れなくても困らないならすぐに削除しても問題ありません。
Google Analytics
管理 > プロパティ設定 から、
「デフォルトのURL」の部分を https に変更しましょう。
「Search Consoleを調整」も https の方へとリンクを貼ります。
基本的にはこれだけです。
その他
その他使っているツールで変更の必要があれば変更します。
まとめ
昨年の契約更新直前くらいに新しいサービス(StarServer)に移行するというアナウンスがありました。
その時はまだ無償でのSSL化が出来なくて、サーバの移転も考えていたのですが、
「そのうち従来の契約者にも対応するよ!」って言うから待ってました。
でもまだかなまだかな〜なんてチェックしていても全然導入されない。
このままじゃ次の更新が来ちゃうんじゃないの?って思いつつ、
いつしかチェックもしなくなり・・・。
で、今日気がつきました。
しかも1ヶ月前くらいに始まってる!
(メールでアナウンスくらいしてくれればいいのに・・・)
ま、ということで遅ればせながら本日作業してみました。
一応備忘録としてまとめておきます。
コメント