今回は、WordPressサイト全体で特定の文字列を一括置換したい場合に便利なプラグイン「Search Regex」の使い方を解説します。
Search Regexを使用すると、サイト内で使用されている特定のキーワード・文字列(ショートコード、アフィリエイトリンク)の検索や一括置換ができます。
また、投稿ページや固定ページ、一部のカテゴリーに属するページのみといった具合に絞り込み条件を設定し、その範囲内でのみ文字列を置換することも可能です。
今回ご紹介するSearch Regexは誤って文字列置換をすると、サイト表示がおかしくなる可能性があります。本手順は特定の環境下での作業手順を説明したものであり、本番環境での実施はバックアップを取った上自己責任で実施をお願いいたします。
Search Regexのインストール方法
「プラグイン>新規プラグインを追加」をクリックします。
「Search Regex」で検索し、出てきたこちらのプラグインをインストールします。
「有効化」をクリックします。
これでプラグインのインストールができました。
Search Regexの基本的な使い方
Search Regexのインストールが完了すると、左サイドバー「ツール」の中に「Search Regex」と書かれた項目が追加され、ここから操作を行なっていきます。
まず最もシンプルな例でご紹介します。
置換したい文字列を検索する
「検索」に置換したい文字列を入力します。(今回の例では「ワードプレス」と入力。)
「検索」をクリックします。
これで、固定ページ・投稿ページ内のいずれかで「ワードプレス」という文字列が使用されている記事リストが画面下に表示されます。
置換用の文字列を入力し置換する
最後に、「置換」に置換用の文字列を入力します。(今回の例では「WordPress」と入力。)
デフォルトではタイトル・スラッグ・本文など全ての文字列を置換対象になります。
「更新」をクリックします。
そうすると、置換結果のプレビューがオレンジ色のハイライトで表示されます。(この段階ではプレビューが表示されているだけで、置換が完了していません。)
このデータベース行を削除に注意
各行にカーソルを合わせると、そのページの表示画面・編集画面に移動できますが、「このデータベース行を削除」をクリックすると記事(ページ)が削除されます。
意図せず削除しないようにクリックしないよう注意しましょう。
問題がなければ、「すべて置換」をクリックします(※注)。
(※注)誤って文字列を置換すると意図せぬ表示になり修正が大変になるリスクもあります。文字列置換の前に念の為バックアップなど取得しておきましょう。
関連【UpdraftPlusの使い方】バックアップ設定・復元方法と注意点
以上でタイトルや本文、スラッグ内で使用されている「ワードプレス」が「WordPress」に一括置換されました。
Search Regexを使用する上での注意点
Search Regexの注意点として、置換する記事数が多い場合は、一度で全て置換が完了しないことがあります。
置換する記事数が多い場合は、表示する検索結果の数を増やすか、置換後に再度キーワードで検索をかけてみて、残っているところがないか確認してみると良いでしょう。
タイトルなど一部項目のみ置換したい場合
「操作」を、「全体の文字列置換」と設定している場合、タイトルや本文、スラッグ内で使用されている文字列が全て置換されます。
これを例えば、タイトルなど一部項目のみ置換したい場合は、「操作」を「一部項目を修正」に変更します。
「タイトル」が選択されている状態で、「追加」をクリックします。
『置換「WordPress」』を選択します。(※置換「〇〇」の〇〇には、「検索」で検索したキーワードが表示されます。)
置換用の文字列を入力し、「検索」をクリックします。
そうすると、プレビュー画面では実際に置換される部分のみオレンジ色のハイライトで表示され、置換はされないもののスラッグや本文内の検索対象になったキーワードに関しては黄色のハイライトで表示されます。
プレビューの内容で問題なければ、「すべて置換」をクリックします。
これで、タイトルのみ置換することができました。
Search Regexの応用的な使い方
Search Regexでは絞り込み条件を追加したり正規表現を使って、より柔軟に文字列置換の範囲を設定できます。
絞り込み条件を設定する方法
デフォルトでは、入力が「投稿(コア & カスタム)」となっており、あらかじめ 投稿タイプ に含む 投稿 固定ページ という条件が1つ追加されています。
「入力」では、検索・置換対象のデータベースの範囲を指定し、「絞り込み」ではその対象範囲の中でどのように絞り込みたいかを指定します。
入力 | 検索・置換対象のデータベースの範囲を指定。「投稿(コア & カスタム)」では、投稿・固定ページ等が対象になる。 |
---|---|
絞り込み | 入力で指定した対象範囲に、絞り込み条件を追加できる。投稿タイプや投稿カテゴリー、更新日時等で絞り込み可能。 |
そのため、この状態では文字列を検索し、置換すると、投稿や固定ページ内に含まれる指定した文字列全てが一括置換されるようになります。
ここでは、絞り込み条件を投稿のみにしたい場合は「固定ページ」を削除して対象から外したり、カスタム投稿を追加して検索対象に含めたりすることができます。
and検索で絞り込み条件を追加する
and検索では、条件Aと条件Bのいずれも満たしているページを文字列置換の範囲に設定できます。
例えば、投稿タイプとして「投稿」を指定しながら、「◯月◯日」以降に公開された記事のみに絞り込みたい場合などに使えます。
「追加」をクリックします。
新たな絞り込み条件が追加されます。
今回追加したい条件は特定の公開日以降の記事にしたいので、デフォルトで「ID」となっているところを「日時」に変更し、条件を 日時 が大きい October 1, 2024 12:00(お好みの日付) とします。
「検索」をクリックします。
これで、投稿の中でも10月1日12時以降に公開された記事のみが絞り込まれて表示されます。同様にして公開状態の投稿・固定ページだけを検索対象にすることもできます。
その後の置換方法は、前述の「置換用の文字列を入力し置換する」の流れと同様です。
(応用)正規表現を使って一括置換する方法
正規表現を使って、該当する文字列を一括置換することもできます。
例えば、WordPressという文字列では以下のような誤字が起こることが考えられます。
◾️WordPressの誤字例
- Word Press (間にスペースがある)
- Wordpres(最後の "s" がない)
- WordPresss(最後の "s" が多い)
- Wordpess ("r" がない)
- WordPerss("e"と"r"が逆になっている)
など
上記誤字例は、正規表現を使うと W[o0]rd ?P(?:res*|ers*|es*) といった具合に一文で表現できます。
◾️使用している正規表現の意味
- [] ・・・ 指定した文字のいずれかが含まれているかを確認する
- ? ・・・ 直前の文字がまったくないか1つだけある場合に一致する
- (?:...) ・・・ 非キャプチャグループを作成する
- | ・・・ 区切られたいずれかの文字列に一致する
- * ・・・ 直前の文字が0回以上繰り返される
Search Regexで、正規表現を使用するには「フラグ」箇所で「正規表現」にチェックを入れます。
キーワードの検索窓に正規表現を使用した文字列を記述して、「検索」をクリックします。
これで、正しい「WordPress」という文字列に加えて、誤字になっている文字列も一括で置換できるようになります。
まとめ
まとめです。今回はSearch Regexを使ってサイト内で使用されている文字列を一括置換する方法を解説しました。
アフィリエイトブログを運営されている方などであれば、アフィリエイトリンクが古くなって変更したいといった場合に非常に便利です。
リライト作業を効率化したい方は、ぜひSearch Regexを導入してみて下さい。
今回は以上になります。最後までご覧頂き、ありがとうございました。
個別指導形式のスクールでは、自分の知りたいことをピンポイントで学習・達成でき、自分で更新もできるというメリットもあります。
教室の無料事前相談もしておりますので、まずはお気軽にご登録ください。
YouTubeチャンネル開設しました!
最大月間50万PVの当ブログをベースに、Youtube動画配信にてWordPress、ホームページ作成、ブログのことについてお役立ち情報を随時配信していきます。
ご興味ある方はぜひチャンネル登録をしていただけますと幸いです。