【さくらサーバー】WordPressの既存サイトをSSL化した時のメモ

chrome68になるにあたり、いよいよSSL化の必要に迫られてきた今日この頃。この度遅まきながら当ブログ(と所有サイト)をSSL化してみたので手順をそれとなく残しておく。

chrome68から、SSL化をしていないだけで警告が表示されるように

いよいよGoogleが本気。Chrome 68から全HTTPサイトに警告!

『企業Webサイト襲う「7月危機」』
そんな見出しも見るようになってきた。

これまでもSSL化の必要性を感じることはあったし、お仕事でもちょいちょい話に出てきたりしてたけど、自分のブログのSSL化は面倒で後回しにしていた。
もう少し時間が経てばより簡単にSSLを導入できるようになるだろうって思ってたのもあったけど。

とにかく、今後SSL化の需要はもっと高まってくるだろうし、個人的なサイトで色々やってみて慣れておいた方がいいだろうってことで、導入してみた。

いつものことながら、最近のWebサーバーのサービスやマニュアルは充実していて、慣れたら割とサクッとSSL化できるような気がした。案ずるより産むが易し。

ちなみに今回は自分の環境であるさくらサーバーでのやり方をメモしているけど、大手のレンタルサーバー屋さんであれば手順はそれほど違わないようだ。

無料SSLか、有料SSLか

まずは用途によって使用する証明書の種類を選ぶ。

  • とにかくHTTPS化できて警告文が表示されなければいい
  • コンタクトフォームくらいしか情報を入力するページがない
  • 個人で所有・運営しているサイトだ

っていう場合は無料SSLで十分かなって雑感。

無料証明書と有料証明書の違い

認証レベルが3段階あって、上がるほど高額になる。

SSLサーバー証明書の違い

手順について

どちらを選ぶかで微妙に手順が違う。
といっても無料SSLの方は「let’s encrypt」っていうところの証明書を使い、ほぼワンタッチでSSL化できる。

SSL化後の作業は無料でも有料でも共通で、

  1. アナリティクスのURLの設定変更
  2. サーチコンソールのURL設定とサイトマップ再登録
  3. 画像、サイト内リンクのhttp:// をhttpsに変更
  4. http宛のアクセスをhttpsへ 301リダイレクト設定
  5. (WordPressの場合)管理画面の設定でURLを変更

というものがある。

上記共通の手順については後述するが、さくらサーバーであればこのうち3番目〜5番目の手順はプラグインを使って対応できるようだ。

SSL化:無料SSLの場合

無料って聞くと身構えてしまうけど、「let’s encrypt」っていう証明書の運営はSSL(とか)を普及推進しているISRGという非営利団体で、スポンサーも大手がついているのでそこまで胡散臭くはない。

さくらサーバーの場合は、コンパネにログインして、、、
と長々と書こうとしたけど、公式のマニュアルがあったのでこっちを残す方が安全確実だ。

【無料SSL】サーバコントロールパネルからの導入手順

え、こんなに簡単にSSLが?

SSL化:有料SSLの場合(JPRS ドメイン認証)

こちらも懇切丁寧なマニュアルがあるのでこれを参照。

【JPRS ドメイン認証型SSL】サーバコントロールパネルからの申込み・導入手順

コンパネから申し込みすると、支払い確認後に自動で証明書がインストールされるので、面倒な作業が少し減るのね。

少しつまずいたところ:ドメインのWhois情報を確認

近頃ネット上に個人情報を載せたくないっていう人が多いのか、Whois代行っていうサービスがあってドメイン業者が代行してくれる場合がある。

SSL証明はドメインに対する信頼性についても審査を行う場合が多く、ここの情報がちゃんとサイトの運営者のものになっている必要がある。

ちゃんとWhois情報に自分の情報が入力されているか確認して、必要に応じて修正する。

もちろんWhois情報代行の設定解除も忘れないように。

WHOIS検索
お名前.comのドメインはこちらからでも調べられる

少しつまずいたところ:CSRの作成

「会社名」を入力するところ。個人の場合どうすんねん。って思ったけど、Whoisの名前のところ(sei mei)で問題ないみたい。

自動更新に対応してないようなので一応更新手順も残しておく。
【JPRS ドメイン認証型SSL】サーバコントロールパネルからの更新手順・インストール手順

SSL化後の作業(有料・無料共通)

外部サービスで登録しているURLの変更

サイト外のURLを変更する。
例えばGoogleアナリティクスとか、サーチコンソールとか。

画像、サイト内リンクのhttp:// をhttpsに変更

サイト内のURLを変更する。
しないと同じサイトなのにサイト内リンク先はSSL化されてないみたいな挙動になったりよくわからんことになる。
データベースを書き換えるんだけど、SQL文でやるとシリアライズ化されたURLの文字数が変わってしまうために不具合が起きる場合もあるらしいので、シリアライズされた文字列も置換できるスクリプトで対応する。

テストから本番へ!WordPressでURLが変わる場合のデータベース修正マニュアル

WordPress移行時にURLをSQLで直接一括置換はダメ! 「Search and Replace for WordPress Databases Script」を使おう

http宛のアクセスをhttpsへ 301リダイレクト設定

該当ドメインのルートディレクトリの.htaccessに下記を追記。

RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

※「# BEGIN WordPress」よりも前に記載する。

ちなみに何らかの事情でHTTPSからHTTPに飛ばしたいときは

RewriteEngine on
RewriteCond %{HTTPS} on
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

さくらサーバーで使えるプラグイン(2018/07/06時点WPバージョン 4.9.7では使えず)

【WordPress】常時SSL化プラグインの使い方

使い勝手を試してみたかったが、現在(2018/07/06時点)WPバージョン 4.9.7ではエラーが出てしまい、プラグインを有効化できず断念。

終わりに

さくらインターネット万歳!思ったより簡単にSSL化できました。
では、よいSSLライフを。