WordPressメンテナンス用SQL倉庫―公開記事本文内の文字列を一括置換

WordPressメンテナンス用SQL倉庫―公開記事本文内の文字列を一括置換
WordPressメンテナンス用SQL倉庫―公開記事本文内の文字列を一括置換

 

 

Are you want to translate this page to English? Please click this link to translate via ‘©Google Translate'!

ganohr.net favicon

みなさんこんにちは! ガノー(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に変更しておくことでこうした不具合を回避できます。

WordPressの不具合対応/カスタマイズ¥15,000~

PC歴25年超、SE歴10年超、WordPress運営歴7年超、WordPressエンジニア歴5年超のスキルとノウハウを提供します

当サイト管理人の「ガノー」(Ganohr)は、日本最大手且つ東証一部上場企業が運営するクラウドソーシングサイト『Lancers』にて、認定ランサーとして活動しています。


※ 認定ランサーとはLancersにより様々な能力 ( 高い仕事遂行率・高い顧客満足度・多くの実績、など ) を評価したプロフェッショナルを認定する制度です。

 

MySQLカテゴリの最新記事