ドメイン変更後にプラグインが更新できない時

サイト名を blog.cooss.net から cooss.net に変更したところ、プラグインの更新時に以下のようなエラーが表示されました。

Operation not permitted in ...  /wp-admin/includes/class-wp-filesystem-direct.php on line 173

ドメイン変更は以下の手順で進めました。

新しいドメインが現在WordPressがインストールされているフォルダに正しく接続されている状態で進める必要があります。そうでないと、WordPress管理ページにアクセスできず困ることがあります。

ドメイン変更

WordPressサイトのドメインを変更するには、いくつかのステップに従う必要があります。ドメインを変更する際は、データベースとWordPress設定を正確に修正しなければ、サイトが正常に動作しませんので、以下の方法を参考にしてください。

1. データベースバックアップ

ドメイン変更作業を始める前に、データベースとファイルをバックアップすることをお勧めします。WordPressデータベースは重要なデータを含んでいるため、問題が発生した際に復元できるようバックアップを作成しておきます。

2. wp-config.php ファイル修正

wp-config.phpファイルを開き、以下の2行を追加または修正して新しいドメインを指定します。

define('WP_HOME', 'https://newdomain.com');
define('WP_SITEURL', 'https://newdomain.com');

これによりWordPressは基本的に新しいドメインに接続するように設定されます。
(newdomain.comの部分を新しいドメインアドレスに変更する必要があります。)

3. データベース内URL変更

WordPressはドメインURLをデータベースに保存しているため、既存のURLを新しいドメインに変更する必要があります。

次のSQLクエリを使用してwp_optionsテーブルでURLを修正します。wp_は基本テーブル接頭辞であり、適合しない場合はテーブル接頭辞を確認して修正してください。

sqlコピー編集UPDATE wp_options SET option_value = replace(option_value, 'https://olddomain.com', 'https://newdomain.com') WHERE option_name = 'home' OR option_name = 'siteurl';

その他にもwp_postswp_postmetaなどのテーブルでもURLが使用される可能性があるため、すべてのテーブルでURLを一括変更することをお勧めします。

例クエリ:

sqlコピー編集UPDATE wp_posts SET guid = replace(guid, 'https://olddomain.com','https://newdomain.com');
UPDATE wp_posts SET post_content = replace(post_content, 'https://olddomain.com', 'https://newdomain.com');
UPDATE wp_postmeta SET meta_value = replace(meta_value,'https://olddomain.com','https://newdomain.com');

この作業はデータベース管理ツール(例: phpMyAdmin)やWordPress CLIを通じて実行できます。

4. 検索と置換プラグイン使用 (任意)

データベース内のURLを一括変更するためにBetter Search Replaceのようなプラグインを使用するのも方法です。このプラグインを使用することで、すべてのテーブルで特定のURLを検索して変更できます。

5. キャッシュとパーマリンク設定の更新

変更後はサイトのキャッシュを削除し、WordPress管理画面で設定 > パーマリンクメニューに入り、パーマリンク設定を再保存することをお勧めします。これは新しいURL構造を反映し、リンクエラーを防ぐのに役立ちます。

6. Googleおよび外部サービスにドメイン変更通知

サイトのドメインが変更された場合、GoogleサーチコンソールやGoogleアナリティクスなどの外部サービスにも新しいドメインを登録して通知する必要があります。これによりSEOへの影響を最小限に抑えることができます。

上記の手順を実行すれば、WordPressサイトのドメイン変更が完了します。

ドメイン変更はうまくいきましたが、上記内容の2) まで実施すればサイトは変更されたドメインにうまく接続されます。しかし、画像ファイルなどアップロードしたもののアドレスは古いドメインアドレスで保存されているため、既存のドメインを使用しなくなったり、他のサーバーに接続させたりすると画像が表示されなくなります。したがって、残りのデータベース作業も実施することをお勧めします。データベース作業をすべて実施した後は、2) の変更事項はもはや必要なくなるため削除しても問題ありません。(そのままにしておいても問題ありません)

プラグイン更新問題の解決

今、プラグインの更新がうまくいかなかった理由を探していました。

さまざまな原因が考えられますが、私の場合は一時作業が保存されているデータが問題だったようです。

mysqlで以下のようにトランジェントデータを削除するクエリを実行したところ、プラグインの更新も解決されました。

DELETE FROM wp_options WHERE option_name LIKE '_transient_%';
DELETE FROM wp_options WHERE option_name LIKE '_site_transient_%';

Updated : February 21, 2025
{{ reviewsTotal }}{{ options.labels.singularReviewCountLabel }}
{{ reviewsTotal }}{{ options.labels.pluralReviewCountLabel }}
{{ options.labels.newReviewButton }}
{{ userData.canReview.message }}
This site is registered on wpml.org as a development site. Switch to a production site key to remove this banner.