WP-CLIでドメイン置換を行う wp search-replace

運用中のWordPressサイトのドメイン変更やテスト環境構築の際にテスト用ドメインに変更したい場合にWP-CLIのコマンドでサクッとドメイン置換を行うことが出来ます。

–dry-runオプションをつけて実行

まず、コマンド実行後の影響内容を事前に確認するため –dry-run をつけて実行します。

コマンド実行

$ wp search-replace  --dry-run 'https://analyzegear.co.jp/' 'https://test.analyzegear.co.jp/'

結果(メッセージ確認)

 +------------------+-----------------------+--------------+------+
 | Table            | Column                | Replacements | Type |
 +------------------+-----------------------+--------------+------+
 | wp_commentmeta   | meta_key              | 0            | SQL  |
 | wp_commentmeta   | meta_value            | 0            | SQL  |
 | wp_comments      | comment_author        | 0            | SQL  |
 | wp_comments      | comment_author_email  | 0            | SQL  |
 | wp_comments      | comment_author_url    | 0            | SQL  |
 | wp_comments      | comment_author_IP     | 0            | SQL  |
 | wp_comments      | comment_content       | 0            | SQL  |
 | wp_comments      | comment_approved      | 0            | SQL  |
 | wp_comments      | comment_agent         | 0            | SQL  |
 | wp_comments      | comment_type          | 0            | SQL  |
 | wp_links         | link_url              | 0            | SQL  |
 | wp_links         | link_name             | 0            | SQL  |
 | wp_links         | link_image            | 0            | SQL  |
 | wp_links         | link_target           | 0            | SQL  |
 | wp_links         | link_description      | 0            | SQL  |
 | wp_links         | link_visible          | 0            | SQL  |
 | wp_links         | link_rel              | 0            | SQL  |
 | wp_links         | link_notes            | 0            | SQL  |
 | wp_links         | link_rss              | 0            | SQL  |
 | wp_options       | option_name           | 0            | SQL  |
 | wp_options       | option_value          | 3            | PHP  |
 | wp_options       | autoload              | 0            | SQL  |
 | wp_postmeta      | meta_key              | 0            | SQL  |
 | wp_postmeta      | meta_value            | 14           | PHP  |
 | wp_posts         | post_content          | 3            | PHP  |
 | wp_posts         | post_title            | 0            | SQL  |
 | wp_posts         | post_excerpt          | 0            | SQL  |
 | wp_posts         | post_status           | 0            | SQL  |
 | wp_posts         | comment_status        | 0            | SQL  |
 | wp_posts         | ping_status           | 0            | SQL  |
 | wp_posts         | post_password         | 0            | SQL  |
 | wp_posts         | post_name             | 0            | SQL  |
 | wp_posts         | to_ping               | 0            | SQL  |
 | wp_posts         | pinged                | 0            | SQL  |
 | wp_posts         | post_content_filtered | 0            | SQL  |
 | wp_posts         | guid                  | 56           | SQL  |
 | wp_posts         | post_type             | 0            | SQL  |
 | wp_posts         | post_mime_type        | 0            | SQL  |
 | wp_term_taxonomy | taxonomy              | 0            | SQL  |
 | wp_term_taxonomy | description           | 0            | SQL  |
 | wp_termmeta      | meta_key              | 0            | SQL  |
 | wp_termmeta      | meta_value            | 0            | SQL  |
 | wp_terms         | name                  | 0            | SQL  |
 | wp_terms         | slug                  | 0            | SQL  |
 | wp_usermeta      | meta_key              | 0            | SQL  |
 | wp_usermeta      | meta_value            | 0            | PHP  |
 | wp_users         | user_login            | 0            | SQL  |
 | wp_users         | user_nicename         | 0            | SQL  |
 | wp_users         | user_email            | 0            | SQL  |
 | wp_users         | user_url              | 0            | SQL  |
 | wp_users         | user_activation_key   | 0            | SQL  |
 | wp_users         | display_name          | 0            | SQL  |
 +------------------+-----------------------+--------------+------+
 Success: 76 replacements to be made.

ドメイン置換実行

コマンド実行

$ wp search-replace 'https://analyzegear.co.jp/' 'https://test.analyzegear.co.jp/'

結果(メッセージ確認)

メッセージの内容は –dry-runオプションをつけて実行した際とほぼ同じですが、最後のメッセージが次のようの表示されます。

Success: Made 76 replacements.

バージョン情報

wp –info

$ wp --info
 OS:     Linux 4.4.0-169-generic #198-Ubuntu SMP Tue Nov 12 10:38:00 UTC 2019 x86_64
 Shell:  /bin/bash
 PHP binary:     /opt/php-7.2.17/bin/php
 PHP version:    7.2.17
 php.ini used:   /opt/php-7.2.17/etc/php.ini
 WP-CLI root dir:        phar://wp-cli.phar/vendor/wp-cli/wp-cli
 WP-CLI vendor dir:      phar://wp-cli.phar/vendor
 WP_CLI phar path:       /home/xxxxxxxxxx
 WP-CLI packages dir:
 WP-CLI global config:
 WP-CLI project config:
 WP-CLI version: 2.3.0

コメント

タイトルとURLをコピーしました