状況によっては、WordPress ウェブサイトの一部を一括して更新する必要があります。例えば、HTTPからHTTPSに移行したばかりで、データベースのすべてのハードコードされたHTTP URLを更新する必要があります。あるいは、ドメインを変更し、データベース参照のすべてを更新する必要があります。一括してWordPressの検索と置換を実行する方法を知っておけばいいシナリオが数々あります。そして、時間の節約もできます!(何百時間も節約できる場合もあります。)

WordPressの検索と置換機能

WordPressの検索と置換を実行する方法数々あります。 本記事では、お勧めできる4つの方法を紹介します。

  1. Kinsta検索と置換ツール
  2. Better Search Replaceプラグイン
  3. interconnect/it Search Replace DB PHPスクリプト
  4. WP-CLI

1. Kinsta検索と置換ツール

Kinstaのお客様には、MyKinstaダッシュボードでアクセスできる検索と置換ツールをご利用いただけます。以下の手順に従ってください。

ステップ1

「ウェブサイト」で、検索・置換を実行したいウェブサイトの横にある「管理」をクリックします。

WordPressウェブサイトを管理する

WordPressウェブサイトを管理する

ステップ2

「ツール」をクリックすると、下部に「検索と置換」ツールがあります。

Kinstaの検索と置換ツール

Kinstaの検索と置換ツール

ステップ3

このツールは、下記のような様々な目的で操作できます。

  • 移行後に、HTTP URLのHTTPSに更新
  • wwwから非www URLへウェブサイトの移動(またはその逆)
  • 古いショートコード、コンテンツ、テキストの文字列を更新

この例では、HTTP URLをHTTPSに更新する方法を説明します。

  1. 検索フィールドにデータベースで検索したい値を入力します。今回は、HTTPドメインであるhttp://wpdev.ink</codeを記入します。
  2. 置換フィールドに、検索する値の代わりに使用したい新しい値を入力します。今回は、HTTPSドメインであるhttps://wpdev.inkを記入します。
  3. まず、「ドライラン」オプションが選択されていることを確認してください。これにより、実際に置換を行わずに交換回数がカウントできます。次に、「置換」をクリックします。

:どちらのフィールドにも先頭または末尾に空白がないことを必ず確認してください。望ましくない結果が生じる可能性があります。

HTTPからHTTPSへの検索と置換

HTTPからHTTPSへの検索と置換

ステップ4

置換回数をカウントするコマンドを実行するかどうかの警告画面が表示されます。「置換」をクリックして実行します。注:「ドライラン」モードでは、データベースを変更することはありません。

検索・置換回数のカウント

検索・置換回数のカウント

ステップ5

次に、置換合計回数が表示されます。

置換回数

置換回数

ステップ6

次に、「ドライラン」の選択を解除し、「置換」をもう一度クリックすることにより、検索と置換を実行しデータベースを変更することができます。注:これが実行されると、バックアップが自動的に作成されます(バックアップID:beforesearchandreplace)。 必要に応じていつでも復元できます。

ライブ検索と置換

ライブ検索と置換

最後に、置換の回数の最終フィードバックが表示されます。

ライブ検索と置換のフィードバック

ライブ検索と置換のフィードバック

2. Better Search Replaceプラグイン

Better Search Replaceという無料のプラグインを使用する方法もあります。

Better Search Replaceプラグイン

Better Search Replaceプラグイン

Better Search ReplaceプラグインはDelicious Brainsの素晴らしいWordPressチームにより開発され、以下の3つ目の方法であるinterconnect / IT PHPスクリプトに刺激を受けます。このチームのメンバーは、WordPress開発が非常に詳しいです。 現時点では、このプラグインは30万以上のアクティブなインストールがあり、評価は4.5です。それに、維持管理も積極的にされています。WordPressリポジトリからダウンロードすることも、WordPressダッシュボードの「新規追加」プラグインで検索することもできます。 例えば、下記の機能があります。

  • すべてのテーブルのシリアライゼーションのサポート
  • 特定のテーブルを選択する機能
  • 置き換えるフィールドの数を確認できるために「ドライラン」を実行する機能
  • 実行中WordPressインストール以外のサーバー要件はない
  • WordPressマルチサイトのサポート

利用できるシナリオが数々あります。下記の例のように、Better Search Replaceでは、ハードコードされたHTTP参照を簡単に検索し、HTTPSバージョンに更新できます。

Better Search Replaceのオプション

Better Search Replaceのオプション

このプラグインはさらに多くの機能のあるプロのバージョンもあります。よりいい使い方については、公式のドキュメンテーションを調べることができます。

3. interconnect/it Search Replace DB PHPスクリプト

WordPressの検索と置換を実行する3つ目の方法は、interconnect/itによるSearch Replace DBという無料のPHPスクリプトを使用することです。

interconnect/itによるSearch Replace

注:使い方の分からない方がこのスクリプトを使用してみると、WordPressウェブサイトを破壊する恐れがあります。自信のない方は必ず開発者またはウェブホストに問い合わせをしてください。

このスクリプトは2011年に開発され、それ以降は開発者が積極的に更新しています。interconnect/itは優れたWordPressコンサルティング活動と開発活動で知られています。スクリプトを使用するには、単にzipファイルをダウンロードし、search-replace-db-masterというフォルダを抽出し、お好みの秘密の名を付けて保存します。この例では、名前をupdate-db-1551に変更します。次に、FTPSFTP、またはSCPを使用してウェブサーバーのパブリックディレクトリにアップロードします。このディレクトリは通常、/ wp-contentフォルダのあるディレクトリです。次に、ブラウザの機密フォルダ(https://domain.com/update-db-1551など)にアクセスします。

interconnectのSearch Replaceスクリプト

interconnectのSearch Replaceスクリプトをアップロードする

スクリプトは自動的にデータベースフィールドを検索し入力しようとしますが、詳細が正しいこと、または対象が検索・置換操作を実行したいデータベースであることを確認する必要があります。 最初に「ドライラン」をクリックし、更新・置換の対象を確認することができます。 その後に準備ができたら、実際にデータベースの更新とWordPress検索と置換を実行する「ライブラン」をクリックします。

検索・置換を実行

WordPressデータベースで検索・置換を実行

また、セキュリティ上の理由から、完了後にはスクリプトを削除することも非常に重要です! 「削除」(delete me)ボタンをクリックすることができます。 削除しないと、ウェブサイトが攻撃を受けやすい状態である恐れがあります。ウェブサーバーのダブルチェックを行い、フォルダとスクリプトが完全に削除されたことを確認することもお勧めします。

4. WP-CLI

WordPressの検索と置換を実行する最後の方法は、直接WP-CLIで行うことです。この方法はWordPress開発者にピッタリです。当社のGoogle Cloudお客様には、WP-CLIを使用できるようにSSHアクセスを提供しています。WP-CLIに慣れていない場合は、当社のターミナルから行うWordPress管理についての詳細な記事をご覧ください。

こちらはコマンドの例です:

wp search-replace 'http://example.dev' 'http://example.com' --precise --recurse-objects --all-tables

wp search-replaceコマンドのパラメータについては、公式WP-CLIドキュメンテーション、またはこちらの詳細な検索と置換のWP-CLIガイドをご覧ください。

また、5番目の方法としては、もちろん手動で直接MySQLで検索・置換クエリを実行することもあります。しかし、これは専門家のWordPress開発者によってのみ行われるべきです。

50
シェア