エックスサーバーで運用しているWordPress(テーマはSimplicity)をSSL化(https)したのでその手順を公開します。途中サイトが表示されなくなり、結構焦りました。。。。
目次
なぜ、WordPressサイトをSSL化するのか?
個人ブログで決済情報などの盗聴リスクもないし、SSL対応しなくて良いかな?と思いまいしたが以下のようなメリットがあると思い踏み切りました。
- セキュリティ強化:決済情報はないとはいえ、踏み台にされるなど何か起こってからでは遅い
- SEOに有利:Googleが推奨しています。
- ユーザーへの安心感:気にされる方は気にされます。
それではSSL化やっていきます。
バックアップを取る(私の場合、エックスサーバーの自動バックアップがあったので実は気にしていませんでした)
エックスサーバーで独自SSL設定を行う。
WordPressの設定からURLを変更(http:// -> https://)
.htaccessファイルにhttpsへのリダイレクトコードを追記する。
Search Regrexプラグインを利用して、内部のリンク(http:// -> https://)を変更する。
httpsアクセスとなっているかを確認する。
バックアップを取る
エックスサーバーでは自動バックアップがされているようなので、私は無視しました。データベースのデータを取っておきたい場合は、WordPressのプラグイン等で取っておくことをお勧めします。
エックスサーバーで独自SSL設定を行う。
エックスサーバーのサーバーパネルへログインし、SSL設定を選択する。
すると、ドメイン画面選択画面が表示されるので、対象のドメインを選択します。
次の画面で「独自SSL設定の追加」タブを選択します。
独自SSL設定の追加タブでは特に変更せずに、「独自SSL設定を追加する」を選択します。すると、「SSL新規取得申請中」なるメッセージが表示されます。
私の場合は以下のようなエラーが表示されてしまいました。
私の場合は、ネームサーバーの設定を変更したら、正常にSSLの設定をすることができました。
詳細は、エックスサーバーの以下のマニュアルを参照ください。
https://www.xserver.ne.jp/manual/man_domain_namesever_setting.php
WordPressの設定からURLを変更(http:// -> https://)
次にWordPress側の設定を変更します。
WordPress管理画面に入り、「設定」-「一般」を選択する。
以下の項目のURLをhttpからhttpsへ変更する。
- WordPressアドレス(URL): http://XXXX -> https://XXX
- サイトアドレス(URL): http://XXX -> https://XXXX
.htaccessファイルにhttpsへのリダイレクトコードを追記する。
これまでのhttpのURLからhttpsのURLへリダイレクトさせるために、エックスサーバーにFTPでログインして、.htacessファイルを修正します。
*リダイレクト設定をしていないと、検索エンジンの評価が初期化されたり、その他外部サイトでリンクされている場合にリンク切れとなったりしてしまいます。
.htaccessファイルは以下にあります。public_htmlフォルダ直下のファイルです。
/home/サーバーID/ドメイン/public_html
こちらをデスクトップ等にダウンロードします。念のためファイル名を変更してバックアップを取っておきます。
*.htaccessファイルは非常に重要なファイルで、最悪ブログが表示されなくなってしまいます。
.htaccessファイルを開き、
以下を先頭にコピーします。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
更新した.htaccessファイルをpublic_htmlフォルダ内へ上書きします。
完了したら、リダイレクトされるか確認してください。
変更前のURLをhttp://XXXXをブラウザで入力してみて、正常にhttps://XXXXXへリダイレクトされたら成功です。
私の場合は、以下のエラー画面が表示されてしまいましたが、しばらくすると正常に表示されました。おそらくエックスサーバー側でのSSL化の設定の反映中だったのでしょう。1時間ほどすると、勝手に使えるようになっていました。
無効なURLです。
プログラム設定の反映待ちである可能性があります。
しばらく時間をおいて再度アクセスをお試しください。
Search Regrexプラグインを利用して、内部のリンク(http:// -> https://)を変更する。
すでにphpファイルにはhttp://xxxx で記載された箇所があるので、https://xxxxxへ更新します。
一括更新にはSearch Regrexプラグインが非常に便利です。
以上でSSL化設定自体は完了です。
httpsアクセスとなっているかを確認する。
最後にWordPressのサイトがhttps化されたかどうかを確認します。
Chromeを利用している場合は、WordPressのサイトを見た時にURL欄の左側が以下の通りとなっているかを確認します。
SSL化できていない場合、上記のようになっていません。
最後に以下のサイトでURLを忘れずに追加・変更を忘れずに、、、、
- Google Analytics
- ウェブマスターツール