WordPress, インターネット

サイトを常時SSL化(HTTPS接続)に変更しました

当サイトを運用しているサーバーが Let’s Encrypt のサーバ証明書に対応したので,常時SSL化(HTTPS接続)に変更しました.

今まで通常のHTTP 接続で運用していて,いろいろ調整が必要になったため,そのあたりの作業メモ.

WordPress の設定

管理画面から,設定→一般設定で

WordPress アドレス (URL) = https://[サイトのURL]
サイトアドレス (URL) = https://[サイトのURL]

に設定を変更

“.htaccess” に https へのリダイレクトを追記

RewriteEngine On

RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

これで,ひとまずアクセスを https に統一できますが,このままだと,画像へのリンクが http のままなので,”Search Regex” プラグインを利用して,一気に置換.

”Search Regex” プラグインをインストールして有効化
管理画面から,ツール→Search Regex を選択して

Source = “Post count”
Search pattern = “http://[サイトのURL]”
Replace pattern = “https://[サイトのURL]”

上記の設定で,”Replace” を実行.置換対象をサラッと確認して問題なさそうなら,”Replace & Save” の実行で置換結果を保存.これで,記事中の “http://[サイトのURL]/~” となっているリンクの “https” へ変更は完了.

変更後は,無効化しちゃってOK

あとは,導入しているプラグインによっては,画像へのリンクが “http” のままになってしまう場合があるので,それらを修正.

プラグインのソースで WP_PLUGIN_URL や WP_CONTENT_URL のような定数を参照している場合,http:// と https:// が切り替わらないので,それぞれ,plugins_url(), content_url() 関数に置き換えて,リンクが https://[サイトのURL]/~ になるようにします.

echo "<img src='".WP_PLUGIN_URL."/image/image1.jpg'>";

$plugins_url = plugins_url();
echo "<img src='".plugins_url."/image/image1.jpg'>";

な感じに...

これで,サイトの常時SSL化が完了.


コメントを残す