WordPressのドメインを変更するケースは主に開発環境から本番環境への引っ越しの場合が多いですが、その他にもときどき発生することです。
この際にデータベースに格納されたURLを変更/変換するのは割と面倒だし、なんだか怖いです(この作業がmysqlで簡単にやれないことの説明はWordPress のDB上のサイトURLを一気に変換 | dogmap.jpでシリアライズのキーワードを参照)。
この作業を安全・確実に行うツールとして有名な「Search Replace DB」が2.1から3.1にバージョンアップし、より使いやすくなっていました。
これからWordPress/Search Replace DBの利用者も増えそうなので、その使い方をまとめておきます。
Sponsored Link
Search Replace DBのダウンロード
Database Search and Replace Script in PHP | interconnect/itからダウンロード。
サーバにアップロード
zipで圧縮されているディレクトリを取り出したら、その名前を異なる名称に変更してから、WordPressのインストールディレクトリにアップロード。
Search Replace DBの起動
アップロードしたディレクトリにブラウザからアクセス(http://ドメイン名/ディレクトリ名
)すると起動し、以下のような画面になります。
Search Replace DBの設定
英語で書かれているけれど、DBを扱う人なら普通に分かる程度の用語で書かれているので心配はありません。
以下の項目を入力します。
- search/replace(必須項目)
- database(必須項目)
- tables(オプション項目)
「replace」を「with」で置き換えるように入力(「use regex」は正規表現を用いる場合にチェックを入れる・・・はず)
DBへの接続情報の各項目はすでに入力されているので、念のため誤りがないか確認
処理対象のテーブルを指定
Search Replace DBの操作
「actions」の各ボタンで操作します
- update details
- dry run
- live run
- convert to innodb/utf8 unicode/utf8mb4 unicode
データベース情報の更新(データベース情報を変更した際に使用)
置換を実行した際の結果を表示
実行ボタン
DBの形式や文字コードの変更(使う機会は少なそう・・・)
必ず dry run を実行してから run しましょう。
自分は dry run のさらにその前にmysqlで変換対象の場所や数を確認して、それと dry run の結果を突き合わせて確認しました。
事後処理
アップロードしたSearch Replace DBのディレクトリを速やかに削除しましょう。
Search Replace DBの画面にある「delet me」のボタンをクリックしても削除されます(さらにその後にはinterconnect/itからの案内が表示される)。しかし、大きな声では言えませんが、これはおすすめしません。
delet me後は、再び同じ名前でディレクトリをアップしてもなぜか動作しなくなります。違う名前のディレクトリ名すれば動作するのですが w
使用上の注意
「アップロードの際にディレクトリ名を変える」「処理が終わったらディレクトリを削除する」ようにしましょう。http://ドメイン名/ディレクトリ名
でSearch Replace DBでアクセスできてしまうので、デフォルトのディレクトリ名のままにしておくと、イタズラされかねません。
また、誤操作の危険を避けるためにも、使用後は速やかに削除しましょう。
今日の「使いやすさ」と「安心・安全」
使いやすいのが1番だけど、DBへの接続情報がデフォルトで入力されているのは使いやすい。
オプションも充実しているし、不安になってしまう実行の際にも「dry run」をしていれば安心・安全。
ありがたいツールですね。
Sponsored Link