エックスサーバーでは(でも)無料のSSLが利用できるので、最近は常時SSLが一般的になっていると思います。WordPressをインストールしたら即SSL化(https化)するのはもはや当たり前でしょう。
でも、うっかり忘れがちなのが非SSLからSSLへのリダイレクト。この設定をやっておかないと、httpとhttpsの両方でアクセスできてしまいます。どちらでアクセスしても同じコンテンツですから、サイトを見るという観点だけなら特段問題はありませんが、同じコンテンツが二つのURLで見えてしまうのはSEO的はおそらく好ましくはないと思います。
そこでリダイレクト。httpでアクセスが来たら、自動的にhttpsの方に転送するよう設定します。こうしておけば、httpの方はアクセスできませんので、そちらが検索エンジンにインデックスされることもありません。
設定方法は、エックサーバーのオンラインマニュアルにあります。
汎用的な記載で、かつ、サラッとした記述ですので、「知っている人なら分かるけど知らない人にはわかりにくい」かもしれません。そこで、ここではWordPressの場合を想定して実際の手順を図解します。
WordPressのインストールとSSL設定
まず、エックスサーバーでWordPressのインストールとSSL設定は実施済みとします。今回の話の主題はリダイレクトですから、ここまではできているのが前提です。
この状態でアクセスしてみます。まず、https(非SSL)。
続いてhttps(SSL)。
どちらでもアクセスできます。というか、できてしまいます。内容は同じです。これを、httpでアクセスされたらhttpsに自動的に(強制的に)ジャンプさせて、常にhttpsでアクセスされるようにしていきます。
WordPressでの設定
サイトのアドレスを変更
ログインして管理画面を開きます。
WordPressアドレスとサイトアドレスをどちらも「https」に変更します。
書き換えたら「変更を保存」を押します。
強制的にログアウトさせられます。
変更を確認
改めてログインします。
先ほど書き換えたとおりに「https」になっていればOKです。
エックスサーバーでの設定
続いて、エックサーバー側での作業です。
.htaccessの編集
設定対象のドメインを目的のものに変更し、管理画面の「.htaccess編集」を開きます。
「.htaccess編集」のタブを開きます。
ここに、マニュアルで指定されている内容を書き加えます。一応、書き出しておきます。
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
これで、.htaccessの先頭に書き加えます(コピペでOK)。
緑の枠で囲った部分が書き加えたものです。「確認画面へ進む」を押します。
内容を確認し、「実行する」を押します。
これで設定完了です。
動作確認
httpでアクセスしてみます。httpsの方が開けばOKです。
ちなみに、上の図はFirefoxの場合です。Chromeだと下のようにhttpsも省略されてしまいます。
いずれにしても、オムニバー(アドレスバー)に鍵がかかったアイコンが表示されるのでhttpsだと判断できます。