
みなさんこんにちは! ガノー(Ganohr)です! (≧▽≦)
WordPressのメンテナンスの面倒事を減らしたい!
今回はWordPressをHTTPから常時HTTPS化した際に、プラグインではできない「公開されている記事・固定ページの本文を一括修正する方法」です。
目的
- 目的:常時https化したのでhttpになっているURLを更新したい
WordPressメンテナンス用SQL例:常時https化したのでhttpになっているURLを一括で更新したい
UPDATE
wp_posts
SET
post_content = REPLACE(
post_content,
"http://ganohr.net/",
"https://ganohr.net/"
)
WHERE
post_status = "publish"
and (
post_type = "page"
or post_type = "post"
or post_type = "notoc"
)
and post_content like "%http://ganohr.net/%"
解説
wp_posts
テーブルにおいて、公開済み(post_status = "publish"
)の固定ページ(post_type = "page"
)または投稿記事(post_type = "post"
)または、カスタム投稿タイプ(post_type = "notoc"
)で、且つ本文(post_content
)に特定の文字列が含まれる(post_content like "%http://ganohr.net/%"
)場合に、REPLACE
関数でpost_content
に含まれる第一引数で指定された文字列を第二引数で指定された文字列に置換します。
備考
Really Simple SSLなどのプラグインで対応しても、本文の内容自体を変更してくれません。これだと、例えばブログカードでスクリーンショットを取るプラグインでリダイレクト先を正しく認識できない場合などで不具合が発生することがあります。
そのため、本文自体のURLをhttpからhttpsに変更しておくことでこうした不具合を回避できます。
コメントを書く