error codes & solutions

wordpressでURL変更後に記事の更新ができなくなる事象の解決方法

なんだかググってもそんなに解決方法がヒットしなかったので、似たような事象が発生した人のために簡単に解決方法を書きます。

背景

wpのサイトアドレス (URL)を変更した

問題の切り分け

  1. chromeなどブラウザをシークレットモードで開く
  2. いつも通りに記事の更新を試してみる

これで問題なく記事の更新ができた場合は、ほぼほぼchromeのキャッシュが原因です。

そうでない場合は、DBを書き換える必要があるかもしれません。

解決方法

chromeのキャッシュの場合

右上の縦三点リーダーをクリックし、設定へ

プライバシーとセキュリティの閲覧履歴データの削除を選択

閲覧履歴データの削除から、期間は全期間を選択して、Cookieやキャッシュを選択します

データの削除を押して、再度自身のサイトから記事の更新を試みてください

問題なく更新できるはずです。

DBの書き換えが必要な場合

Search-Replace-DBを利用してDBの中身を書き換えます。

Search-Replace-DBのgithubにアクセスし、codeボタンからdownload ZIPを選択

https://github.com/interconnectit/Search-Replace-DB

zipを解凍したらwp-adminフォルダがあるディレクトリに配置します。

配置出来たら以下のような感じで配置された場所にアクセスします。

https://your_site_url/Search-Replace-DB-master/

  1. replace “変更前のURL” with “変更後のURL”を記載
  2. database name、username、pass、hostを指定(wp_config.phpに記載されている)
  3. Do a safe test run
  4. 変換するテーブルを選択
  5. Search and Replace
  6. delete meの順番で行います

database name、username、pass、hostを指定(wp_config.phpに記載されている)

記載した後にTest connectionで接続できるか試しましょう

Do a safe test run

これを押すと実際には書き換えは発生せず、search結果だけがでてきます。

この結果を見ながら変換するテーブルを選択しましょう

※少なくともwp_optinosのテーブルは書き換えてはいけない。wordpressアドレスまで書き換えてしまう可能性があり、サイトにアクセスできなくなる。万が一replaceしてしまって、サイトにアクセスできなくなったら、wp_optinosのhomeの値をもとに戻せばなんとかなるはず

Search and Replace

上記していできたら、「Search and Replace」で変換実施

delete me

delete meでSearch-Replace-DB-masterを使用できなくします。

これをしないと外部からDBを書き換えられる危険性が増します。

念には念を入れてdelete meをした後配置した「Search-Replace-DB-master」のフォルダごと削除しておきます。

以上です。DB書き換えても、更新できない場合は再度キャッシュのクリアなど試してみてください。