2026年10月17日

2026年10月17日

Search Regexの使い方|WordPressのデータベースを一括検索・置換する方法

結論:Search Regexとは、実行前の確認が最優先

Search Regexは、WordPressのデータベースの中身を、検索して置換するプラグインです(作者はJohn Godley)。投稿や固定ページだけでなく、コメント、ユーザー、メタデータ、WordPressのオプションまで、広い範囲を一括で変更できます。

強力な分、間違えると広い範囲に影響します。 実行する前に、バックアップを取り、検索結果の件数と対象を確認することを、この記事の前提にしてください。なお、wordpress.orgのページには、バックアップを取るようにという公式の記載はありません。この記事で勧めるバックアップは、当サイトの推奨です。

この記事は、2026年10月16日時点の公式情報にもとづいています。画面の項目名はバージョンで変わるため、画面の操作手順は載せていません。

基本情報

項目 内容
作者 John Godley
有効インストール数 10万以上
対応するWordPress 7.1.3まで動作確認が記載されています

できること

wordpress.orgのページでは、次のことができると説明されています。

分類 内容
検索の対象 投稿、固定ページ、カスタム投稿タイプ、コメント(スパムを含む)、ユーザー、メタデータ、WordPressのオプション
結果に対する操作 修正と置換、削除、CSVおよびSQLへのエクスポート、任意のPHPアクションの実行
一括変更 数値の加減算、日付への時間・日・週・月の加算、タグやカテゴリの追加・削除・置換
ショートコード 現在の日時の挿入、他の列のデータの挿入、文字の変換
正規表現 PHPの正規表現を全面的にサポート。キャプチャしたデータを、置換側で使えます

正規表現の具体的な書き方の例は、wordpress.orgのページには書かれていません。

実行前に確認すること

1. バックアップを取る

置換や削除は、結果を見て問題があっても、元に戻せない場合があります。実行前に、ファイルとデータベースの両方のバックアップを取ってください。バックアップの方法は、WordPressバックアッププラグイン比較【2026年版】を参照してください。戻す手順は、WordPressをバックアップから復元する方法にあります。

2. 対象と件数を確認してから実行する

検索で、何件・どの項目が一致するかを、先に確認します。意図しない項目が含まれていないかを見てから、置換や削除を実行してください。

3. 「削除」の操作に注意する

wordpress.orgの変更履歴には、バージョン3.3.0で「削除の確認ダイアログを追加」とあります。また、レビュー(2025年7月21日付)には、「Delete Matches」が、一致したテキストだけでなく、レコード全体(投稿や添付ファイルを含む)を削除するという指摘があります。これは利用者の意見で、作者による説明ではありません。ただし、削除の操作は影響が大きいため、テスト用のサイトで、動作を確認してから使ってください。

WP-CLIの wp search-replace との使い分け

コマンドラインが使える環境では、WP-CLIに標準の wp search-replace でも、データベースの置換ができます。WP-CLIの公式ドキュメントでは、次のように説明されています。

項目 内容
動作 データベース内の文字列を検索して、別の文字列に置換します。既定では $wpdb に登録されたテーブルが対象です
シリアライズされたデータ PHPのシリアライズデータを「賢く扱う」と記載されています。シリアライズデータを含む列では、自動でPHPによる処理に切り替わります
**--dry-run** 置換を実行してレポートを表示しますが、データベースには保存しません
**--export[=<file>]** データベースを変更せず、変換結果をSQLファイルとして書き出します
--regex 正規表現で検索します。通常より約15〜20倍遅くなるとされています
--precise すべての列をPHPで処理します。低速ですが、複雑なシリアライズデータ向けです
--skip-columns、--skip-tables 列やテーブルを除外します

公式ドキュメントの例です。

# データベースを変更せず、結果だけ確認する(まずこれで確認)
wp search-replace 'foo' 'bar' wp_posts wp_postmeta wp_terms --dry-run

# guid列を除いて置換する
wp search-replace 'http://example.test' 'http://example.com' --skip-columns=guid

# 結果をSQLファイルに書き出す(データベースは変更しない)
wp search-replace foo bar --export=database.sql

**まず --dry-run で確認してから、実行する流れを、おすすめします。公式ドキュメントにも、バックアップに関する記載はありません**。実行前のバックアップは、こちらでも必要です。

Search Regexは、プラグイン上でSQLやCSVへのエクスポートもできます。WP-CLIは、--dry-run で保存せずに確認できる点が特徴です。

Search Regexのバージョン3.2で「WP CLI functions」が追加されたと変更履歴にありますが、使い方はwordpress.orgのページには書かれていません。

よくある質問

実行する前に、何をすればよいですか。

バックアップを取ります。そのうえで、検索だけを行い、一致する件数と対象を確認してください。公式のページには、バックアップの案内はありません。

正規表現は使えますか。

使えます。PHPの正規表現を全面的にサポートしていて、キャプチャしたデータを置換側で使えると記載されています。

シリアライズされたデータも置換できますか。

wordpress.orgのSearch Regexのページには、シリアライズデータの扱いについての記載はありません。WP-CLIの wp search-replace は、シリアライズデータを扱えると公式ドキュメントに書かれています。

変更を試すだけで、保存したくない。

WP-CLIの wp search-replace は、--dry-run で保存せずに確認できます。Search Regexで同じことができるかは、wordpress.orgのページには書かれていません。

参考にした公式情報(2026年10月16日確認)

お気軽にご相談ください

お見積りへ お問い合わせへ
▲