さくらのレンタルサーバーでサイトをSSL化~httpからhttpsへ~www付きのドメイン(WordPress)

WordPress

先日、このサイトを常時SSL化しましたが、このドメインはwww.無しだったので設定がとても楽でした。

さくらのレンタルサーバーでサイトをSSL化~httpからhttpsへ~www無しのドメイン(WordPress)
Webサイト全体をHTTPS(暗号化通信)にする「常時SSL化」というのをよく見聞きします。 他に複数運営しているサイトもすべてhttp://~なのでやらなきゃいけないなと思っていたものの、変更...

上記リンクで常時SSL化したサイトの条件は、以下の場合です。

さくらのレンタルサーバースタンダード
・さくらのドメイン設定がwwwを付与せずマルチドメインとして使用する(上級者向け)になっている
・サイトをWordPressで構築している

この条件下でのSSL化はとても簡単でしたが、今回はwww付きの別サイトをssl化するのにあたり、「マルチドメインとして使用する(推奨)」という設定だったので少し手順が複雑でした。

やる前から、あー面倒臭そう、大変そう!と腰が重かったのですが、やってみると数時間で終える事が出来ました。

また同じ作業をする事があるかもしれないので覚書しておきます。また、WordPressで構築していないサイトは別ケースなのでまた後日やってみて追記します(.htaccsessを使います。)

スポンサーリンク

さくらレンタルサーバーでwww付きのドメインをSSL化する方法

さくらのレンタルサーバでは、独自ドメインを設定する際にwwwあり/なし両方のURLでアクセスが可能となる設定と、 最初からwwwなしで使用する設定の二通りの設定があり、ユーザーが選ぶ事ができます。

wwwあり/なし両方のURLでアクセスが可能となる「マルチドメインとして使用する(推奨)」で公開されているサイトをSSL化しようとすると、リダイレクト処理がループ(サイトの転送処理が繰り返される)してサイトが閲覧できないといった症状が出るようです。

なのでここでは、それを避けてSSL化する手順を説明します。

大まかな流れはこのようになります。

  1. www.有りのドメインを追加で新規登録
  2. 「www.」有り/無しのドメインの設定をそれぞれwwwを付与せずマルチドメインとして使用する(上級者向け)に設定
  3. 「www.」有り/無しのドメインのそれぞれのSSL登録を済ます
  4. さくらの常時SSL化プラグインでWordPress(ワードプレス)をSSL化
  5. https://www~のリダイレクト設定を.htaccsessで設定

また、運営中のサイトにすでに.htaccessを置いて、www有り/無しの正規化やスマートフォンサイトへのリダイレクト等を行っている場合、そのままさくらのプラグインを有効化するとリダイレクト処理がループすることになります。
なのでこの作業の前に、そのリダイレクト設定を解除しておきます。

それにより、問題が発生した時に原因が突き止めやすくなると思います。

私も、作業の前に以下の設定をクリアしておきました。

・すでに.htaccessで設定していた301リダイレクト(wwwありでアクセスした時にwww無しに飛ぶ)を消去
・サーチコンソールのリダイレクト設定(wwwありでアクセスした時にwww無しに飛ぶ)を無しに

では、順を追って作業を進めます。

1、www付きドメインを新規作成する。

まず、すでに登録してあるドメイン(wwwあり/なし両方のURLでアクセスが可能)がexample.comだとすると、新規にwww.example.comというドメインを追加します。

さくらのレンタルサーバのコントロールパネルにログインし、右側下の「ドメイン/SSL設定」をクリック。

「新しいドメインの追加」を選びます。

さくらインターネットでドメインを取得したドメインの場合は

「2.さくらインターネットで取得したドメインを使う」で設定したいドメインを選択し、「サブドメインを指定」のチェックボックスをONにして、「送信」をクリック。

「www」と入力して「www.example.com」のドメイン設定を作成します。

「5.他社で取得したドメインを移管せずに使う」場合は

「5.他社で取得したドメインを移管せずに使う」から「ドメインを追加へ進む」をクリック。

ドメイン名にwww.example.comと入力し送信をクリック。

これでwww.example.comが新規で追加されました。詳細設定に進みます。

2、新規登録したドメインの詳細を設定する。

ドメイン詳細設定で、「wwwを付与せずマルチドメインとして使用する(上級者向け)にチェックを入れ、マルチドメインの指定フォルダを現在 www.example.jp を運用しているフォルダに選択し、保存します。

3、追加したwww有りのドメインのSSL登録をする。

ドメイン一覧に新規追加したドメインが表示されるので、SSLの登録をクリックします。

「無料SSLの設定へ進む」をクリック。

「無料SSLを設定する」をクリック。

すると、以下のような「手続き中」の表示になるのでしばらく待ちます。私の場合は30分ほどで完了しました。

SSLの登録前はドメイン一覧ではこのような表示ですが

完了するとこのように表示されます。

では次に、元々のドメイン(www付きで新規追加する前の)も設定します。

ドメイン詳細設定で「wwwを付与せずマルチドメインとして使用する(上級者向け)にチェックを入れ保存します。

また、こちもドメインのSSL登録がまだでしたら登録します。

これで、wwwあり/なし両方のURLのSSL化は完了です。

これにより、wwwあり/なし両方のURLが「wwwを付与せずマルチドメインとして使用する(上級者向け)」の設定になったになったので、さくらのWordPress(ワードプレス)用の常時SSL化プラグインが使えるようになりました。

次はその設定をしていきます。

4、さくらの常時SSL化プラグインでWordPressをSSL化する。

以下の手順で、ワードプレスにさくらのプラグインをインストールして作業します。
さくらのレンタルサーバなら、さくらのマネージドサーバ上で稼働するWordPress(ワードプレス)にて、
常時SSLを有効にするプラグインを利用する事ができます。

このプラグインをインストールして有効化し、常時SSLを有効にすることで、面倒な.htaccessの編集や過去の投稿コンテンツの置換を全て自動で行うことができるのです。

プラグイン「さくらのレンタルサーバ 簡単SSL化プラグイン 」をインストール&有効化する。

WordPress管理画面 > プラグイン > 新規追加 を選択し、
キーワード検索に「さくらのレンタルサーバ 簡単SSL化プラグイン 」と入力します。

今すぐインストールをクリックしてインストールし、有効化します。

プラグイン「さくらのレンタルサーバ 簡単SSL化プラグイン 」の設定方法

WordPress管理画面 「設定」→「SAKURA RS WP SSL」で設定画面に入ります。

するとこのような設定画面になるので、設定していきます。
必ずチェック内容を確認し、チェックボックスを選択してから先に進みます。

1、SSL設定が完了しているかどうかの確認です。

当ページの手順ではさくらレンタルサーバーで無料SSL設定が済んでいるのでチェック。

2、利用しているSSL証明書の種類を選択。

利用しているSSLの種類がわからない場合は、さくらのコントロールパネルのドメイン設定で確認できます。
SSLの種別が「独自」になっている場合は独自SSL(IPアドレスベース)に、「SNI」の場合はSNI SSLになります。

3、実際にSSLを利用してサイトが表示されるか確認する。

表示されているリンクをクリックして、きちんとサイトが表示されるか確認できたらチェックを入れます。

4、SSL化を実行する。

すべてのチェック項目にチェックが済むと、下の方にある「SSL化を実行する」がクリックできるようになるのでクリックします。

※ここで不思議な動きをしたのでメモ。

「SSL化を実行する」をクリックすると再ログインを促され、ログインするとこのプラグインの設定画面が表示された。
入れたはずのチェックが外れていたので再度チェックを入れ、また「SSL化を実行する」を押すとまた再ログイン画面に。
そんな不思議な動きをしましたが、その後は結局、設定は無事に完了していました。

2回目の再ログイン後に普通の管理画面が表示されたので「設定」→「SAKURA RS WP SSL」で設定画面に入ります。

すると、下の方に常時SSL設定が有効化されています、と表示されていました。
これで無事に設定ができたようです!

そしてこのプラグインは、削除せずこのまま有効化して入れておきます。
このプラグインを実行する事で、以下の処理をしてくれます。

・サイトURL設定の変更
サイト内リンクのリンク先が、http://~からhttps://~に変更されます。

過去の投稿のURL書き換え
SSL化前に投稿した画像ファイルなどのURLがhttps://~に変更されます。

サイトURLのリダイレクト
http://~でのアクセスを、https://~にリダイレクトします

ですが、www付きのドメインをSSL化した場合、もうひと手間の作業があります。

4、.htaccessを設置する。

リダイレクト前は以下の4つのドメインでアクセス可能です。
当サイトのドメインの場合だと以下の4つのURLです。

https://michinari.work
https://www.michinari.work
http://michinari.work
http://www.michinari.work

以上にアクセスした時は、全てこのURLに転送するのが完成形です。

https://michinari.work

しかし「さくらのレンタルサーバ 簡単SSL化プラグイン 」がリダイレクトしてくれたのは「http」を「https」にという部分だけで、以下のように転送されただけでした。

〇 http://michinari.work → https://michinari.work
×   http://www.michinari.work → https://www.michinari.work
×   https://www.michinari.work → https://www.michinari.work

なので残りのwww.付きのドメインも正しく転送させます。

WordPressでブログを作ると、そのフォルダの一番上の階層に「.htaccess」というファイルがすでにできているので、それに追記する事で可能になります。

そのファイルをFTPソフトでダウンロードして編集してアップする方法もありますが、私の契約しているさくらのレンタルサーバーでは、コントロールパネルの「ファイルマネージャー」から直接「.htaccess」ファイルを編集できるので今回はそのようにします。

さくらのコントロールパネルにログインし、ファイルマネージャーから編集したい「.htaccess」ファイルを開き、以下を追記し保存します。

ちなみに、「.htaccess」ファイルには先に実行した「さくらのレンタルサーバ 簡単SSL化プラグイン 」のリダイレクト設定が以下のように追記されていました。

# BEGIN Force SSL for SAKURA
# RewriteしてもHTTPS環境変数を有効にする
SetEnvIf REDIRECT_HTTPS (.*) HTTPS=$1

# 常時HTTPS化(HTTPSが無効な場合リダイレクト)
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{ENV:HTTPS} !on
RewriteCond %{REQUEST_URI} !/wp-cron\.php$
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
# END Force SSL for SAKURA

httpにアクセスしたらhttpsに飛ばせ、ということでしょうか(あまりわかってません・・)
それはそのままにしておき、その下に以下のように追記しました。

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.michinari\.work
RewriteRule (.*) https://michinari.work/$1 [R=301,L]
</IfModule>

www.michinari.workのアクセスを、https://michinari.workに飛ばしてね、という命令です。

5、最後に確認を

飛ばす前のURLからアクセスして、無事に https://michinari.work に飛ぶことを確認できたら全て完了です。

サイトのSSL化・https対応にするとこんな良い事があるのでやっておきたいですね。

Google 検索結果におけるサイトのランクが向上します。
他の安全なウェブサイトからのトラフィックの正確な分析情報を利用できる。
トラフィックのハイジャック被害に対する安全性が向上します。

また、常時SSL化後にすぐにやっておきたいグーグル系の再設定は以下の記事で。

サイトをhttpからhttpsに常時SSL化した後にやるべきGoogle系の設定
このサイトをhttpからhttpsに常時SSL化しましたが、すでにhttp://のアドレスで登録してあるGoogle系の設定も変更が必要なのか一つ一つ確認する事にしました。今後、他のサイトも順次常時S...

さくらのレンタルサーバーで、最初からwww無しのドメインを使っている場合でワードプレスを使っている場合の常時SSL化はもっと簡単です。その場合はこちらをどうぞ。

さくらのレンタルサーバーでサイトをSSL化~httpからhttpsへ~www無しのドメイン(WordPress)
Webサイト全体をHTTPS(暗号化通信)にする「常時SSL化」というのをよく見聞きします。 他に複数運営しているサイトもすべてhttp://~なのでやらなきゃいけないなと思っていたものの、変更...