WordPressマルチサイトの移行

WordPressサイトの移行

WordPressで構築されたサイトを移行する場合は、データを移したり、データベースの情報を書き換えたり、.htaccessファイルを書き換えたり、データベースの中身を置換したりと、いくつかの手順を踏む必要があります。

今回、マルチサイトを移行することがあり、それらの手順だけではうまく移行ができなかったので解決の備忘録として記事に残します。

wp-config.phpの書き換え

まず、WordPressフォルダ内にある「wp-config.php」というファイルがあります。マルチサイトではない通常のWordPressサイトでもこのファイルを編集しますが、マルチサイトの場合書き換える部分が通常より多いので注意が必要です。

おそらくマルチサイト化したときに、以下のような記述を「wp-config.php」に追加したと思います。


define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', 'ドメイン名');
define('PATH_CURRENT_SITE', 'パス');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

このドメインとパスの部分が旧情報のままになっているので、移行先の情報に書き換える必要があります。

データベース情報の書き換え

いつもはSQL文を使って文字の置換を行っていますが、マルチサイトのURLを変更する記事としてこちらのサイトを参考にさせていただいていたのですが、面白いツールがあったので紹介します。

「Search-Replace-DB-master」というツールで、ダウンロードしたファイル一式をサーバー上にアップし、画面の指示に従って旧情報、新情報をそれぞれ入力することで一括でデータベースの情報を置換してくれます。

ZIPダウンロード

詳しい使用方法は、こちらの元サイトをご覧いただいたほうが分かりやすいかと思いますので割愛します。

.htaccessの書き換え

ここで躓いてしまったのですが。移行先サーバーのルートに配置する.htaccessファイルは以下のようになります。


RewriteEngine On
RewriteBase / (.htaccessが置いてあるパス)
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) wp/$2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ wp/$2 [L]
RewriteRule . index.php [L]

wpフォルダ内にある.htaccessファイルは以下のように記述しました。


# BEGIN WordPress

RewriteEngine On
RewriteBase /wp/ (wpフォルダまでのパス)
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wp/index.php [L] (wpフォルダまでのパス/index.php [L])

# END WordPress

参考サイトとまとめ

マルチサイト化の手順

初めてマルチサイトを制作したのですが、こちらの記事の通りに手順を踏んで進めていくと上手くマルチサイトを構築することができました。ありがとうございました。

マルチサイトのURLを変更するとき

マルチサイトのURLは通常のWordPressサイトのように管理画面から変更することができないようです。

こちらのサイトにマルチサイトの場合の変更方法が掲載してあり、大変助かりました。ありがとうございました。

マルチサイトを作ることってなかなかないので、次にマルチサイトを作るときに同じことで戸惑いそうなきがしたので記事に残しておきました。

あくまでも今回私が調べて解決した手順ですので、もしここが違う!もっと良い方法がある!などございましたら、是非こちらからご連絡いただけると幸いです。

related article

2021/01/15 WordPress

WordPressのビジュアルエディタの名称や出力されるhtmlタグを変更する

2021/03/09 WordPress

All in One SEOでページタイトルの挙動がおかしくなった

2020/07/03 WordPress

管理画面で固定ページを検索すると投稿が表示されてしまう

2020/06/29 WordPress

WordPressの投稿記事のタイトルの文字数を制限する