WordPress の検索・置換プラグイン トップ 5

WordPress サイトの移行、コンテンツの一括更新、データベースのクリーンアップ作業には共通の要件があります。それは、同じ変更を多くの場所で一度に行うことです。検索・置換プラグインは、手動の SQL や phpMyAdmin へのアクセスなしでこれを処理します。そして正しい選択は、解決したい問題によって変わります。

このガイドでは、最もよく使われる 5 つの選択肢を比較し、それぞれが最も効果を発揮する具体的なシナリオに対応づけます。

TL;DR:どのプラグインを選ぶべきか?

プラグイン 最適な用途 無料版 vs. Pro
CM On Demand Search And Replace データベースに書き込まないフロントエンドでのフレーズ・HTML 置換 Free + Pro
Search & Replace ドメイン移行、HTTP→HTTPS 変換 Free
Better Search Replace シリアライズされたデータの安全な処理。ステージングから本番への URL 置換の標準的な推奨 Free + Pro
Better Find and Replace ドライランプレビュー付きのリアルタイム画像置換 Free
ACF: Better Search Plugin WordPress の検索を ACF カスタムフィールドにも拡張 Free

なぜ検索・置換プラグインを使うのか?

3 つのシナリオが、実際のニーズの大半をカバーします。

ドメイン移行 / ステージングから本番への URL 置換 — ステージングサイトを本番に反映すると、ハードコードされたステージング URL がデータベースに残ります。投稿コンテンツ、ウィジェット設定、テーマオプション、シリアライズされたプラグインデータなどです。単純な SQL の UPDATE はプレーンな文字列を修正しますが、シリアライズされた値を黙って壊します。なぜこれが重要かは、下の「シリアライズされたデータの処理」セクションを参照してください。

多数の投稿にまたがる一括コンテンツ編集 — 製品名のリブランディング、サイト全体のスペルミスの修正、数百の投稿にわたるポリシー URL の更新など。手動編集は信頼できる形ではスケールしません。

シリアライズされたデータベースの修復 — WordPress は、テーマのカスタマイズ、ウィジェットのデータ、多くのプラグインの設定配列を PHP でシリアライズされた文字列として保存します。これらの値のいずれかでステージング URL を修正するには、テキストの一致だけでなく PHP のシリアライズを理解するツールが必要です。

シナリオ 推奨プラグイン
ステージングから本番への URL 置換 Better Search Replace または Search & Replace
投稿・ページの一括テキスト編集 CM On Demand Search And Replace
シリアライズされたデータベースの修復 Better Search Replace
ACF カスタムフィールドの検索 ACF: Better Search Plugin

効果的な検索・置換のための WordPress プラグイン トップ 5

詳しく検討した 5 つのプラグインは次のとおりです。

  1. CM On Demand Search And Replace
  2. Search & Replace
  3. Better Search Replace
  4. Better Find and Replace
  5. ACF: Better Search Plugin

🔥WP STAGING を使い始めて、バックアップを効率的に管理し、ステージング環境を作成しましょう

1. CM On Demand Search And Replace

CM On Demand Search And Replace

CM On Demand Search And Replace は、データベースに書き込むことなく、WordPress サイト上の単語やフレーズを置換します。レンダリング時にコンテンツを介入させるため、変更は非破壊的で、ルールをオフにすれば元に戻せます — SQL は不要です。

このプラグインでは、特定のページや投稿タイプを置換ルールから除外でき、複数ページにわたる HTML の一括修正(フォントスタイル、レイアウトのクラス名)を 1 回で処理します。データベースレベルのツールと違い、バックアップなしでも本番サイトで安全にテストできます。ただしバックアップは常に推奨されます。

CM On Demand Search And Replace の主な機能

  • レンダリング時の置換 — 明示的に変更を保存しない限り、データベースへの永続的な書き込みはなし。
  • 特定のページや投稿タイプをルールから除外。
  • 複数ページにわたる HTML 修正の自動化。
  • コンテンツ配置のスケジューリング。
  • 古いフレーズや切れたリンクをサイト全体でフィルタリング。

使うべき場面: データベースに触れずに変更をプレビューし、簡単に元に戻したい、フレーズや HTML の一括修正。

既知の制限: 置換はレンダリング時に実行されるため、REST API のレスポンス、データベースのエクスポート、データベースへの直接クエリには反映されません — フロントエンドの出力のみです。

ダウンロード

2. Search & Replace

Search & Replace

Search & Replace プラグインは WordPress のデータベースを直接操作し、最も一般的な移行シナリオに対応します。それは、ホスト間でサイトを移行するときや HTTP から HTTPS に変換するときに、正しい URL やドメイン名を復元することです。

バックアップと復元の機能を備えているため、置換を実行する前の元のデータベースの状態を復元できます。ドライランモードでは、変更が適用される前に一致した行を表示します。オフラインでの確認用に SQL ファイルのダウンロードも利用できます。

Search & Replace の主な機能

  • データベースへの直接インターフェース。
  • 複数の WordPress サイトに対応。
  • HTTP から HTTPS への URL 置換。
  • ドライランモードと SQL ファイルのダウンロード。
  • シリアライズされたデータを処理。

使うべき場面: 実行前のプレビュー付きでデータベースを直接置換する必要がある、ドメイン移行や HTTP→HTTPS 変換。

既知の制限: どんな直接的なデータベースツールでも同様ですが、まずドライランを実行してください。変更はバックアップなしでは元に戻せません。導入前に、お使いの WordPress バージョンでマルチサイトの互換性を確認してください。

ダウンロード

3. Better Search Replace

Better Search Replace

Better Search Replace は、PHP のシリアライズされたデータを正しく処理するため、ステージングから本番への URL 置換で最も広く推奨される選択肢です。WordPress がオプション値やプラグイン設定をシリアライズされた配列として保存している場合、単純な文字列置換は、シリアライズのラッパーに埋め込まれたバイト数を壊します。Better Search Replace は各値をデシリアライズし、実際の文字列に置換を適用してから、修正後のバイト数で再シリアライズします。

WP STAGING のステージングクローンでの私たちのテストでは、Better Search Replace は wp_options に保存された入れ子の配列を含め、シリアライズされたオプション値を破損なく処理しました。

WordPress マルチサイトにも対応し、置換対象として特定のテーブルを指定できるため、変更の範囲を必要なテーブルだけに限定できます。

Better Search Replace の主な機能

  • すべてのテーブルにわたる安全なシリアライズ処理。
  • 正確な置換範囲のためのテーブルの選択的指定。
  • 適用前に変更をプレビューするドライランモード。
  • WordPress マルチサイトに対応。
  • 動作中の WordPress インストールのみが必要 — 追加のサーバー設定は不要。

使うべき場面: シリアライズされたデータベース値を含むあらゆる置換、特に WP STAGING を使った後のステージングから本番への URL 置換。移行後のクリーンアップで最初にインストールすべきプラグインです。

既知の制限: 無料版はここで説明した中心的なユースケースをカバーします。Pro 版は移行アシスタントと追加の自動化機能を加えます。最新の機能比較は wordpress.org のページで確認してください。

ダウンロード

4. Better Find and Replace

Better Find and Replace

Better Find and Replace は、データベースでの標準的な検索・置換のユースケース — テキスト、URL、シリアライズされたデータ — をカバーし、リアルタイムの画像置換を加えます。これは、メディアライブラリ内のすべての出現箇所を手動で探さずに、製品画像を更新したりロゴを変更したりするのに役立ちます。

ドライランモードは、更新が実行される前に、どの行が変更されるかをプレビューします。範囲を限定するために、特定のデータベーステーブルを指定できます。

Better Find and Replace の主な機能

  • 使いやすいインターフェース。
  • リアルタイムの画像置換。
  • 変更を適用する前のドライランプレビュー。
  • シリアライズされたデータのサポート。
  • 置換対象として特定のデータベーステーブルを指定。

使うべき場面: テキストの置換と並行して画像の参照を更新する必要がある、メディアの多いサイト。または画像置換が優先される場合の Better Search Replace の代替。

既知の制限: どんな直接的なデータベースツールでも同様ですが、まずドライランを実行し、最新のバックアップを用意しておいてください。選ぶ前に、お使いの WordPress バージョンで Better Find and Replace と Better Search Replace の両方を評価してください。

5. ACF: Better Search Plugin

ACF: Better Search Plugin

ACF: Better Search Plugin は、ほかの 4 つとは異なる問題を対象とします。WordPress のフロントエンド検索を拡張して、Advanced Custom Fields のデータを含めます。標準の WordPress 検索は、投稿のタイトル、本文、抜粋のみをインデックスします — カスタムフィールドの値は検索からは見えません。

このプラグインは、検索結果のテンプレートを変更することなく、基盤となる SQL クエリを変更します。シンプルな構造の小〜中規模サイトに適しています。大規模に導入する前に、大量のカスタムフィールドデータがあるサイトでパフォーマンスをテストしてください。

ACF: Better Search Plugin の主な機能

  • WordPress の検索を ACF カスタムフィールドにも拡張。
  • 検索結果テンプレートの変更は不要。
  • 複数のフィールドタイプに対応:テキスト、メール、URL など。
  • 検索パフォーマンスへの影響を抑える軽量設計。
  • ショートコードやウィジェットで設定できるカスタム検索フィールド。

使うべき場面: ACF カスタムフィールドを中心に大きく構築され、訪問者がそれらのフィールドに保存されたコンテンツを検索する必要があるサイト。

既知の制限: ACF カスタムフィールドの検索専用に設計されています — データベースの検索・置換ツールではなく、データベースのコンテンツは更新しません。

ダウンロード

シリアライズされたデータの処理

WordPress は、大量の設定を PHP でシリアライズされた文字列として wp_options テーブルに保存します。シリアライズされた値は次のようになります。

a:2:{s:3:"key";s:5:"value";s:4:"key2";s:6:"value2";}

接頭辞 s:5:"value" は「値が ‘value’ のちょうど 5 文字の文字列」を意味します。"value""longer_value" に変える単純な REPLACE() SQL クエリは s:5:"longer_value" を生成します — 宣言されたバイト数が今や誤りになります。PHP はこれをデシリアライズできず、次のページ読み込み時に致命的エラーを投げます。

WP STAGING のサポートチケットによれば、移行後で最も多い問題は、wp_options に残ったハードコードされたステージング URL — 多くは siteurlhomeactive_plugins の行やウィジェット設定 — で、単純な置換ツールが黙って破損させたものです。

Better Search Replace と Search & Replace プラグインはどちらもこれを正しく処理します。シリアライズされた文字列をデコードし、内側の値にテキスト置換を適用してから、修正後のバイト数で再エンコードします。

本番サイトで置換を実行する前に、使用するプラグインがシリアライズされたデータのサポートを明示的に表明していることを確認してください。

検索・置換でサイトが壊れたときの対処法

置換を実行する前にバックアップを取りましょう。 WP STAGING は変更前に完全なステージングクローンまたはバックアップを作成し、手動のデータベースエクスポートなしでクリーンなロールバックポイントを提供します。

置換を実行してサイトが壊れた場合、最も可能性の高い原因は次のとおりです。

  1. シリアライズされたデータの破損 — 置換後にサイトが白い画面や PHP の致命的エラーを表示する場合は、バックアップから復元し、シリアライズされたデータを明示的にサポートするプラグイン(Better Search Replace が標準の選択肢)で再実行します。
  2. wp_options のホーム URL またはサイト URL が更新されていない — 移行の置換後にホームページが誤ったドメインにリダイレクトする場合は、wp_optionssiteurlhome キーを確認します。これらは新しいドメインと一致している必要があります。Better Search Replace または WP-CLI(wp search-replace)を使って安全に更新してください。
  3. テーマやプラグインのファイルにハードコードされた URL — データベースの置換ツールはデータベースのみを操作します。functions.php、子テーマのファイル、プラグインの PHP にハードコードされた URL は触れられません。データベースの置換がエラーなく完了したのに一部の URL がまだ古いドメインを指している場合は、これらを手動で確認してください。

置換後にサイトがオフラインになった場合は、データベースの状態を診断する間、wp-config.php に直接 WP_SITEURLWP_HOME を一時的に設定して管理画面へのアクセスを回復してください。

まとめ

MySQL を介して WordPress のデータベースを手動で編集することは可能ですが、規模が大きくなるとエラーが起こりやすくなります — 特にシリアライズされたデータが関わる場合です。上記の 5 つのプラグインは、主なユースケースをカバーします。フロントエンドのコンテンツ置換、データベースでの直接的な URL 移行、シリアライズされたデータの修正、拡張されたフロントエンド検索です。

特にステージングから本番への移行では、置換操作を実行する前に WP STAGING でバックアップを取りましょう。最新のバックアップは、5 分のロールバックと数時間の復元との違いを生みます。

関連記事:

Rene Hermenau

著者: Rene Hermenau

著者について: René Hermenau は WP STAGING の創設者です。WordPress のバックアップ、ステージング、移行、データベース処理、安全なデプロイメントワークフローに取り組んでいます。