サイト移転後のデータベースで WordPress URLを一括変更する方法

Last Updated:2023年12月30日| | コメントを残す

WordPressでサイトのURLを一括変更したい場合は、次の記事で紹介するプラグインを使用すると、 WordPress 管理者ページ内で容易にURLをすべて変更または更新することができます。

サイトを移転した後、 WordPress URLを変更する場合があります。 この場合、phpMyAdminのようなMySQLクライアントからサイトのURLを全体的に変更することができます。 WordPress 管理者ページに接続できない場合に、この方法を利用することができます。

DBの操作は危険ですので、必ずバックアップを行ってください! DBの操作は元に戻すことができません。 間違っている場合、サイトに恒久的に接続していないことがあります。

phpMyAdminで WordPress URLを全体的に変更する

まず、phpMyAdminに接続するようにします。 phpMyAdminにアクセスする方法がわからない場合、サイトがホスティングされているホスティング会社にお問い合わせください。 Cafe24の場合、セキュリティの問題にphpMyAdminサービスが終了しました。 代わりに、次の文を参照してHeidiSQLなどの他のMySQLクライアントを使用してデータベースに接続することができます。

HeidiSQLに慣れていない場合は、phpMyAdminをインストールできます。

ファーストコメット などのようにcPanelを提供するWebホスティングを利用する場合、cPanelからphpMyAdminに接続できます。

cPanelで提供されるphpMyAdminツール

Databases » phpMyAdminをクリックすると、phpMyAdminに接続されます。 そのDBを選択し、[SQL]タブをクリックします。

phpMyAdminでサイトのURLのバッチ更新する

上記のような画面で、次のようなコードを入力します。 (実際のUIはphpMyAdminのバージョンによって異なる場合があります。)

UPDATE wp_options SET option_value = replace(option_value, 'http://www.oldurl.com', 'http://www.newurl.com') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = replace(guid, 'http://www.oldurl.com','http://www.newurl.com');
UPDATE wp_posts SET post_content = replace(post_content, 'http://www.oldurl.com', 'http://www.newurl.com');
UPDATE wp_postmeta SET meta_value = replace(meta_value,'http://www.oldurl.com','http://www.newurl.com');

サイトのアドレスを適切に変更して、必要に応じtable prefixの値も適切に修正します。 クエリステートメントを実行する前に、必ず複数回確認し、異常がないことを確認します。 先に述べたように、必ずDBのバックアップをしてください。 DBのバックアップをしていなかった場合、今でもしてください。

異常がない場合は、一番下の「GO」または「実行」をクリックすると、すべて WordPress URLが新しいURLに変更されます。

クラウドウェイズを使用している場合は、Database Managerを介してディビにアクセスできます。

DB回復する

もしアドレスを誤って変更したり、DBを誤って操作して、サイトにアクセスすることができなくなる場合は、そのDB内のすべてのテーブルを削除した後に インポート タブを使用してバックアップしたDBファイルをインポート(インポート)ファヨ回復することができます。

phpMyAdmin  - データベースのインポート

phpMyAdminを介して取得することができるDBのサイズには制限があります。 インポート可能なDBのサイズを追加する場合は、SSHを介してDBをインポートすることができます。

SSHに接続できない場合には、DBサイズを分割してインポートすることは可能です。

コマンドラインでサイトのURL一括変更する

上級ユーザーである場合、command lineを介してURLを一括変更することができます。

mysql> UPDATE wp_options SET option_value = replace(option_value, 'http://www.oldurl.com', 'http://www.newurl.com') WHERE option_name = 'home' OR option_name = 'siteurl';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 2 Changed: 0 Warnings: 0

mysql> UPDATE wp_posts SET guid = replace(guid, 'http://www.oldurl.com','http://www.newurl.com');
Query OK, 0 rows affected (0.03 sec)
Rows matched: 1962 Changed: 0 Warnings: 0

mysql> UPDATE wp_posts SET post_content = replace(post_content, 'http://www.oldurl.com', 'http://www.newurl.com');
Query OK, 0 rows affected (0.05 sec)
Rows matched: 1962 Changed: 0 Warnings: 0

mysql> UPDATE wp_postmeta SET meta_value = replace(meta_value,'http://www.oldurl.com','http://www.newurl.com');
Query OK, 0 rows affected (0.02 sec)
Rows matched: 1543 Changed: 0 Warnings: 0

SSHでDBに接続する場合は、次のコマンドを実行します。

mysql -h <DBhostname> -u <DBuser> -p <DBname>

メモ:


コメントを残す

コメント