WordPressのドメイン変更方法

2022年9月22日

WordPressでは基本的に、設定>一般>サイトアドレス、Wordpressアドレスに設定されたURLでしか運用することができず、例えば他のドメインに変更する場合には、それなりの対処が必要になる。

バックアップ

何にしてもまずバックアップをすること。Wordpressインストールディレクトリ以下と、それが使用するMySQLデータベースをまるごとバックアップするのが最も簡単だろう。

移行操作が必要な理由

最初に書いたように、Wordpressでは、設定>一般>サイトアドレス、Wordpressアドレスに設定されたURLでしか運用できない。さらに、何も考えずにWordpressでサイトを構築していくと、あちらこちらにそのURLが書き込まれてしまっている。例えば、画像をアップロードして固定ページや投稿ページからそれを参照すると、

<img src=”https://old-domain.com/wp-content/uploads/2022/09/276×300.jpg”>

などと、old-domain.comが書き込まれてしまう。これらをすべて、新サイトのドメインnew-domain.comに変更しなければならない。

どこを変更するか

設定>一般の内容も、投稿内容も、ほぼすべてがMySQLデータベースに格納されているため、ドメイン変更の際には、このデータベース内の該当テーブルの全行について、例えば、すべての「old-domain.com」を「new-domain.com」に書き換えねばならない。

これを手作業でやろうという人はいないだろう。当然ながら、何らかの「自動変換」機能を使うしかない。

今回使用した変換機能

調べてみると、様々なスクリプトやらプラグインやらがあるのだが、最も単純なものを使ってみることにした。

※当然だが、これを行った後は、旧URL(例ではold-domain.com)ではアクセスできなくなってしまう。ただし、移行操作を行った後で旧URLでアクセスする方法もあるにはある。これは後述する。

使用したのは以下のプラグインだ。

有効にしたら、以下を表示する

旧ドメインと新ドメインを入力し、対象とするテーブルを選択する。すべてを選択するので、一行目をクリックしてから、シフトキーを押しながら最終行をクリックする。

なお、最初はDryrunをONにしてやってみる。これは、検索するだけで、実際には置き換えは行わない。

以下のような結果が表示される。

上でよければ、DryrunをOFFにして、実際に置換を行う。置換すると同時に、以下のエラーになる。なぜなら、old-domein.comではもはやアクセスができなくなったからだ。new-domain.comからしかアクセスはできない。

※設定>一般>サイトアドレス、Wordpressアドレスもデータベース上に格納されているので、それも変更される。

new-domain.comのDNSが変更済であれば、そちらでアクセス可能になるはずだ。

何かしらを間違えた場合

例えば、新ドメインのつづりを間違えてしまったなど、完全にアクセスができなくなってしまった場合にはどうするか。一つには、バックアップを戻してやる方法がある。上のやり方だと、データベースの内容しか変更していないので、データベースを戻せば十分だろう。これで元通り、old-domain.comでアクセスできるはずだ。

もう一つとしては、Wordpressでは基本的に、設定>一般>サイトアドレス、Wordpressアドレスを「データベースに格納されているものとは無関係に、それを上書きする形で指定する」方法がある。この方法は、wp-config.phpファイルでのWordPress URLの変更で解説されている。

この場合、wordpressの管理画面にアクセスすることはできないので、トップディレクトリにあるwp-config.phpに強制的に両URLを書き込んでしまうということだ。データベース側に間違ったサイトアドレス、Wordpressアドレスが記述されたままでも、wp-config.phpの方が強いので、そちらが採用されることになる。

こうしてとりあえずは、所望のURLでアクセスできることになる。