WordPressの移設(引越し)手順とチェック項目を備忘録を兼ねてまとめておきます。WordPressの統合やドメインの引越し、サーバ移設時に忘れないために・・・。今回はドメイン変更のケースを含めて記載します。
WordPressの移設(引越し)手順
WordPressの移設ですが手順を間違えると、ファイルのアップロード、ダウンロードなどに無駄に時間をとられるので、注意が必要です。 ざっくりとした順番は以下のとおり。
- 元サイトのファイルをダウンロードする
- 新サイトのディレクトリを準備する
- 新サイトのディレクトリにダウンロードしたファイルをアップロードする
- MySQLに新サイト用のデータベースを作成し、ユーザ権限を与える
- 元サイトのDBデータをエクスポートする
- 元サイトのDBデータを加工する
- WordPressをインストールする
- 元サイトのDBデータをインポートする
- プラグインを有効化
- URLをチェック(プラグインを含む)
- サイトチェック
- その他チェック
- sitemap.xmlを作成
- GoogleAnalyticsやGoogleウェブマスターツールを登録
- 元サイトから301リダイレクト
特にファイルのダウンロード、アップロードはかなり時間がかかるケースがある(画像の量などによる)ので、注意が必要です。 順番に簡単に説明します。わからない部分は適当にググって頂けると助かります。
1.元サイトのファイルをダウンロードする
FTPなどを利用して、元サイトのデータをダウンロードします。元サイトで余計なプラグインなどを入れすぎていた場合は、WordPressを新しくダウンロードしてきて、
- 画像データ
- 利用するプラグインデータ
- 利用するテーマ
のみをダウンロードすると良いです。 移設のタイミングは余計なプラグインを整理する絶好の機会です。 とにかく、環境によっては時間がかかるので、早めの作業、ダウンロードしてはじめてから御飯食べるくらいで良いです。
2.新サイトのディレクトリを準備する
新サイトのディレクトリ(新サイトでアクセスさせる場所)を準備します。 レンタルサーバであれば、たいていサーバ管理ツールなどにドメインの追加みたいな項目があるので、そこから設定します。 サブディレクトリに設置する、VPSなどの場合は、フォルダ作成してWebサーバの設定を行う。 とにかく、ダウンロードが終わったら速やかにアップロードできる環境を整えるのが再優先です。
3.新サイトのディレクトリにダウンロードしたファイルをアップロードする
ダウンロードが終わり、アップロードできる環境があれば、すぐアップロードを開始します。これも時間がかかるので、最優先です。ダウンロードが終わっていなければ、先の作業を進めて下さい。ダウンロードが終わった時点で、アップロードしてください。 アップロードするときには、WordPressというフォルダそのままアップロードする形で以下紹介します。WordPressの中身だけをディレクトリにアップロードしても良いのですが、ディレクトリがちらかるので、WordPressというフォルダごとアップロードします。 その際には、WordPressフォルダを設置したディレクトリにindex.phpファイルをアップロードする必要があります。この説明に沿ってくださいまし。 WordPress を専用ディレクトリに配置する
3.MySQLに新サイト用のデータベースを作成し、ユーザ権限を与える
新サイトのサーバ内MySQLに、新サイト用のデータベースを作成し、ユーザ権限を与えます(ユーザを作成する)。 レンタルサーバなどでは、管理画面上からコントロールできることが多いので、作成してください。 VPSや専用サーバなどでlinuxの場合は、以下のコマンドで作成。コマンドでログインしてから、、 MySQLを利用 mysql -u root -p
データベース作成 CREATE DATABASE データベース名 DEFAULT CHARACTER SET utf8;
ユーザ権限付与 GRANT ALL PRIVILEGES ON データベース名.* TO 'ユーザ名' IDENTIFIED BY 'パスワード';
データベースを作成し、ユーザに対して、そのデータベースを利用できるようにするってことですね。このあたりもレンタルサーバの管理ツールでGUIでできることが多いですね。
5.元サイトのDBデータをエクスポートする
phpMyAdminがあれば、エクスポートしたいデータベースを選択してエクスポートします。このときに、「DROP TABLE を追加」にチェックしておきます。 データベースをダウンロードすることで、記事やカテゴリだけでなく、リンクの情報などまるっとコピーすることができます。 この方法が不明であれば、WordPressの管理画面からエクスポートもできますが、リンクなどの除法はエクスポートされません。。。 ただ、データベースをエクスポートすると過去に入れて外したプラグインなどの情報も残ってしまうので、移設の機会に整理するのも良いかと思います。
6.元サイトのDBデータを加工する
データベースのデータをダウンロードすると、●●.sqlというファイルがダウンロードできるので、それをエディタで開いて、旧URL部分を新URLに置換しておきます。 一括置換が怖ければ、siteurlとhomeという項目だけ置換します。これをやっておかないと、結構大変なことになります。
7.WordPressをインストールする
新サイトにWordPressのファイルがアップロードされている状態であれば、wp-config.phpに作成したデータベース名、パスワードなどを記載し、新ドメイン(新ディレクトリ)/wordpress (例 https://debate.co.jp/wordpress/)にアクセスするとWordPressのインストール画面がでます。画面の説明にそってインストールします。 インストール画面がでなければ、
- データベースが作成されていない
- 該当するデータベースにユーザ権限が与えられていない
- ユーザが存在しない
- データベースの場所が違う(localhostでない)
このあたりがよくある失敗です。
8.元サイトのDBデータをインポートする
新サイトの環境にphpMyAdminがあれば、そのままインポート。linuxの場合はどこかに元サイトのSQLファイルをアップロードし、以下のコマンドでインストールします。 source SQLファイルのパス( )
例: source /var/www/html/debate/wordpress/debate.sql
終了後、記事一覧を見ると、記事が入っていると思います。カテゴリやタグ、リンクなどが入っていなければ失敗なので、エクスポートからやり直しです。入っていれば、元々入っているサンプルページや、Hello World記事などは適当に削除してください。 そして、一般設定や、表示設定、投稿設定、パーマリンクなどを確認、設定します。 このままだと、アップロードした画像をメディアライブラリから読み込むことができませんので、Add From Serverを使うと幸せになれます。
9.プラグインを有効化
プラグインファイルがアップロードされている(はず)なので、プラグインを有効化します。その他、必要な設定を行います。 ディレクトリのパーミッションを変更する必要があるケースの場合はパーミッションを変更します。uploadsディレクトリ、pluginディレクトリあたりは注意ですね。
10.URLをチェック(プラグインを含む)
検索などを利用して、URLが置換されているかチェックします。記事内などに含まれるURLなどを一括置換するにはSearch Regexというプラグインが便利です。 All in one SEO Pack利用時には、Analytics設定のURLなどを要チェックです。 DB manager使っているときには、ディレクトリ変更されている可能性があるので要再設定です。
11.サイトチェック
ざっくりとしたチェック項目です。
- URLチェック(元サイトと同じ構成になっているか。)
- タイトルチェック(pageのタイトルが適切か)
- AnalyticsのID,URLの設定が合っているか
- 画像などのpathが元サイトのものになっていないか
- ディスカッションの設定、一般設定などが適切か
記事だけでなく、ページ部分もチェックする必要があります。特にテーマ内に静的にURLを記載している場合は要チェックです。HTMLソースを開いて、元URLで検索すると良いかもしれませんね。
12.その他チェック
CGIなど利用している場合、外部サービス(TwitterなどにURL)を記載している場合などは、URLの変更が必要です。
13.sitemap.xmlを作成
サイトマップを作成します。
14.GoogleAnalyticsやGoogleウェブマスターツールを登録
GoogleのAnalyticsやウェブマスターツールを利用している場合、bingなども含めて、利用する場合は、新規登録もしくは修正が必要です。
15.元サイトから301リダイレクト
元サイトに来たアクセスを、新サイトにリダイレクトします。301リダイレクトという方法を使うと、ページの価値を引き継げるそうです。Apacheの場合、そしてディレクトリ構成が同じ場合は、以下のファイルを.htaccessという名前で作成し、元サイトのルートディレクトリに設置します。 RewriteEngine On RewriteCond %{http_host} ^元サイトのドメイン(http://抜き) RewriteRule ^(.*) 新サイトのドメイン(http://あり)$1 [R=301,L]
例: RewriteEngine On RewriteCond %{http_host} ^debate_old.co.jp RewriteRule ^(.*) http://debate_new.co.jp$1 [R=301,L]
もちろん、個別にリダイレクトも可能です。
まとめ
量が多いので、説明をざっくりにしました。書くと結構大変そうですが、ダウンロード時間を抜くと、数時間もいらないです。サイトによっては1時間もかからないです。 今回はドメイン引越しだったので、ドメインが同じ、サーバのみ引越しの場合は、ちょっとやり方はかわりますが、流れはそこまで変わらないかと。 ただ、同じドメインの場合は、設定時のURLがちょっと面倒だったりします。旧サーバと新サーバをいったりきたりするするので。。 しかし、WordPressの引越しは作業は簡単だけどメモするのは疲れますね。。