すべての操作を WP-CLI
だけでできるので便利!
1.旧ドメインのサイトからエクスポートしたデータベースの .sql
ファイルをインポートする
wp db import export_old_domain_site.sql
2.ドメインの置換をする(その前にテストする)
wp search-replace --network 'https://old.example.com' 'https://new.example.com' --url=old.example.com --recurse-objects --skip-columns=guid --skip-tables=wp_users --all-tables --dry-run
オプションの解説
--network
:マルチサイトの指定--url=old.example.com
:旧マルチサイトのトップドメイン--recurse-objects
:再帰的な処理を有効に(デフォルトで true だから不要なのかも?)--skip-columns=guid
:カラムguid
は置換しない--skip-tables=wp_users
:テーブルwp_users
は置換しない--all-tables
:プラグインなどが追加した独自テーブルもすべて含める--dry-run
:実際に置換せずにテストでの動作確認
3.ドメインの置換をする
wp search-replace --network 'https://old.example.com' 'https://new.example.com' --url=old.example.com --recurse-objects --skip-columns=guid --skip-tables=wp_users --all-tables
--dry-run
を削除
4.キャッシュを削除する
wp cache flush
※ サーバーへの負荷がかかる可能性があるので注意!
5.マルチサイト特有のテーブルでの置換をする(その前にテストする)
wp search-replace old.example.com new.example.com wp_site wp_blogs --dry-run
オプションの解説
old.example.com
:旧ドメイン名new.example.com
:新ドメイン名wp_site wp_blogs
:置換対象のテーブル2つ--dry-run
:実際に置換せずにテストでの動作確認
6.マルチサイト特有のテーブルでの置換をする
wp search-replace old.example.com new.example.com wp_site wp_blogs
--dry-run
を削除
参照
https://support.pagely.com/hc/en-us/articles/203455200-WordPress-Multisite-Database-Commands