さくらサーバー+WordPressでSSL化する

突然ですが、このサイトをSSL化しました。
サイトのアドレスは「http://~」から「https://~」になっています。

iPhoneのブラウザ(safari)で「安全ではありません」の文字が出るのがどうにも我慢できなくて(笑)、また今後のことも考えて、思い切ってSSLを導入することにしました。

さくらインターネットでは、独自ドメインに対してコントロールパネルから設定できる無料のSSLが利用できます。今回はそれを利用しました。

当サイトのサイト構成は次のようになっています。

  • 独自ドメイン設定:
    https://yakuway.com = http://****(さくらサーバーのアカウント).sakura.ne.jp/****(フォルダ)
  • WordPressのインストール先(WordPressアドレス):https://yakuway.com/****(フォルダ)
  • WordPressの公開先(サイトアドレス):https://yakuway.com

大まかな手順は以下のようになります。

  1. 万一に備えて、WordPressのバックアップを取る
  2. さくらインターネットのコントロールパネルで、「ドメイン/SSL設定」からSSLの申し込みをする
  3. さくらインターネットから完了通知のメールが来たら、自サイトに「https://~」でアクセスできるか確認する(トップ画面、管理画面とも確認)
  4. WordPressで「SAKURA RS WP SSL」プラグインを有効化する
  5. 「設定」から「SAKURA RS SSL」を開いてチェック項目を確認して実行する
  6. 一般設定で、サイトのURLとWordPressのインストールURLが「https://~」に書き換わっているか確認する(変わっていなかったら手動で書き換え)
  7. 投稿内にあるURLの書き換えを行うために「Search Regex」プラグインを導入し、「http://~」を「https://~」に置換する

基本、これでうまくいくはずなのですが、完了してから「http://~」にアクセスしたところ、自動的に「https://~」へとリダイレクトされません。おかしいと思ってFTPで確認すると、.htaccessファイルが書き換わっていませんでした(更新時刻がインストール時のままだった)。

理由はちょっとわからないのですが、.htaccessファイルのアクセス権限だったりサーバーのPHPのバージョンだったりが関係しているのかもしれません。とにかく手動で直すほかはないので、独自ドメインの直下とWordPressをインストールしたフォルダ直下の.htaccessファイルに下記さくらインターネットのサイトにあるような修正を施しました。

さくらのサポート情報
【WordPress】常時SSL化プラグイン トラブルシューティング
https://help.sakura.ad.jp/hc/ja/articles/115000051662--WordPress-%E5%B8%B8%E6%99%82SSL%E5%8C%96%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3-%E3%83%88%E3%83%A9%E3%83%96%E3%83%AB%E3%82%B7%E3%83%A5%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0
対象サービス・プラン 本ページでのご案内は、さくらのレンタルサーバ 常時SSL化プラグインの動作が上手く行かなかった場合のものになります。 プラグインの設定方法についてはさくらのレンタルサーバ 常時SSL化プラグインの使い方をご確認ください。SSL化したけど、...

さらに、いくつかの点を手動で修正しなければなりませんでした。

完全にSSL化されると、ブラウザのサイトアドレスの頭部分に鍵マークがついて、安全な接続であることが表示されますが、ページの一部にSSLでないコンテンツ(http://ではじまるコンテンツ)を読み込んでいると鍵マークに警告が付き「この接続は安全ではありません」のような表示が出ます。プラグイン内で元のURLのままの画像を呼び出している場合や、スタイルシートなどで元のURLの画像を読み込んでいる場合などが該当すると思います。詳細はブラウザの開発コンソール画面等で確認しました。

私の場合は、以下のような手作業が必要でした。

  • テーマのウィジェットで設定した画像(3PRやプロフィールウィジェット等)を、それぞれのウィジェット画面から設定しなおす
  • 子テーマのスタイルシートで直接呼び出していた画像のURLを「http://~」から「https://~」に書き換えて保存
  • Pz-LinkCardの管理画面から、すべてのリンクを「キャッシュから削除する」にして、古いキャッシュデータを読み込まないようにする

なお、この方法でSSL化した場合、「SAKURA RS WP SSL」プラグインはずっと有効化したままにしておかなければなりません。