今回、さくらインターネットのレンタルサーバーで、無料SSLを利用しWordPressで構築したサイトのSSL化を行いました。
どのレンタルサーバーでも、それぞれ独自仕様がありますが、さくらのサーバーにおいてもさくら独自の仕様により、SSL化に伴い、若干手間取った点が、何点かありましたので、これから、さくらのサーバーでSSL化を行う方の参考のため、そして自分自身の備忘録も兼ね、掲載したいと思います。
WordPressのSSL化の手順
今回、WordPressのSSL化にあたって、大まかに下記手順で行いました。
《SSL化の手順》
①WordPressのファイルおよびデータベースのバックアップ
②さくらのサーバーのコントロールパネルより、対象ドメインに対し無料SSLを設定
③SSL設定完了後、サイトの表示確認
④.htaccessファイルにて、SSL化後のURLに301リダイレクトの設定
⑤WordPressの管理画面にて、[WordPress アドレス (URL)]と[サイトアドレス (URL)]をhttps://~で始まるURLに変更
⑥WordPressのサイト記事内の内部リンクのURLをhttps://~で始まるURLに変更
⑦Googlサーチコンソールにて、https://~で始まるサイトのプロパティを新規登録
⑧https://~始まるURLに変更したサイトマップをアップロードし送信
⑨サーチコンソールの新旧URLのプロパティの「Fetch as Google」にて、両サイトのクロールを促進
なお、WordPressファイルのバックアップには、「FileZilla」を使用しました(詳しくは⇒「ファイルの転送速度が遅いと感じた時に便利なFTPソフト」を参照)。
さくらのサーバーでSSL化する際の注意点
それでは、今回、さくらのサーバーでSSL化を行った際に、若干手間取った点など注意しておいた方がいい点を挙げてみたいと思います。
さくらのサーバーでは、無料SSL登録に若干時間がかかる
さくらのサーバーで無料SSLを設定するには、コントロールパネルの右メニュー[ドメイン/SSL設定]⇒対象ドメインの証明書[登録]ボタンをクリック⇒[無料SSLの設定に進む]⇒[無料SSLを設定する]ボタンをクリックすれば手続き完了です。
その後、さくらのサーバーでは、SSLの設定が完了したら、登録してあるメールアドレス宛てに完了の通知が届くようになっています。
他のサーバーでは、設定完了まで約5分程度とすぐだった記憶がありましたので、そのぐらいかなと思っていたら、メールが届くまで約15~20分程度かかりました。
なので、そのぐらいの時間はあらかじめ考慮しておいた方がいいかと思います。
さくらの常時SSL化プラグインについて
上述のSSL化の手順で記載したように、WordPressのSSL化にあたっては、[WordPressアドレス(URL)]と[サイトアドレス(URL)]の書き換え、記事内の内部リンクのURLの書き換え、そして、SSL化したURLへの301リダイレクトといった手順が必要です。
SSL化したURLへの301リダイレクトをしないとhttp://とhttps://の2つのURLが存在したままになり重複となってしまいますので、SEOの観点からもリダイレクトは必須です。
また、[WordPressアドレス(URL)]と[サイトアドレス(URL)]の書き換えと記事内の内部リンクのURLの書き換えについては、SSL化後、ページ内のサイトURLがhttp://のままになっていると、完全なSSL化とみなされず、ブラウザ上部に正常な鍵マークが表示されませんので、必須の作業です。
しかし、特に記事本文中の内部リンクのURLの書き換えは、記事数が多ければ多いほど、膨大な作業になってしまいます。
そこで、さくらでは、WordPressのSSL化にあたって、こうした作業を一括で行ってくれる「常時SSL化プラグイン」が用意されています(詳しくは⇒さくらの公式サイト「常時SSL化プラグインの使い方」を参照)。
非常に便利なプラグインですが、いくつか前提条件があり、その中でも以下のような条件があります。
●PHPバージョン5.6、7.1でのみ動作
●他社レンタルサーバでの動作はいたしません
私の場合は、PHPのバージョンが古く、バージョンアップしてもいいのですが、その際、万が一、不具合が発生すると嫌だなと思った点、そして、他のサーバーでは使えないという点が少し引っかかりました。
その他、さくらのサポート担当者によると、常時SSL化プラグインといっても、プログラム的にSSL化後のURLを表示させるというもので、上述のように実際にURLを書き換えるわけではないとのことでした。
今後、万が一、他サーバーへ移転したら、再度、書き換えやリダイレクト設定などをし直さなければならない事を考慮すれば、この時点で手動でやってしまおうと思い、今回は、この「常時SSL化プラグイン」は使用しませんでした。
そのかわり、記事内の特定の文言の一括変換ができるWordPressのプラグイン、「Search Regex」を使って内部リンクのURL変更を一括で行いました。
PHPのバージョンについては、もし古いバージョンでも、さくらのコントロールパネル上で、ワンクリックでバージョンを変更できますし、他社のレンタルサーバーで使用する予定が無いという方の場合は、とても便利なプラグインですので、使ってみてもいいのかもしれません。
また、これ以外にもWordPressのプラグインとして、探せば同じような常時SSL化プラグインがあると思いますので、そういったものの使用を検討してみてもいいかもしれません。
さくらでは一般的なリダイレクトの記述とは異なる
上述のように、今回は、常時SSL化プラグインは使わずに、手動でSSL化したURLへのリダイレクトを行ったわけですが、その際、.htaccessファイルへのリダイレクトの記述内容も一般的なものとは異なり、さくら独自の記述をする必要がありました。
《一般的なSSL化したURLへのリダイレクト記述》
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
他のサーバーでは、この記述で大丈夫だったのですが、さくらでは、以下のような記述になります。
《さくらでのSSL化したURLへのリダイレクト記述》
SetEnvIf REDIRECT_HTTPS (.*) HTTPS=$1 <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{ENV:HTTPS} !on RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] </IfModule>
※詳しくは⇒さくらのサポートページを参照。
なお、このリダイレクトの記述の位置ですが、どのレンタルサーバーに関わらず、WordPressの場合は共通なのかもしれませんが、以下のように必ず、WordPressに関する記述の前に記述します。
# さくらのリダイレクト記述 SetEnvIf REDIRECT_HTTPS (.*) HTTPS=$1 <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{ENV:HTTPS} !on RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] </IfModule> # BEGIN WordPress <IfModule mod_rewrite.c> ○○○○○ ○○○○○ ○○○○○ ○○○○○ </IfModule> # END WordPress
WordPressの.htaccessファイルには、もともとデフォルトで、上記のように# BEGIN WordPress~# END WordPressで囲まれた内容がすでに記述されていますが、その後に上記のさくらのリダイレクトを記述した場合、サイトのトップページはSSL化したURLにリダイレクトされるのですが、下層ページはリダイレクトされないという現象が起きますので、注意が必要です。
無料SSLを設定後、解除するには?
一度、無料SSLを設定し、その後、何らかの理由で、SSLを解除したいという場合もあるかもしれません。
他のレンタルサーバーの中には、一度、SSLを設定した後は、解除できないものもあり、その場合には、ドメイン自体を削除し、再度、ドメインを登録しなければならないというものもあります。
しかし、さくらのサーバーでは、一度SSLを設定後も、簡単にSSLを解除できるので、万が一の場合でも便利です。
無料SSLの解除方法には、以下、2通りの方法があります。
一時的にSSLを解除する
SSLそのものを削除するのではなく、一時的に解除することができます。
まず、さくらのコントロールパネルで、[ドメイン/SSL設定]⇒解除したいドメインの[変更]ボタンをクリック。
ドメイン詳細設定ページの[4. SSLの利用をお選びください]の項目で、[共有SSL、SNI SSLを利用しない]にチェックを入れ、[送信]ボタンをクリックします。
これで、一時的にSSLが解除されました。
完全にSSL証明書を削除する
今度は、設定したSSL証明書自体を完全に削除する方法です。
同じくさくらのコントロールパネルで、[ドメイン/SSL設定]⇒解除したいドメインのSSL証明書の[更新]をクリックします。
独自SSLの設定の[SSL証明書の全削除]をクリックすると、証明書自体が削除されます。
全削除した状態から、再度、無料SSLを設定したい場合には、もう一度、最初の要領で、無料SSLの登録を行えば、利用することができます。
以上、さくらのサーバーでWordPressのSSL化を行う際に、事前に知っておいた方が良いポイントについてまとめてみました。
条件さえ合えば、さくらでは、さまざまな便利な機能が使えますので、それほど難なくSSL化を行えると思います。