【Search Regex】記事を一括置換するプラグインの使い方

2021年11月11日ブログ

Search Regexのアイコン

この記事では、WordPressの記事を一括検索&置換できるプラグイン「Search Regex」について書きます。

過去の記事に書いていた”癖”を一気に修正できます。

Search Regexのスクリーンショット

WordPressの記事内にある特定の単語を検索&置換できるプラグインです。導入すると、ツールメニュー内に専用のページが追加されます。

検索ボックスに入力した単語・文章を含んでいる記事が一覧表示されて、該当の場所が黄色くハイライトされます。検索と置換は分離されているので、検索だけして置換しないことも可能です。置換を実行する前に、完成後のプレビューを確認できるので、失敗しにくいです。

過去に勘違いしていた単語や間違いを一気に修正できます。

実を言うと僕は、今まで「アフィリエイト」のことを「アフェリエイト」と勘違いしていました。過去何記事分も「アフェリエイト」って呼んでいたんですよ笑。読者の方から指摘されました。ちょー恥ずかしいです。

このような場合、通常ならいちいち記事を開いて、1つずつ修正する必要があります。本プラグインを使うと、一瞬で過去記事すべての「アフェリエイト」を、正しい単語である「アフィリエイト」に修正できます。効率化ですね。

他にも、「chrome」を「Chrome」といったように、小文字と大文字を変えたり、「2022年」を「2022年」といったように半角に統一したりできます。

また、2022年7月に公開されたバージョン3.0から、特定の条件に絞り込んで検索・置換することも可能になりました。例えば、特定の投稿日以降の記事、特定のURLスラッグ・タイトル・IDが含まれている記事だけに絞って、置換できます。

大文字小文字の区別に対応しています。投稿本文内だけでなく、コメント、投稿メタ情報など、検索・置換対象場所も変更できます。検索条件を保存して、プリセットとして登録もできます。

正規表現を使った高度な検索・置換も可能です。「2021年は、〇〇でした。」という文言を、「2022年は、〇〇だったよーん」といった感じで、一部そのままで、前後の文章だけ変えることが可能です。素人には難しいですが、より高度な置換をしたい方におすすめです。

使っているWordPressテーマに関係なく利用できます。無料です。

提供元:John Godley
記事執筆時のバージョン:3.0.5(2022年8月25日)

ダウンロード方法

WordPress管理画面→左側の「プラグイン」→新規追加をクリックします。

Search Regexプラグインの導入手順画像1

右上の検索ボックスに「Search Regex」と入力して検索します。

出てきたプラグインの「今すぐインストール」をクリックします。緑の背景に赤い花のアイコンが目印です。インストールできたら、「有効化」をクリックします。

Search Regexプラグインの導入手順画像2

使い方

WordPressの管理画面→ツール→「Search Regex」をクリックします。

Search Regexプラグインへの使い方画像1
【ポイント】バックアップが重要

Search Regexは、通常の修正作業と違って、WordPressのデータベースを直接書き換えます。

本来、記事編集画面から普通に修正したら、リビジョンと呼ばれるいくつかのバックアップが作成されます。本プラグインで置換した場合、リビジョンは作成されません。一度変更すると、元に戻せないということです。

よって、安易な気持ちで適当に置換するのはやめましょう。しっかり必要性を考えて、実行することをおすすめします。

置換中に何かしら不具合(エラー)が発生する可能性もあります。そうなった場合、中途半端な書き換えになり、最悪の場合、ページの表示がおかしくなります。

そういった理由から、置換前は投稿のバックアップを取ることを推奨します。

投稿のバックアップは、ツール→エクスポートからできます。

WordPressの投稿をバックアップする手順画像1

以下のような「pc.WordPress.〇〇-〇〇-〇〇.xml」のファイルがダウンロードできたら、バックアップ完了です。

WordPressの投稿をバックアップする手順画像2

絞り込み

Search Regexページにアクセスして、「入力」の部分で、検索するフィールドを選択します。基本はデフォルトの「投稿(コア&カスタム)」のままでOKです。

Search Regexプラグインへの使い方画像2

コメント、ユーザー、WordPress設定、投稿メタ情報などに変更できます。コメントとは、記事のコメント欄のことですね。

次に、「絞り込み」で、検索する場所の条件を指定します。以前は、特定の記事に絞り込むことができなかったのですが、大型アップデートの3.0から絞り込めるようになりました。めちゃくちゃありがたい機能です。

Search Regexプラグインへの使い方画像3

いくつか紹介します。

タイトル

特定のタイトルが含まれる記事だけに絞り込めます。

Search Regexプラグインへの使い方画像4

「タイトル」にすると、その横に具体的な設定ドロップダウンが表示されます。以下の中から選択できます。

  • が等しい
  • が等しくない
  • に含む
  • に含まない
  • が以下で始まる
  • が以下で終わる

例えば、記事タイトル内の一部に「Vivaldi」と含まれている記事だけに絞りたい場合は、「に含む」にして、その右横のボックスには「Vivaldi」と指定します。検索ボックス下に、該当する記事が一覧表示されます。

スラッグ

特定のURLスラッグが含まれる記事だけに絞り込めます。

過去記事全部ではなく、特定の記事だけ修正したい場合は、このタイプの絞り込みを利用するといいかなと思います。URLスラッグは、自身のサイト内で重複しないためです。タイトルや公開日時だと、被る可能性がありますからね。

URLスラッグとは、記事URLの末尾にある文字列のことです。僕の場合、「https://www.naporitansushi.com/diary/」の「diary」の部分ですね。記事編集画面の右側サイドバー内にある「パーマリンク(URLスラッグ)」という項目から確認できます。

WordPressのURLスラッグが記載された場所のスクリーンショット

1記事だけに絞り込む場合、「が等しい」にして、該当のURLのスラッグをそのままコピペしましょう。当サイトの場合、「naporitansushi-words-i-dislike」にすると、1記事だけヒットします。(こちら

Search Regexプラグインへの使い方画像5

本文

特定の文字列が本文に含まれる記事だけに絞り込めます。

例えば、本文内に「ナポリタン寿司」と書かれている記事内にある「りんご」という文字列を、「ぶどう」に変換したい…!といった時に便利です。

今までは、過去記事すべてが検索対象だったので、嫌でも「りんご」という文字列すべてが「ぶどう」に変わっていました。

ポイントですが、本文にした場合、「に含む」にするのがおすすめです。初期の「が等しい」だと、記事内の全文が一致する場合のみに絞り込まれます。わざわざ記事本文の全部を、検索ボックスに入力しないといけないので、めんどくさいと思います。

日時

特定の公開日時に絞り込めます。

カレンダーで選択できます。例えば、「2022年8月22日」に公開した記事の中で、「ナポリタン寿司」と書かれた部分を、「スパゲッティ味噌汁」に変更するといったことができます。

英語表記なので、月の英語がわからない方は、ネットでググってみてください。

Search Regexプラグインへの使い方画像6

「の範囲」にすると、任意の日時の間を指定できます。下記画像だと、2022年8月1日~8月31日の間ということになります。

Search Regexプラグインへの使い方画像7

投稿状態

投稿状態で絞り込めます。以下の中から選択できます。

publish公開済
future予約済(予約公開)
draft下書き
pending承認待ち
private非公開
trashゴミ箱
auto-draft自動保存(リビジョン)
inherit継承
request-pending要求保留
request-confirmedリクエスト確認済み
request-failedリクエスト失敗
request-completedリクエスト完了
dp-rewrite-republish書き換え&再公開状態の記事

publish(公開している記事)か、draft(下書き)がメジャーかなと思います。例えば、公開している記事には反映させず、下書きの記事だけに絞り込みたい時などですね。まぁ、下書きなら、普通に記事編集画面で修正してもいい気がします。量にもよりますが。

絞り込み条件の追加(AND、OR)

絞り込み条件は、複数指定できます。

ANDにしたい場合は、入力の右にある「追加」、ORにしたい場合は、絞り込みの右にある「絞り込み条件の追加(OR)」ボタンをクリックします。

例えば、公開日時が〇〇、かつ記事本文に〇〇が入っている記事だけに絞り込みたい場合は、AND(追加)になります。一方で、スラッグが〇〇、または〇〇の記事に絞り込みたい場合は、OR(絞り込み条件の追加)になります。

Search Regexプラグインへの使い方画像8

下記画像のように、ANDとOR条件を組み合わせることも可能です。下記画像だと、日時が2022年8月1日~31日の間で、かつ本文に「Windows」、あるいは「Mac」が入っている記事に絞り込むという意味です。

Search Regexプラグインへの使い方画像9

検索

検索ボックスに検索・置換したい文字を入力します。

今回は、試しに「テスト記事」というタイトルの記事内にある「テストです。あっはははは。」という文字列を、「テストだぜ!!がーはははは」に変えてみたいと思います。

絞り込みで「タイトル」→「が等しい」→「テスト記事」にします。これで、テスト記事というタイトルの記事だけに絞り込まれます。それ以外の記事で、「テストです。あっはははは。」という文字列を使っていてもヒットしなくなります。

特定の記事ではなく、過去記事すべてを検索対象に含みたい場合は、「絞り込み」は何も設定しません。デフォルトの「投稿タイプ」でOKです。

検索ボックスに「テストです。あっはははは。」と入力します。

Search Regexプラグインへの使い方画像10

必要に応じて、右側の「フラグ」を調整します。大文字小文字を区別するか、正規表現を使うかどうか指定できます。日本語を検索する場合は、大文字も小文字も関係ありません。ローマ字の時だけですね。

正規表現ですが、理解していない方は弄らないほうがいいです。詳しくは、こちらを参考にしてみてください。

青色の「検索」ボタンをクリックすると、データベース検索が開始されます。数秒まつと該当の場所が黄色ハイライトされて、一覧表示されます。

Search Regexプラグインへの使い方画像11

量が多い場合は、「検索表示数」を25件から50件以上に変更するといいかもしれません。あまり大きくすると、WordPressに負担がかかりそうなので注意です。

置換

置換欄のテキストボックスに置換後の文字列を入力します。今回の場合は、「テストだぜ!!がーはははは」ですね。

入力すると、「検索条件が変更されました。最新の結果を表示するには、更新してください。」と表示されるので、「更新」ボタンをクリックします。

「すべて置換」は、結果後のプレビューを表示せずに、すぐに置換作業を開始するボタンです。いきなりクリックするのは、絶対におすすめしません。まずは、「更新」で置換後の状態を確認しましょう。

Search Regexプラグインへの使い方画像12

再び検索結果が更新されます。

先ほど検索した時は、黄色ハイライトでしたが、置換後の文字列に置き換わって、オレンジハイライトで表示されます。この時点では、まだ置換されていません。あくまでプレビューです。この時に、どこかおかしな部分を発見したら、戻れます。

Search Regexプラグインへの使い方画像13

プレビューを確認して、OKの場合は「すべて置換」をクリックします。

Search Regexプラグインへの使い方画像14

置換作業が開始されます。

進行状況が青いゲージで表示されるので、100%になるまで待ちます。量が多いほど、時間がかかります。今回は、1記事の一部を変更するだけなので、一瞬で終わりました。この時、置換しているタブを閉じなければ、別のタブを見ていてもOKです。

100%になったら、「完了」をクリックします。ゲージの下に「〇 rows」といった感じで、何記事置換したか表示されます。今回の場合、1記事+その記事のリビジョン(自動保存)が対象だったので、2と表示されました。

Search Regexプラグインへの使い方画像15

記事編集画面を開いて、ちゃんと置換されているか確認してみます。すでに開いていた場合は、リロードします。

無事に「テストです。あっはははは。」を全部「テストだぜ!!がーはははは」に変更できました。

Search Regexで置換する前と後の比較画像

プリセットの活用方法

検索条件をプリセットとして保存・呼び出しできます。本プラグインを、かなりヘビーに利用している方におすすめです。たまーに置換するくらいの人は、別に作成する必要はありません。

例えば、投稿者がAで、かつ日時が2022年5月以降…といった条件をよく利用する方は、プリセットに登録すると便利です。次回以降、いちいち設定しなくても、プリセットから呼び出せば、自動的に設定した条件が適用されます。

プリセットに登録したい条件を設定して、プリセットの右にあるミートボールメニュー(三点ボタン)→「検索を新規プリセットとして保存」をクリックします。

検索条件をプリセットに保存している画像1

名前を決めて、「保存」をクリックします。日本語でも英語でもOKです。

検索条件をプリセットに保存している画像2

これで次回以降、プリセットから保存した設定を呼び出せます。

検索条件をプリセットに保存している画像3

プリセットの編集・削除は、上部の「プリセット」タブからできます。

Search Regex→プリセットページ画像

【応用編】正規表現を使った検索・置換

正規表現を使った高度な検索・置換も可能です。「正規表現って何よ?」という方は、無理に手を出さないほうがいいと思います。失敗する可能性があります。

正規表現を使う場合、入力のフラグにある「正規表現」にチェックを入れます。この状態で、テキストボックスに正規表現を入力します。

Search Regexで正規表現を使っている画像1

正規表現は奥が深くて、簡単には語れませんが、Search Regexの場合は、「.*」が使いやすいと思います。任意の文字という意味です。前後の文字を変えて、中央の文字は変更しない…といったことが可能です。

試しに、鍵括弧で囲まれた文字を検索→中の文字はそのままで、括弧記号だけを変更してみます。正規表現をオンにした状態で、以下のように検索ボックスに書き込みます。かっこもそのまま入力します。

「(.*)」
Search Regexで正規表現を使っている画像2

数秒まつと、検索結果が表示されます。サイト上の「〇〇」という文字列がヒットします。

Search Regexで正規表現を使っている画像3

続いて、置換の入力ボックスに以下のように入力します。入力できたら、「検索」をクリックします。正規表現は通常の置換よりも失敗しやすいので、必ずプレビューをチェックしましょう。

『($1)』

すると、〇〇はそのままで、前後の鍵括弧記号だけを、二重鍵括弧にできました。

Search Regexで正規表現を使っている画像4

上記のように、特定の文字はそのままで、ほかの部分を変更したい時に、「(.*)」が役立ちます。

置換後の文字列は、「(.*)」ではなく、「$1」にするのがポイントですね。置換ボックスも「(.*)」だと、おかしな結果になります。ここらへんは、Search Regexではなく、正規表現のお話です。僕もよく理解していません。あはは。

感想

以上、WordPressの記事を、絞り込んで検索&置換できるプラグイン「Search Regex」についてでした。

本プラグインの存在を知らなかったら、数百ある記事を、一つ一つ修正しないといけない…って考えると恐ろしいです。データベースを直接書き換えるので、知識がない状態だと、かなーりリスクがありますが、使いこなせると、大幅に時間短縮できて便利です。

Posted by ナポリタン寿司