Tech memo

日々学んだ技術のびぼうろく

WordPressのドメインを変更するときにはDBの修正が必要。3つの方法を比較!

WordPress のドメインを変更するときは DB の修正も必要

WordPress では FQDN が DB に保存されているため、
サーバ移管などでドメインが変わる際、DB 内に保存されている FQDN も修正しなければならない。

が、このとき何も考えずにただ文字列置換をすればいいというわけではない。

プラグインによっては、単純な文字列の FQDN の他に
『FQDN をシリアライズ化し、値と文字列長をセットにして DB に保管している』ものがある。

これを変換するためには、

  1. シリアライズ化されたデータを取得
  2. アンシリアライズ化
  3. 文字列置換
  4. シリアライズ
  5. 文字列長計算
  6. DB 更新 とかいうアホみたいな処理をしなければならなくなる。

ここら辺を簡単にしてくれる3つのツールが今回紹介するもの。

ドメイン置換の3つの方法

  1. DATABASE SEARCH AND REPLACE SCRIPT IN PHP を使う方法
  2. wordmove を使う方法
  3. wp-cli を使う方法

DATABASE SEARCH AND REPLACE SCRIPT IN PHP を使う方法

PHP スクリプトをアップロードし、ブラウザからアクセスして GUI にて DB 修正が行える。
手順はここを参照。

wordmove を使う方法

WordPress データをサーバ間で同期するツール。

Movefile を編集することにより、リモートとローカルでファイルのアップロード / ダウンロードやDB の同期が行える。 しかも DB の同期を行う際はドメイン変更も併せて行ってくれる優れもの。
詳しくは ここを参照。

wp-cli を使う方法

WordPress のコマンドラインツール。
DB の修正以外にもコマンドライン上から記事投稿等もできる。
詳しくは ここを参照。

結局どれがいいの?

結論:状況によってさまざま。

サーバ移管を簡単に済ませたい -> wordmove
ソースコードのコピー、DB 同期、uploads ディレクトリの同期など、サーバ移管時に必要な処理が大体できる。

ドメイン変更だけ手軽に済ませたい -> DATABASE SEARCH AND REPLACE SCRIPT IN PHP
スクリプトをアップロードしてアクセスするだけだし一番手軽でかんたん。

ドメイン変更以外の処理も コマンドラインからできるようになりたい -> wp-cli

個人的には DATABASE SEARCH AND REPLACE SCRIPT IN PHP が一番らくだと思う。

詳解 WordPress

詳解 WordPress