WordPress ですべてを手動で行うことなく、一括検索および置換を行う方法について、読者からいくつか質問がありました。
大量のコンテンツを持つ大規模なWordPressウェブサイトの管理の課題を理解しています。古いドメインからの移行、ブランド変更、または単にタイポの修正であっても、すべての投稿、ページ、コメントでコンテンツを手動で検索および置換することはほぼ不可能です。
幸いなことに、検索および置換WordPressプラグインまたは簡単なSQLクエリを使用することで、WordPressサイトのテキスト、URL、画像を簡単に検索および置換できます。
この記事では、WordPressデータベースでテキストを検索および置換する方法を説明します。

WordPressデータベースで検索と置換を行う必要があるのはいつですか?
WordPressウェブサイトのデータベース内の項目を検索および置換する必要があるシナリオがいくつかあります。
例えば、多くの投稿に特定のテキストやURLを追加したとします。どの投稿に追加したかはわかりませんが、かなりの数があることはわかっています。
これで、サイトを手動で検索し、各投稿を1つずつ編集できます。しかし、それは多くの時間を要し、変更したいテキストの一部を見逃す可能性が非常に高くなります。
単一のコマンドを使用して項目を自動的に検索および置換すると、同じことを行いますが、はるかに迅速かつ効率的です。
この方法には1つ欠点があります。間違いを犯した場合、元に戻すことはできません。テキストを置き換えると、それは失われます。探しているテキストと置き換えたいテキストを慎重に入力する必要があります。
それを踏まえて、WordPress データベースでテキストを簡単に見つけて置換する方法を見てみましょう。
データベースで検索と置換を実行する前に
前述したように、データベースに行った変更は元に戻せません。データを失わないように、細心の注意を払う必要があります。
まず、WordPress データベースのバックアップを作成する必要があります。これは、Duplicator のような WordPress バックアッププラグインを使用して行うことができます。

数回のクリックでバックアップを作成する素晴らしいツールです。その機能の詳細については、Duplicatorレビューをご覧ください。
または、phpMyAdminを使用してデータベースバックアップを作成することもできます。
WordPressデータベースのバックアップを作成した後、検索および置換コマンドを実行できます。
WordPressプラグインで検索と置換を実行する
コードに慣れておらず、カスタムSQLクエリを書き込みたくない場合は、Search & Replace Everythingという使いやすいWordPressの検索置換プラグインがあります。
このツールを徹底的にテストし、その結果に感銘を受けました。私たちの経験について詳しくは、Search & Replace Everything のレビューをご覧ください。
まず、無料のSearch & Replace Everythingプラグインをインストールして有効化する必要があります。詳細については、WordPressプラグインのインストール方法に関するガイドをご覧ください。
注: より高度な機能が搭載された、Search & Replace Everything のプレミアムバージョンもあります。
有効化したら、WordPress管理ダッシュボードのツール » WP検索&置換ページにアクセスしてください。
ここで、「検索する」フィールドに、変更したいテキストを入力します。次に、「置換後のテキスト」フィールドに、置き換えたいテキストを記述する必要があります。

WordPress データベース内の特定のテーブルを選択することも、すべてのテーブルを選択することもできます。
次に、「検索と置換のプレビュー」ボタンを押します。

このプラグインにより、適用する前に変更を確認できるようになります。
次に、「すべて置換」ボタンをクリックするだけです。

さらにヘルプが必要な場合は、WordPress で検索と置換を行う方法に関する詳細ガイドがあります。
phpMyAdmin を使用した検索と置換 MySQL クエリの実行
phpMyAdminを使用してWordPressデータベースのテキストを検索および置換することもできます。
まず、WordPressホスティングアカウントのダッシュボードにログインする必要があります。このチュートリアルでは、Bluehostを使用します。
そこに着いたら、左側の列から「Webサイト」オプションをクリックし、「詳細設定」タブに切り替えます。
その後、「PHPMyAdmin」セクションまでスクロールダウンし、隣にある「管理」ボタンをクリックします。
![PHPMyAdmin セクションの横にある [管理] ボタンをクリックします PHPMyAdmin セクションの横にある [管理] ボタンをクリックします](https://www.wpbeginner.com/wp-content/uploads/2016/04/click-manage-next-to-phpmyadmin-option.png)
これにより、新しいウィンドウで phpMyAdmin が起動します。
ここで、WordPress データベース名をクリックし、「SQL」をクリックする必要があります。

次に、SQLクエリをこの形式で入力する必要があります。
update TABLE_NAME set FIELD_NAME =
replace(FIELD_NAME, 'Text to find', 'text to replace with');
例えば、WordPress投稿のコンテンツでテキストを検索したい場合は、次のようにクエリを記述します。
update wp_posts set post_content =
replace(post_content,'Text to find','text to replace with');
次に、「実行」ボタンをクリックして続行します。
phpMyAdmin は SQL クエリを実行し、成功すると、クエリによって影響を受けた行数が表示されます。
これで、WordPressサイトにアクセスして、変更が適用されていることを確認できます。
ボーナス:WordPressデータベースを簡単に最適化
データベースで目的のテキストを置換したら、不要なデータを削除し、データベースのパフォーマンスを向上させるために最適化することをお勧めします。
このためには、WP Optimizeプラグインをインストールして有効化できます。詳細は、WordPressプラグインのインストール方法に関するチュートリアルをご覧ください。
アクティベートしたら、WordPressダッシュボードからWP-Optimizeページにアクセスしてください。これで、プラグインがデータベースに対して実行する操作のリストが表示されます。それらを確認し、現時点で実行したくない項目があればチェックを外すことができます。

ここから、データベーステーブルの最適化、投稿リビジョンのクリーニング、下書き投稿などを行うことができます。その後、上部にある「すべて選択した項目で実行」ボタンをクリックするだけです。
プラグインはデータベースを最適化します。ただし、プロセスが中断された場合、データが破損する可能性があります。そのため、最適化を行う前にサイトのバックアップを作成することをお勧めします。
詳細については、ワンクリックで WordPress データベースを最適化する方法のチュートリアルを参照してください。
この記事が、WordPress データベースでワンクリックでテキストを検索および置換する方法を学ぶのに役立ったことを願っています。また、phpMyAdmin を使用した WordPress データベース管理の初心者ガイドと、WordPress で検索可能なデータベースを作成する方法のチュートリアルも参照してください。
この記事が気に入ったら、WordPressのビデオチュートリアルについては、YouTubeチャンネルを購読してください。 TwitterやFacebookでもフォローできます。


デニス・ムトミ
共有したいPROのヒントは、特にシリアライズされたデータを扱う場合、まずステージングサイトで検索および置換機能をテストすることの重要性です。
これにより、特定の文字列を置換することによって発生する可能性のある予期しない問題を回避できます。
アーロン
素晴らしいヒントをありがとうございます!プラグインをインストールせずに、phpMyAdminで検索と置換をすべて行う前にバックアップを行いました。その後、WP-Optimizeをインストールしてデータベースをクリーンアップしました。素晴らしいです!
WPBeginnerサポート
You’re welcome! Glad our guide was helpful
管理者
kzain
WordPressサイトの一括編集に役立つ救世主です!魔法のような「ワンクリック」ソリューションはありませんが、プラグインの推奨事項と、上級ユーザー向けのphpMyAdminアプローチはどちらも価値があります。まずウェブサイトをバックアップするようにというリマインダーを特に高く評価しています。これは私がスキップしない安全ネットです。
リサ・ドッドソン
プラグインの推奨は、実際のレコード結果ではなく、数だけを表示するためにアップグレードが必要でなければ、もっと良かったでしょう。多くの投稿がある場合、詳細な結果を確認せずに一括置換を安易に行うことは決してありません。
WPBeginnerサポート
Using the dry run feature should tell you the number of results that are found and would be changed
管理者
Chris
HTMLコードの検索と置換はできますか?(table td tr)コードのスニペットを置き換えたいのですが。
WPBeginnerサポート
コードがどこから追加されたかによりますが、通常はコードを変更するために、そのコードが存在するページを編集できるはずです。
管理者
シャハラ
こんにちは!SQLで特定の言語の単語のみを検索および置換するにはどうすればよいか教えていただけますか?
言語クエリを試しましたが、うまくいきませんでした!
どのような助けでも本当に感謝しています。ありがとうございます。
WPBeginnerサポート
特に連絡がない限り、現時点では残念ながら言語別の検索機能はありません。
管理者
サウード・シャー
このプラグインまたはphpmyadminで、カテゴリとページタイトルを2018から2019に変更するにはどうすればよいですか?
WPBeginnerサポート
投稿とページのタイトルについては、wp_postsテーブルを検索しますが、カテゴリとそのURLを変更する場合は手動で行い、301リダイレクトを作成する必要があります。
管理者
Aminu
投稿のタイトル内のテキストを置き換えるにはどうすればよいですか?
Vishal
これについて本当にありがとうございます。まったく同じ解決策を探していました。
Anang
本当にありがとうございます。何時間もの作業が省けました。
RCdiy
URLをスキップして、「OpenTx」のすべてのインスタンスを「OpenTX」に置き換えたいのですが。つまり、基本的に視聴者が見るものだけです…どうすればよいですか?Search ReplaceとBetter Search Replaceの両方をインストールしましたが、それらはURL内でも置き換えてしまいます…
Piter
プラグイン「Search $ replace」と「Better Search Replace」を試しましたが、効果はありませんでした。投稿内のリンクはありましたが…
コードの方法、ありがとうございます。うまくいきました。数秒しかかかりません。
samowal
本当にありがとう、君。
Peter
You already wrote an article about this last year: https://www.wpbeginner.com/plugins/search-and-replace-plugin-for-wordpress-database/
WPBeginnerサポート
Thanks for noticing
This is actually a rewrite of an old article that only showed the code method. We decided to add the plugin method and more explanation to it.
管理者
KMurphy
これはサイトを移行する際に役立つものでしょうか?DBのURLを新しい場所に移動させるために?
キム・ホプキンス
今やりました。
オスカー・エステパ
100%確信はありませんが、SQLクエリはシリアライズされたデータを処理できないと言えます。提案されたSQLクエリを使用してデータベースを検索および置換すると、シリアライズされたデータが破損し、ウィジェットが機能しない、画像が消える、JavaScriptが壊れるなど、後で多くの問題が発生します。
このリンクでよく説明されています http://davidcoveney.com/782/mysql-database-search-replace-with-serialized-php/
ですので、提案されたBetter Search Replaceプラグインやinterconnectitスクリプトのように、シリアライズされたデータを処理するプラグイン、スクリプト、またはツールを探す方が良いでしょう。
個人的には、WP-CLIに統合されている検索・置換ツールを使用しています。私の経験では、それは市場で最も優れた、最も高速なツールであり、これまでのところ問題はありません。数十のウェブサイトでテストしました。あまり慣れていない人には、WP-CLIはターミナルコマンドツールであり、すべての人に適しているとは限らないため、プラグインをお勧めします。
ダミアン・カーベリー
internetconnect/it’s Database Search and Replace Script が気に入っています。
記事内のphpMyAdminの例とは異なり、すべてのフィールドを検索します。また、ダミー実行も行います。