ワードプレスでSSL化した後に編集するとURLが「http」に戻ってしまう問題の修正方法【先祖返り】

SSL化したのは良かったが……

先日、このブログを常時SSL化した際の手順を記事で紹介しました。

しかし、その手順だけでは、記事を編集する度に「https」から「http」に戻ってしまう(先祖返り)ということが判明。

どうやらSSL化する前に投稿した記事はすべて同様の症状が出ているみたい。

これじゃあ過去記事を修正する度に、激しく面倒くさい……ってことで、対策したら問題を解決できたので、対応方法をシェアします。

先祖返りに気づいた理由

自分のブログをサラサラっと確認していたら、SSLが「完全ではないよー」というブラウザの表示に気づきました。

Chrome SSL NG

あれ?この間、常時SSL化した時に全てのリンクを張り替えたはずだけどなぁ。

念のため、ブログ内を改めて検索してチェックしてみたところ、大量の「http」のリンクが存在していることがわかりました。

これはおかしい……。「https」にしていたハズなのに、なんで勝手に「http」に戻ってるんだ!?

半日ほど、記事が何故、先祖返りしてしまうのかの原因を探って、ようやくその原因を発見しました。

先祖返りの原因

記事の編集を開いた瞬間に「https」が「http」になっていたのです。つまり、その状態で誤字脱字を直して「更新」すると、知らないうちにリンクが全て「http」で上書き保存されてしまうのです。

どうりで、過去記事の誤字脱字とか、追記とかのリライト作業をしていたものだけが、先祖返りしているわけです。

ちなみにSSL化した後に投稿された記事では、この症状は出ません。

常時SSLにする際に、記事上の全てのURLは「https」にしていますし、ワードプレスの設定も、テーマの設定も、メディアで確認した画像のURLも、全て問題がないわけですから、考えられる原因は、もう「データベース」に「http」の記述が残っている以外に考えられません。

実は、プラグインで全記事のURLを「https」に置換しただけでは(先日の常時SSL化では『Search Regex』を使った)、不十分だったのです。

今後も記事を編集する度に、先祖返りされてはたまりませんので、さっそく問題点を修正します。

対応方法

はい。もうお分かりのとおり、後はSQL(データベース)を直接修正するしか方法はありません。

phpMyAdminでSQLの「http://(ブログURL)」という文字列を全て「https://(ブログURL)」に置換してやります。

私も、過去に数回しかSQLを直接いじったことがありませんでしたが、何事もチャレンジってことで思い切ってやってみましたฅʕ•ᴥ•ʔฅ

※ここから先は自己責任でお願いします。もちろん事前のバックアップ必須です。

まずは、サーバのコントロールパネルからphpMyAdminの画面に入ります。

phpmyadmin

まずは、パックアップを先にとってしまいます。

バックアップは「エクスポート」からできます。設定はデフォルトのままでいいと思います。

エクスポート

成功すると「.sql」という拡張子のついたファイルがダウンロードされます。

このファイルが、あとで何かあった時の保険になります。

さて、さっそく状況の確認です。

「http」で始まる自ブログのURLを検索してみます。

検索結果

やはりというか、思ったよりもありましたね(笑)

ブログ上のどこにも「http」が見当たらないのにも関わらず、この件数です。

こいつらを全てSQLで置換します(1件しかないところは直接編集した方が早いです)。

一括で置換する場合は、以下のコマンドをSQLで入力します。

update テーブル名 set カラム名=replace(カラム名, “置換前の文字列”, “置換後の文字列”);

修正すべき、テーブルとカラムは上記の検索で確認します。

例えば、テーブル「wp_posts」のカラム「guid」のURLを修正する際は、以下のようにクエリを入力します。

(例)
update wp_posts set guid=replace(guid, "http://jiyushiko.com/", "https://jiyushiko.com/");

SQL

後は実行を押すだけです。

無事、すべてを置換出来れば、今回の問題は解消されます(正確に言えば1箇所だけ編集出来ない場所がありました)

同じような症状が出ていたら、ぜひ試してみてください。

今回、SQLを直接直してみて、『Search Regex』はもう要らないな~と思ってしまいました。あんなに絶賛していたのに、相変わらず変わり身の早い自分です(笑)

今日の記事、面白いなと思ったらツイッターのフォローお願いします。ブログの更新情報なども流しています。