ようやくですが、WebサイトとこのブログをSSL化(https化)しました(汗)
以前から「https化はしなければな・・・」と思ってたのですが、アルバムも発売して一段楽したところなので、このタイミングで変更することに。
で、やってみたところ予想通り一筋縄にはいかない作業でしたね(汗)そこで、手こずった点を書き残しておこうと思います。
ちなみに、Webの方はサイトを作ってくださった方がSSL化してくれたので、自分は同じデータベース上で別WordPressのブログの方を作業しました。
PHP4からPHP7.3に変更。ブログ上にエラーが表示される
まず、SSL化する前にPHP4からPHP7.3に変更。この変更作業は自分はやっていないのですが、変更された途端ブログの全ページに警告エラーが表示されるようになりましたね(汗)ちなみにWordPressのバージョンは4.9です。
で、そのエラーをいつまでも出しておくわけにはいかないので、wp-config.phpの41行目くらいの
define('WP_DEBUG', true);
のtrueをfalseにしたら警告は消えました。警告内容は後で直すとして、これで落ち着いて作業できます。
WordPressにログインできなくなる
次に、SSLサーバ証明書発行の通知が来たので、手順通りWordPressのアドレス項目を、下の画像のようにhttpからhttpsに変更しました。
すると一度自動的にログアウト。で、再ログインしようとすると・・・・ログインできない!
結構焦りましたが、調べたらSSL設定をしてからURLに浸透するまで1時間ほどかかるそうです。
なので、そのまま1時間放置して再びログインしたら入れました。焦らず行きましょう。(^^;)
記事の内部リンクのURLを全てhttpsに置換
そして、httpsでブログが表示されるようになったら、記事の内部リンクURLを全てhttpsに置換する作業が待ってます。
これはさくらインターネットの場合、「SAKURA RS SSL」というプラグインを使えばやる必要はありません。
ただ、それだとずっとプラグインを有効にしておかないといけないので、内部リンクのURLをツールを使って置換します。
そこで、その置換作業に便利なツールが以下のように4つほどあるのですね。
- Search Regex
- Search & Replace
- Better Search Replace
- Search Replace DB
けど、はっきり言ってどれも動作が微妙です。(^^;) 「Search Replace DB」はプラグインではないのですが、PHPのバージョンによってはうまく行かなかったりで難しいのです。
自分は結局「Search Regex」を使いました。ネット上の情報通り一発で置換しようとすると画面が白くなるのですが、下記の記事のように何回かに分けて少しずつ置換したらうまく行きました。
置換を間違えると元に戻せないらしいので慎重に作業しましょう。
あと、記事内の埋め込みコードのリンクがhttpの場合の置換にも「Search Regex」を使って修正しました。いっぺんに置換しなければ問題なく動くので便利です。
.htaccessのリダイレクトの設定
httpにアクセスしてもhttpsになるよう、.htaccessに記述してリダイレクトの設定をします。
さくらインターネットの場合、少々記述が特殊らしいのです。なので自分は、「SAKURA RS SSL」を有効化して、それによって記述された.htaccessの中身をコピー。「SAKURA RS SSL」を無効化して、.htaccessにその内容を上書きする方法で設定しておきました。
鍵マークが付かない!
で、最後にブラウザで見たときに、URLの横に鍵マークが付いてるか確認します。こんな感じに。
けど、ページ内にhttpsでないURLが埋め込まれてたりすると、これが表示されません。
自分のブログでは、ニコ動のマイリストの埋め込みが影響してましたね。この埋め込みコード内はhttpsなのですが、動画サムネイル画像がhttpのものが使われているという・・・。
こういう事はブラウザのツールで確認できるので、チェックしてみると良いでしょう。
最後に
こんな感じで、何とかSSL化できました(汗)
ネット上に情報はたくさんあるものの、トラブルも想定して、まとまった時間が確保できる時に作業した方が良いかと思います。
Mitchie M のコメント:
PHPをバージョンアップしたので、以前に比べ読み込みが速くなったような気が・・・。
【著者:Mitchie M @_MitchieM】
コメント