WordPressで作成したホームページやブログをHTTPS化するため、エックスサーバーの無料独自SSLを設定して、常時SSLに対応させる方法をご紹介します。
SSLとはサイトとサーバーとの間でやりとりする情報を暗号化して、安全に送受信するための仕組みです。サイトがSSLに対応すると、URLがHTTPからHTTPSに変わります。
Googleはサイトの常時SSL化を推奨するとともに、常時SSL化は検索順位の評価対象になると公表しています。また、最近はサイトが常時SSL化されていない場合、ブラウザに「保護されていない通信」や「この接続は安全ではありません」と表示されるようになりました。
サイトがSSL未対応のままだと検索順位や信頼性に影響するので、早急にSSL化を進めましょう。
常時SSL化はサーバー側とWordPress側の両方に設定項目があります。今回はエックスサーバーで常時SSL化設定を行ったので、その手順をご紹介します。
常時SSL化の前に WordPressのバックアップ
サイト常時SSL化の前に、まずWordPressのバックアップを取りましょう。
http から https の変換を効率よく行うために、WordPressのデータベースを操作するプラグイン「Search Regex」を用いますが、この作業はリスクが伴います。
作業の手違いや修正ミスがあった場合でも、バックアップがあれば元に戻すことができます。大事なデータを守るため、Search Regex を使う前にバックアップを取るようにしてください。
WordPressのバックアップは簡単に作業できるプラグインの利用をオススメします。
バックアップ用プラグインは「All-in-One WP Migration」「Duplicator」「BackWPup」などがありますが、個人的に一番簡単だと思うのは「All-in-One WP Migration」ですね。
All-in-One WP Migration の使い方は以下の記事を参照してください。

常時SSL化 サーバーの設定
ではサイトの常時SSL化を進めていきます。まずはサーバー側のSSL設定です。エックスサーバーでは無料で使える独自SSLに対応しているので、これを利用してサイトを常時SSL化します。
まずはエックスサーバーのサーバーパネルにログインして、ドメインの「SSL設定」をクリックします。
ドメイン選択画面からSSLを設定するドメインを選択します。
上のタブで「独自SSL設定追加」を選び、サイトから設定対象ドメインを選択して「追加する」をクリックします。「CSR情報(SSL証明書申請情報)を入力する」はチェック不要です。
サイトURLの頭にwwwが付いていますが、wwwなしのサイトでもちゃんとアクセスできるので、気にせずこのまま進めてください。
しばらくすると、対象ドメインに独自SSL設定が追加されます。「設定の反映完了まで最大1時間程度かかります。」とありますが、実際は20~30分ほどで反映されますよ。
サーバー側のSSL設定はこれで終了ですが、まだ設定が反映されていないので、URLをhttpsに変えてアクセスしても「安全な接続ではありません」と表示(Firefoxの場合)されます。
しばらく待つとhttpsでアクセスできるようになり、アドレスバーの左側にSSL接続を示す鍵マークが表示されますが、WordPress側の設定が不十分なので警告マークが付きます。
WordPressのページ内にある画像等のパスはまだ http のままですが、全て https に変換すると安全な接続を示す緑の鍵マークに変わります。
常時SSL化 WordPressの設定
続いてWordPress側の設定です。作業内容はWordPress内のアドレスや画像、リンクのURL表記を http からすべて https に変更します。
まずは左ダッシュボードの「設定」→「一般」に進み、「WordPressアドレス(URL)」と「サイトアドレス(URL)」を http から https に書き換えます。
下の「変更を保存」をクリックするとログイン画面に切り替わるので、再度ログインします。
次に投稿や固定ページ、テーマファイル内にある画像などのURLをhttpsに変換します。
以下のような画像のパスやリンクURL等は全て変換の対象ですが、一ページずつ手作業でチェックするのは大変だし、ページ数が多い場合は変換にものすごく時間がかかります。
そこで、WordPressのデータベース全体を検索して、対象となる単語を一気に変換できるプラグイン「Search Regex」を使いましょう。
Search Regexの詳しい使い方は以下の記事をご覧ください。

「プラグイン」→「新規追加」から、Search Regex を検索してインストールします。
Search Regexは左メニューの「ツール」から操作します。まずはサイト内に変換対象となる http がどれだけあるか検索してみましょう。
Search pattern から「http://●●●●.com」と入力して「Search」します。「●●●●.com」の部分は変換対象のサイトURLを入力してください。その他項目の変更やチェックは不要です。
「http」だけで検索すると、説明用の語句やhttps化されていない外部サイトへのリンクなど、変換の必要がない部分まで表示されるので、対象サイトのURLは全て入力します。
検索結果が表示されました。関係ない語句やURLが含まれていないか確認してください。
問題がなければ、サイト内の http を https に変換しましょう。
Search pattern に変換対象のURLを入れ、Replace pattern に変換後のURLを入力して「Replace」をクリックします。
変換対象が赤で表示されます。ちゃんと http が https に変換されることが確認できました。
あとはこの変換を確定させるため、「Replace & Save」をクリックします。
あっという間に http が https に変換されました。すばらしい・・・
次に検索条件を変えて、残りの http を変換します。Source を「Post meta value」に変更、変更前と後のURLを入力して「Replace」をクリックします。
残りの http が表示されるので、確認してから「Replace & Save」をクリックします。
これで投稿や固定ページ内の http はだいたい変換できました。
テーマ設定の画像URLを変換
WordPressのテーマの中には、テーマ設定項目からロゴや背景、アイキャッチ、スライダーなどの画像をアップロードできるものがあります。ここで設定した画像のURLはSearch Regexで変換できない場合があるので、別途修正する必要があります。
テーマ設定からアップされたサイトロゴやスライダーの画像パスを https に修正します。
URLを変更したら保存をお忘れなく。
他にもカスタマイザーやウィジェット、メニューで入力した画像やリンクのURLがないか確認してください。
大抵のサイトはこれで通常の鍵マークに変わり、SSL接続になるはずです。
jqueryのギャラリーやスライダーに注意
ただし、Firefoxで見ると緑の鍵マークに変わっているのですが、サイト情報には「このページの一部が安全でないため Firefox がブロックしました」と表示されました。
この場合は jquery や css などの外部ファイルに原因があるかもしれません。
このサイトには jquery のライトボックスと画像ギャラリーが実装されていたのですが、常時SSL化すると動作しなくなりました。
テーマファイルを見ると、ヘッダーとフッターに jquery と css の読み込みコードがあったので、https に修正すると「安全な接続」に変わり、ライトボックスと画像ギャラリーも動作するようになりました。
サイト内で jquery のスライダーやライトボックス等を使っている場合は、テーマファイルに記載された外部ファイルのパスを https に変更してください。
常時SSL化 最後のページチェック
ここまでやったら、アドレスバーの鍵マークは緑になっているはずです。あとは全てのページをチェックして「保護された通信」「安全な接続」かどうかを確認してください。
ただ、ページによっては警告付き鍵マークのままかもしれません。この場合は画像やスクリプト等を外部から引用していないか確認してください。
サイトの常時SSL化は画像等のコンテンツを自分のサーバーから配信するのが基本なので、修正するなら引用をストップして、自分のサーバーにアップし直してください。
あとはGoogleアナリティクスに登録したサイトURLもhttpsに変更しておきましょう。
Googleアナリティクスに追加したサイトURLの変更方法は、以下の記事を参照してください。

WordPress常時SSL化 まとめ
最近はChromeやFirefoxなどのモダンブラウザで常時SSL化されていないサイトにアクセスすると、警告が表示されるようになりました。
サイトが常時SSL化されていないと検索順位や信頼性に影響するし、警告を見るとあまりいい気はしないので、早急に常時SSL化を進めてください。
エックスサーバーは無料の独自SSLに対応し、サーバー側の設定もそれほど難しくありません。常時SSL化するならオススメのサーバーですよ。