10年以上前に作ったホームページが、アドレスが「http://」のまま。ブラウザに「保護されていない通信」と表示されてしまう――。このブログも、まさにその状態から作り直しました。レンタルサーバーのエックスサーバーで、古いサイトを https 化したときの手順と注意点をまとめます。
https 化とは
https は、ブラウザとサーバーの間の通信を暗号化する仕組みです。今は https が当たり前になっていて、http のままだとブラウザに警告が出たり、検索結果で不利になったりします。
手順1:サーバーパネルで SSL を設定する
エックスサーバーでは、サーバーパネルの「SSL設定」から、ドメインやサブドメインごとに無料の SSL(Let’s Encrypt)を追加できます。追加してから実際に使えるようになるまで、少し時間がかかることがあります。
手順2:http から https へ転送する
SSL を設定しただけでは、http のアドレスでもアクセスできてしまいます。.htaccess に次のような転送の設定を書いて、http でアクセスした人を https に自動で移動させます。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
</IfModule>
ドメインの下にサブドメインのフォルダが入っている構成だと、親フォルダの .htaccess の設定がサブドメインにも効いてしまうことがあります。転送の対象を特定のドメインだけに絞る(RewriteCond %{HTTP_HOST} で条件を付ける)と安心です。
手順3:WordPress のアドレスを https に変える
WordPress の場合は、「設定」→「一般」の「WordPress アドレス」と「サイトアドレス」を https に変えます。記事の中に http の画像が残っていると、鍵マークが付かないことがあるので、その場合は記事内のアドレスも置き換えます。
古い WordPress が動かないときは
今回いちばん困ったのは、何年も更新していなかった WordPress が、サーバーの新しい PHP では動かず、エラーで真っ白になっていたことです。こういうときは、無理に古いものを直すより、次の順で作り直すほうが早いこともあります。
- ファイルとデータベースのバックアップを取る
- 古いフォルダは名前を変えて残しておく
- 新しい WordPress を入れ、必要な記事だけ書き直して移す
PR
この記事で使ったレンタルサーバー
この記事の作業は、エックスサーバーのサーバーパネルで行いました。無料 SSL の設定、.htaccess の編集、ファイルマネージャ、自動バックアップなど、古いサイトの手入れに必要な機能がそろっています。
まとめ
古いサイトの https 化は、「SSL を設定する」「http を https に転送する」「サイト内のアドレスを https にする」の3段階です。古い WordPress が動かないときは、バックアップを取ってから作り直すのも一つの方法です。

コメント