WordPressのサーバーの移行方法。ドメインの変更方法
新宿のウェブ制作会社イッティのデザインスタッフです。通常のHTMLによるホームページをWordPressにコンバートする案件も増えてきています。今回はWordPressのサーバ移行方法をご説明します。
WordPressの移行方法はいろいろな方法がありますが、当社ではオーソドックスなデータベースとファイルを移行させる方法をおこなっています。WordPressを移行して、さらにドメイン(URL)も変更します。
WordPressを別のサーバへ移行し、ドメイン(URL)も変更する方法です。
移行作業の流れ
移行の流れは下記になります。
- 現在運営しているWordpressの画像やテンプレート、プラグインなどのファイル一式を保存する
- phpMyAdminを使ってデータベースを保存する
- 新しいサーバのphpMyAdminを使ってデータベースをインポートする
- 新しいWordPressのURLを書き換える
- 新しいWordPressに画像やテンプレート、プラグインをアップロードする
移行作業の流れは以上となります。
データベース、ファイルを保存する
まず、現在運営されているWordPressの画像やテンプレートなどのファイル一式と、データベースを保存していきます。
WordPressのファイル一式を保存する
WordPressのファイル一式をダウンロードする前にプラグインを全てOFFにします。
有効のままでも良いですが、より安全に復元するためにプラグインを全てOFFにします。
続いてFTPでWordPressのファイル一式をダウンロードします。
phpMyAdminでデータベースをバックアップする
phpMyAdminでデータベースをバックアップします。
メニューの「エクスポート」をクリックします。
「詳細-可能なオプションをすべて表示」にチェックします。
「CREATE DATABASE / USEコマンドを追加する」はチェクオフにします。
(チェックオンの場合、移転先でインポートエラーになることがあります)
「DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT / TRIGGER コマンドを追加する」をチェックします。
あとは「実行」ボタンをクリックしてデータベースを保存します。
新しいサーバーの設定をする
新しいサーバにWordPressをセットアップして、先ほど保存したデータベースをphpMyAdminを使ってインポートさせていきます。
WordPressのファイル一式をアップロード
ダウンロードしたWordPressのファイル一式をFTPで新しいサーバーにアップロードします。
データベースのインポート
新しいサーバーにデータベースを作ります。
データベース名やユーザー名、パスワードは変更しても、しなくてもどちらでも良いです。
phpMyAdminで保存したデータベースをインポートします。
もしドメインの変更が無ければ、これでサーバーの移行は完了です。
ログイン画面へアクセスするとログインできます。
データベースのインボートでエラーとなる場合
データベースのインポートでのエラーと対処方法です。
エラーメッセージ「#1044 データベースへのアクセスは拒否されました」
データベースをエクスポートする際に「「CREATE DATABASE / USEコマンドを追加する」のチェックがONの場合にエラーとなります。
チェックをOFFにしてエクスポートし直すか、データベースファイルを開いて下記の記述を削除します。
CREATE DATABASE tips_db DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
エラーメッセージ「#1273 Unknown collation: ‘utf8mb4_unicode_520_ci’」
移行元と移行先のデータベースのバージョンが異なるのが原因です。
データベースファイルを修正します。
- 「utf8mb4_unicode_520_ci」を「utf8_general_ci」に変更します
- 「utf8mb4」を「utf8」に変更します。
エラーメッセージ「The used table type doesn’t support FULLTEXT indexes」
プラグインでフルテキストインデックスが利用されている場合におこるエラーです。
データベースファイルの「FULLTEXT」を検索して、該当箇所を削除します。
修正する際の「,」や「;」の記述ミスに気を付けてください。
ドメイン変更によるデータベースのレコードを修正
今回は違うドメインにWordPressを移行させるため、データベースの書き換えが必要になります。
公式ではデータベースのレコードを書き換えるツール「Database Search and Replace Script in PHP」を使うことを推奨しています。
Database Search and Replace Script in PHP
WordPressはデータベース内にシリアライズされた情報が記録されているのでphpMyAdminからデータベースのレコードを書き換えると整合性が取れなくなります。
そこで「Database Search and Replace Script in PHP」を使って記事や画像のURLを新しいドメインに一括で書き換えます。
Database Search and Replace Script in PHPをダウンロードする
Database Search and Replace Script in PHPで必要事項を記入して送信すると、ダウンロード先が書かれたメールが届きます。
メールには2つのバージョンが書かれていますので、2つともダウンロードしておきましょう。
Database Search and Replace Script in PHPを使う
「Database Search and Replace Script in PHP」をドメイン直下にアップロードします。WordPressと同じディレクトリである必要は無いです。
Search-Replace-DB-masterをアップロードしたらファイルにアクセスします。「https://domein.jp/Search-Replace-DB」にアクセスします。
1.ドメインの書き換えを設定
Database Search and Replace Script in PHP使って旧ドメインを新ドメインに書き換えます。
「replace」に旧ドメインを記述します。
「with」に新ドメインを記述します。
※「https://」や最後に「/(スラッシュ)」などは不要です。
httpsや最後にスラッシュがあると書き換えモレが発生します。
2.データベースの情報を記入する
「データベース」の欄にDB名やパスワードなどの情報を記入して「test connection」ボタンをクリックします。
「Success. You are connected」が表示されればOKです。
2.書き換えのテスト
「Do a safe run」ボタンをクリックすると、置換のテストを行なうことができます。
実際に書き換えられるレコードが下に表示されます。
「view changes」をクリックすると書き換えられた内容を確認することができます。
データベースの接続でエラーや、テストランでエラーとなる場合
「Database Search and Replace Script in PHP」のバージョンを変えてみてください。古いサーバーの場合はバージョン3を利用します。
3.データベースを書き換える
「Search and Replace」ボタンを押すとデータベースの書き換えられます。
もし、データベースの書き換えで失敗した場合は、データベースのインポートからやり直せば大丈夫です。
4.Search and Replace for WordPress Databases Scriptを削除
データベースの書き換えが完了したら忘れずに「Database Search and Replace Script in PHP」を削除します。
「delete me」ボタンを押すと自動的にファイルが削除されます。
移行したWordPressにログインする
移行したWordPressにログインして、プラグインを有効にします。
設定なども確認します。
旧ドメインからリダイレクトさせる
旧ドメインのサーバーに「.htaccess」をアップロードして新しいドメインにリダイレクトさせます。
.htaccess
RewriteEngine on
RewriteRule ^(.*)$ http://www.新しいドメイン/$1 [R=301,L]
旧ドメインにアクセスして、自動的に新ドメインに遷移されるとOKです。
最後にテンプレートのURLや、Google、メールの設定
ドメインが変わったのでWordPressのテンプレートやGoogle Analytics、メールアドレスなども忘れず修正します。
- 新しいドメインでメールアカウントを発行
- テンプレートのURLを新しいドメインに修正
- WordPressにフォームを設定している場合はメールアドレスを修正
- Google Analyticsを設定
- Google Search Consoleを設定
- Google マイビジネスを修正
- Facebookページの修正
- Twitterの修正
- Yahoo!カテゴリーの修正
なども合わせて修正します。