インターネット上では様々な情報のやり取りがされていて、中には個人情報もたくさんあります。
そういった情報が悪意ある第三者に盗み見されたり、改ざんされたりするのを防ぐため、ブラウザとサーバー間でのデータ通信を暗号化して送受信させるための仕組みを「SSL(Secure Sockets Layer)」といいます。
また、SSLによって暗号化されたプロトコルは「https(HyperText Transfer Protocol Secure)」といい、アクセスしたサイトのURLの先頭が「https」から始まっていれば、そのサイトに送信する情報は暗号化されて保護されていることになります。
Chromeの場合、以前は緑色で鍵マークと保護された通信という文字が表示されていましたが、現在は鍵マークだけ表示されるみたいです。
GoogleがHTTPS対応していないサイトは安全ではないと表示すると発表したこともあり、多くのサイトが「http」から「https」に対応させるようになりましたが、まだSSL化していないサイトもよく見かけます。
今回はWordPressのサイトをhttpsに常時SSL化させる方法を紹介します。
なお、サーバーでもSSLの設定をする必要がありますが、こちらはサーバーによりますので、今回は説明を省略して、サーバーでの設定が終わっている状態を前提として話を進めたいと思います。
バックアップを取る
最初に念のため、バックアップを取っておきましょう。
FTPでファイルをダウンロードして、phpMyadminなどでデータベースのエクスポートする方法もありますが、なかなか面倒なので、今回は「BackWPup」というプラグインを使ってデータベースだけバックアップを取っておくことにします。
プラグインをインストールして有効にすると、左側のメニューに「BackWPup」が表示されます。
バックアップの取得方法は簡単で、「1クリックバックアップ」の「データベースのバックアップをダウンロード」ボタンをクリックするだけで、データベースをダウンロードできます。
WordPressのURL設定をする
次にWordPressにログインし、「設定」→「一般設定」でURL設定を行います。
変更するところは「WordPressアドレス(URL)」と「サイトアドレス(URL)」の2箇所で、「http」になっている部分を「https」に変更するだけです。
内部リンクをhttpsに書き換える
WordPressのURL設定を変更するだけではSSL化は不完全で、サイト内に残っている「http://〜」をすべて書き換える必要があります。
はじめて、SSL化をしてみたときにうまくいかなかった原因もこれでした。
書き換えるのはたとえば内部リンクや画像のリンクなどですが、すべてのページのこれらのURLを手動で書き換えるのはあまり現実的ではありません。
そこでプラグインやツールを使って一括で変更するといいでしょう。
以前は「Better Search Replace」というプラグインを使いましたが、今回は「Search Regex」というプラグインを使いました。
「Search Regex」をインストールして有効化すると、「ツール」内に「Search Regex」が出てきますので、そこでリンクを書き換えます。
「Search pattern」には「http」のURLを入力し、「Replace pattern」には「https」のURLを入力します。
なお、「Search pattern」と「Replace pattern」以外は変更しなくて大丈夫です。
「Replace」ボタンをクリックするとどのように置換されるかが出てくるので、問題なければ「Replace&Save」ボタンをクリックします。
これで内部リンクはすべて「https」に書き換えられました。
WordPressのSSL設定は以上になります。
リダイレクト設定(301リダイレクト)
WordPressのSSL設定は完了しましたが、常時SSLにするにはリダイレクト設定が必要です。
現状、「http」でも「https」でもアクセスができるようになっているので、「http」にアクセスしたときに「https」にURLが転送されるようにしなければいけません。
常時SSL化をするには「.htaccess」ファイルに以下を記述します。
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
これで301リダイレクトでURL転送されます。なお、example.comの部分は対象サイトのURLに書き換えてください。
WordPressサイトを常時SSL化する
WordPressサイトを常時SSL化するために必要な作業としては以下の通りです。
- サーバーでSSL設定
- WordPressのURL設定
- 内部リンクの書き換え
- リダイレクト設定
SSL化って難しいのかなと思っていたかもしれませんが、意外と簡単にできますし、それほど作業量も多くないので30分もかからないと思います。
SSL化はユーザーの個人情報を保護したり、信頼の証でもあるので、必ずするようにしましょう。
関連記事
GoogleがHTTPS対応していないサイトは安全ではないと表示するらしい
https化したのにアドレスバーが緑色で表示されないときの原因と対策
Leave a Comment