WordPressの引っ越しについて、サーバーの移転が必要になって調査中でしょうか?この記事では、Wordpressの引っ越しが必要になった方が、どの手段で引っ越しを行うのが適切か、またその手順を丁寧に解説します。ぜひWordPressの引っ越し方法の判断材料にしてください。
この記事のWordPress運用のスタンスと想定ユーザーは実を取ろうとする人
まず最初にどういった対象ユーザー向けの記事かということと、どういう運用スタンスで書いている記事かを明確にしておきます。
WordPressは本当に多くの人に活用されているため、どういうユーザー向けの記事かを明確にしていないと誤解を与える可能性があります。
対象ユーザー
- WordPressを使って情報発信したり、問い合わせを増やそうと考えている事業主
- 手軽でコスパの良い運用方法を求めている方
- 小規模から中規模のサイト規模
運用スタンス
- ある程度以上のセキュリティを保った運用
- ある程度以上の高速化を保った運用
- 上記2つを満たしつつ、手間がかかりすぎない運用
一言でいうと「手軽でコスパの良い運用を目指している人」向けの記事となります。
セキュリティや高速化を完璧にしようとすると、作業工数やメンテナンスコストが高くなりますし、一方でセキュリティや高速化を無視することは当然できません。運用者が許容できる範囲のセキュリティ、高速化、メンテナンスコストのバランスの良いところを目指す運用スタンスになります。
WordPressの引っ越しが必要になるシチュエーションは3つ
WordPressの引っ越しが必要になるシチュエーションは大きく分けて3つに分類できます。
- サーバースペックを上げるためのサーバー変更による引っ越し
- 障害やアクシデントによる緊急サーバー引っ越し
- 無料ブログからのWordPressへの引っ越し
多くの場合は表示速度の高速化やサイトの同時閲覧数の増加に耐えられるようにスペックアップするための引っ越しが多いのでは無いでしょうか。
しかし、障害やアクシデントで引っ越しをしないといけない場合、いつ起こっても良いようにバックアップの取得やリストア(バックアップデータからサイトの復旧ができるかどうかの確認)も実際に試しておく必要があります。
また、できるだけアクシデントが起こるような状況ならないように、少しでもセキュリティを高めておく必要もあります。この記事ではセキュリティ向上とバックアップについても後ほど解説します。
プラグインか手動なら、絶対にプラグインを使うべき
プラグインか手動かどちらが良いかは、場合によって変わりますが今回の記事の対象読者であれば絶対にプラグインが良いでしょう。
手動での引っ越しは細かな部分の調整ができる反面、DBやファイルのアップロード等をしないといけません。Web制作会社のように1ヶ月に何件も引っ越しの対応が必要な場合や、込み入ったWordPress環境で既存のプラグインでは細かな調整ができないという場合以外はプラグインで十分でしょう。
プラグインのオススメはAll-in-One WP Migrationの一択
WordPress引っ越しで有名なプラグインは2つで、All-in-One WP MigrationとDuplicatorになります。
ダウンロード数 | 翻訳言語数 | |
All-in-One WP Migration | 31,706,458 | 47言語 |
Duplicator | 19,722,432 | 21言語 |
どちらも非常によく使われているプラグインで、アップデートも頻繁に行われていてメンテナンスはしっかり行われております。
ただ使い勝手とセキュリティの観点からAll-in-One WP Migrationを絶対にオススメします。その理由は以下です。
- FTPやファイルマネージャーを使う必要が無い
- DBのアカウント情報等を手動で入力する必要がない
逆にいうと、Duplicatorを使う場合は自分でサーバーにファイルをアップロードする必要があり、DBのアカウント情報を手元でメモしておいて必要な場面で入力する必要があります。
せっかく引っ越し用のプラグインを使っているのに、FTPを使わないといけないとなるとその魅力は半減してしまいます。セキュリティホールになる可能性を増やし、そもそもSFTP等を理解して接続しているのかも不安が残ります。
また、DBのユーザー名やパスワード等を手元で管理する必要があり、セキュリティや煩雑さの面で劣ります。
私の場合ですが、何よりAll-in-One WP Migrationを使っていて不便が無いので、それ以外のプラグインを使おうという気にならないです。全力でオススメします。
All-in-One WP Migrationの使い方とオススメの有料エクステンション
All-in-One WP Migrationの使い方とオススメの有料エクステンションについて解説していきます。サイトのファイルサイズが小さく定期バックアップが不要の場合以外、有料のエクステンションは絶対に入れた方が良いです。その理由についても解説します。なんでも無料でやろうとすると、自分の時間やメンテナンスコストを増やしてしまうので要注意です。
なにわともあれAll-in-One WP Migrationのプラグイン本体をまずはインストールします。
プラグイン > 新規追加 からAll-in-One WP Migrationを検索してインストールを実行してください。
有効化のボタンに変わったら、有効化を押してプラグインを有効化してください。
1.無料プラグインの範囲でできること
All-in-One WP Migrationの本体だけだと、エクスポートはできるのですがインポートの容量制限が上限5MBなので実質使いものになりません。
そのため、無料の追加プラグインをインストールすることで、アップロードサイズの上限は512MBになります。大量の画像を入れていないサイトであれば512MBで収まる場合もあるかと思います。
無料の追加プラグインの追加方法は All-in-One WP Migration > インポート で「無制限版の購入」ボタンを押してください。購入と書かれているのですが、無料で使えるプラグインのダウンロードも可能です。
なお、「最大アップロードファイルサイズを上げる方法」のリンクは.htaccessなどファイルを編集する必要がある手順のため、無視していただいてOKです。
ご自身で.htaccessの編集やアクシデントが起こった時に対応できる技術力があれば「最大アップロードファイルサイズを上げる方法」でも良いと思いますが、そうでない方は手間とセキュリティリスクが増えるだけなので触らない方が良いでしょう。
こちらのリンクからも直接行けます。
https://import.wp-migration.com/
上記ページが表示されたらBasicプラン(無料)のダウンロードボタンを押してください。zipファイルがダウンロードされます。
WordPressの管理画面に戻り、プラグイン > 新規追加 でプラグインのアップロードを選択して、先程のzipファイルをアップロードしてください。
アップロードが完了すると、プラグインを有効化してください。
先程のインポート画面に行って、512MBに変更されていれば準備OKです。
2.$69の有料エクステンションでできること
$69で使える有料エクステンションはUnlimited Extensionというアップロード上限を無制限にできるエクステンションになります。
また、手動で行ったバックアップの画面から保存したバージョンに戻すことが簡単にできます。
- 512MBのインポート容量制限を増やす
- 無制限数のウェブサイトで使用可
- Restore backup from server
- WP CLI commands
- プレミアム・サポート
https://servmask.com/products/unlimited-extension
バックアップは手動で良いと割り切っている人で、ファイルサイズの大きなWordPressの引っ越しを考えている方はこちらの有料エクステンションをオススメします。
PersonalとBusinessにプランが別れてますが、Personalは請求書が発行できないですが機能としては同じです。
その後、Paypal(クレジットカード)で決済すると、プラグインのzipファイルがダウンロード可能です。
3.$99の有料エクステンションでできること
$99で使える有料エクステンションは外部のストレージにバックアップを定期実行できるものになります。(一部$129のものもあります。)
- Dropbox
- Google Drive
- Amazon S3
- OneDrive
- Amazon Glacier
- Box
- Mega
- DigitalOcean Spaces
- Backblaze B2
- Google Cloud Storage
- Microsoft Azure Storage
- pCloud
- WebDAV
- S3 Client
- Direct
- Suggest
上記外部ストレージやサーバーはそれぞれ別の有料エクステンションになってますので、自分が良く使うストレージやサーバーを選ぶと良いでしょう。ここではGoogle Driveを例に解説します。
プランの選択と決済は上記のUnlimited Extensionと同じです。
- Google Driveとのエクスポート及びインポート
- Fully compatible with Google One
- 無制限数のウェブサイトで使用可
- 時間毎、日毎、週毎のオプションによるバックアップ・スケジューラー
- 無制限のエクステンション
- WP CLI commands
- プレミアム・サポート
エクステンションの一覧
https://servmask.com/products
この有料エクステンションの特徴はバックアップをスケジュールを決めて定期実行できるという点と、Webサイトを公開しているサーバー以外にバックアップを持てるという点です。
バックアップから戻したいと思う瞬間はどんな時でしょう?あまり考えたくないですが、以下のようなケースが想定されます。
- 投稿や固定ページを間違って消してしまって復元できない
- WordPressのバージョンアップ等で不具合がでて直前の状態に戻したい
- 外部からの攻撃やウイルスでファイルが改ざんされて、前の状態に戻したい
書いているだけで、胃が痛くなる感じですが上記はWebサイトを公開しているサーバーにバックアップデータが残っていれば問題は解決します。
しかし、以下のような場合はWebサイトを公開しているサーバー以外にバックアップを持ってないないとお手上げになります。
- ドメイン直下の領域のデータを全部消してしまった
- サーバー会社の障害でデータが全て消えてしまった
あまり考えたくないですが、全く起こらないかというとそうとは言い切れません。特にサーバー会社の障害は、こちらでは全くコントロールできません。
運用しているサイトの重要度にもよると思いますが、できる限り直前のバックアップデータを残したい場合はこの$99の有料エクステンションを導入することをオススメします。1万円程度でその心配がほぼ無くなるのであれば安いのではないでしょうか。
なお、$99の有料エクステンションを使っても、バックアップが機能しないリスクはあと1つだけ残ってます。このAll-in-One WP Migrationのバックアップファイルが独自の方式で保存されるため、このプラグインでないと復旧できないという点です。
もし取得しているバックアップデータが何かの不具合でこのプラグインに読み込むことができなければ、その時点でそのバックアップファイルは使えないただのファイルとなります。
本格的にバックアップ体制について検討したい場合は、BackWPUpなどの通常のファイルとDB形式でバックアップするプラグインの併用を考えると良いでしょう。ファイルとDB形式でバックアップを取れていれば、最悪どんな形であっても復旧することができます。詳しくはバックアップに関して別の記事にしたいと思います。
散々リスクを書き連ねましたが、All-in-One WP Migrationはかなり便利で信頼できるプラグインと判断してますので、$99の有料エクステンションでのバックアップ体制で運用できればよほどの事がなければデータ復旧できなくなる事態にはならないでしょう。
また、$99の有料エクステンションは$69の内容を全て含んでいるので、少しでも定期バックアップを検討しているなら最初から$99の有料エクステンションを購入することをオススメします。
インポート容量 | バックアップ方法 | 無料 | $69 | $99 |
512MB以下 | 手動 | ◯ | ✕ | ✕ |
自動(外部と内部) | ✕ | ✕ | ◯ | |
512MB以上 | 手動 | ✕ | ◯ | ✕ |
自動(外部と内部) | ✕ | ✕ | ◯ |
All-in-One WP Migrationを使った引っ越し方法
引っ越し前のサーバーと引っ越し先サーバーにともにAll-in-One WP Migrationが入っている前提で話を進めます。
移転前サーバーのデータのエクスポート方法
All-in-One WP Migration > エクスポート を開いてエクスポート先をクリックします。
「検索<文字列>置換<別の文字列>データベース内」の項目は基本的に使わなくても大丈夫です。データベース内で置換したい文字があればここで置換するのおですが、引っ越しという意味では基本必要ありません。
また「高度なオプション」も基本触らなくて大丈夫です。あえてチェックするなら「スパムコメントをエクスポートしない」はチェックを入れておいてもいいかもしれません。
スパムコメントはこのタイミングで捨ててしまっても良いと思いますが、万が一普通のコメントがスパム扱いされてしまっている事を考えると何もチェックせずに、引越し後にスパム対策をしっかりしても良いでしょう。
エクスポート先からファイルを選択してください。それ以外の外部ストレージやサーバーにエクスポポートするためには$99の有料エクステンションが必要です。
ファイルをクリックするとエクスポートが開始されます。
エクスポートの準備ができるとダウンロードボタンがでてくるので、クリックしてファイルをダウンロードしてください。
これでエクスポートの処理は完了です。
移転後サーバーのデータのインポート方法
移転後サーバーでのインポート方法はドメインを変更するかどうかで注意するポイントが変わってきますが、インポート部分は一緒になりますのでインポート方法を先に解説しておきます。
移転先のサーバーに新しいドメインでWordPressをインストールして、All-in-One WP Migration > インポート からインポート元をクリックします。
ファイルを選択し、先程ダウンロードした移転元の.wpressの拡張子のエクスポートファイルをインポートしてください。
インポートが始まるとプログレスバーが表示されます。
引っ越しの場合はバックアップ不要なので、開始を押します。
インポートが完了すると「パーマリンク構造を保存する。」をクリックして、ログインしてください。
パーマリンクの保存をし直さないと、各ページが表示されない場合がありますので、このプラグインのマニュアル通りに「変更を保存」を2回そのまま押します。
ドメインを変更して引っ越しする場合
ドメインを変更する場合はシンプルで、新しいドメインを新サーバーに設定してインポートし、今までのドメインのURLに来ていたアクセスをリダイレクト処理をすれば完了です。
リダイレクトをするということは、古いドメインも継続して契約しないといけないため2倍のドメインコストがかかります。新規のドメインから検索が十分に入ってくればリダイレクトをどこかのタイミングで切ってしまっても良いでしょう。
リダイレクトは.htaccessに直接記載するか、リダイレクトのプラグインを使うと良いでしょう。
ドメインを変更せずに引っ越しする場合
ドメインを変えずに引っ越しする場合もいろんなパターンがありますが、引っ越し先のサーバーでの動作確認をどうやるのかが重要になります。
同じドメインで引っ越しする場合は最終的にDNSの切り替えが必要になってきます。DNSの切り替えは簡単にいうと、ドメインと紐づくサーバーの指定を変更する作業になります。
やり方はいろいろあるのですが、ここではAll-in-One WP Migrationを使う引っ越しであること(インポート時の挙動)と、引っ越しする方の技術力で2つの方法を解説します。
1.ユーザーに最大24時間程度のメンテナンス画面を表示して引っ越しする方法
こちらの方法はできる限り難しい事をせず、引っ越しを行いたい方向けの方法です。移転前のサーバーでメンテナンス画面を表示してDNSの切り替えを行い、新しいサーバーにドメインが向いたのを確認後インポート作業を行う流れとなります。ただ、DNSの切り替えを待つため、ユーザー側の閲覧環境の方がDNSの切り替えが早く行われてしまう可能性があり、不完全なWebサイトをユーザーに見せてしまう可能性が高い方法になります。
移転前サーバーのWordPressに「WP Maintenance Mode」をインストールを行ってください。
有効化を押すと、Wordpressをログインしていない状態だとすぐメンテンナンスモードの画面になります。
デザインや文面は変更できるので、必要に応じて変更してください。
この状態でDNSの切り替えを行っていきます。一般的なレンタルサーバーだとネームサーバーの切り替えという処理になります。ここは個別のサーバー会社によって管理画面が異なるため、サーバー会社のサポートに問い合わせてネームサーバーの切り替えを行ってください。
メールアドレスの運用を移転前サーバーで合わせて運用している場合は、少しややこしくなりますが、メールサーバーの移転に関してはこの記事ではサポートしません。サーバー会社のサポートに確認してください。
ただ、メールサーバーについて1つオススメをお伝えすると、今後のためにもメールサーバーだけ別のサーバーを契約することをオススメします。理由は障害が起きた時にWebサーバーとメールサーバーを両方引っ越ししなければならないというのは大変で、分けておく事でリスクを分離することができるからです。
一番オススメのメールサーバーはGsuiteですが、一般的なレンタルサーバーでもメールサーバーだけを年間1,000円程度の費用で運用しいているのでぜひ検討してみてください。このメールサーバーとWebサーバーを分ける話はセキュリティの記事で詳しく書きます。
DNSの切り替えを行った後に、手元の環境で新サーバーに切り替わるのを確認したら、新サーバー側でWordpressのインストールから開始してください。
インストールが完了したら、取り急ぎ移転先サーバーで「WP Maintenance Mode」をインストールし有効化しておいてください。
その後、上記方法でインポート作業をして表示に問題がなければ、メンテナンスモードを解除して完了となります。
2.メンテンナンス画面を表示せずに引っ越しする方法
こちらの方法は少しコードを触る必要等がでてくるので、技術的に取り組める方向けの方法になります。新サーバー上で問題なく動くのを確認した上で、DNSの切り替えを行います。
新サーバー上での挙動確認方法はいくつかありますが、代表的なものは以下になります。
- hostsファイルを編集して、作業用PCだけ新サーバーの環境に切り替える
- IPアドレスで挙動確認する
- サーバー会社独自の確認用URLなどの活用
IPアドレスで挙動確認をすると、DBの文字の差し替えが必要になってくるため手順が少し煩雑になるため今回解説は行いません。
また、サーバー会社が独自で準備している確認用URLなどに関しては、個別になるため、今回はhostsファイルを使った方法を解説します。
mac OS でhostsファイルを変更する方法
hostsファイルのアプリ等もあったのですが、hostsファイルを編集するだけなのでターミナルから編集して実行をします。端末のパスワードが求められるので入力してください。
sudo vi /private/etc/host
ファイル内にIPアドレスとドメインをスペースを開けて1行で記載します。iキーボードを押してinsertモードに切り替えます。以下は例です。
111.222.333.44 yourdomain.com
保存をして完了です。
:wq
Windows OSでhostsファイルを変更する方法
メモ帳を管理者権限で開いてください。
C:\Windows\System32\drivers\etc\hosts
ファイル内にIPアドレスとドメインをスペースを開けて1行で記載します。Windowsの場合はタブでもOKです。以下は例です。
111.222.333.44 yourdomain.com
hostsファイルの変更内容を即時に反映させたい場合
早くhostsファイルの反映をしたい場合は以下の対応をすると即時に反映します。
以下URLにChromeでアクセスし「Clear host cache」のボタンを押してキャッシュをクリアする。
chrome://net-internals/#dns
また、合わせて以下URLにもChromeでアクセスし「Flush socket pools」ボタンを押してソケットプールの消去を行う。
chrome://net-internals/#sockets
hostsファイルの変更の反映が確認できればインポートしてDNSの切り替えを行う
hostsファイルの変更が確認できればエクスポートしたデータをインポートしてください。そこで不具合が出てないかの確認をして問題なければDNSをの切り替えを行います。
引っ越しが終わればhostsファイルを元に戻しておきましょう
DNS切り替え前に必要なだけなので、DNSの切り替えが終わり確認が終わればhostsファイルの追加した部分を削除しておきましょう。
WordPress引っ越し時のよくあるエラーと対処法
便利なプラグインを使っていても予期せぬエラーはどうしても起こってしまいます。その中でも良く起こるエラーとその対処法を記載しておきます。
ログインできない
移転先でログインできない事は良く起こります。いくつか原因はあるのでケースと対処法を見ていきましょう。
・移転前のログインID・パスワードでログインしていない
これは以外にやってしまいますが、気づかないと入れない場合があります。All-in-One WP Migrationで引っ越しすると、当然ログインID・パスワードも引っ越ししていますので移転前のログインID・パスワードを入力してください。
移転先で作成したWordPressのログインID・パスワードでログインしようとしてしまう場合に起こります。
・セキュリティ系のプラグインがエラーを起こしている
セキュリティ系のプラグインもたくさんあるのですが、All-in-One WP Migrationでデータをエクスポートするときにセキュリティ系のプラグインが有効化した状態でエクスポートすると、インポートした時にも有効化した状態になるためエラーが起こる場合があります。
対処法としては該当のプラグインを停止してからエクスポートし直すのが良いでしょう。
画面が真っ白になる
画面が真っ白になる事も良く起こります。ただ、これは手動で引っ越しした時に良く起こる事象で、All-in-One WP Migrationの場合はあまり起こりにくいです。
なお、手動で引っ越しを行う場合はwp-config.phpにDBの情報の書き換えを行うがこの部分が間違っていたりするとDB自体に接続できないため画面が真っ白になってしまいます。
・テーマファイルが引っ越しできていない
All-in-One WP Migrationで引っ越しをしていて、画面が真っ白になったケースとしては、テーマファイルが上手くインポートできていなくて真っ白になってしまったケースがありました。
これも特殊なケースでkusanagi環境に引っ越しをした場合に起こったことで、themeフォルダ内の権限が十分出なかったため起こった事でした。
一般的なサーバーであればあまり起こらないケースだと思います。kusanagi環境についてはまた別の記事で書きますのでここでは詳細は書きません。
Internal Server Error(HTTP 500エラー)
500エラーとはサーバー内部で何かしらのエラーが起こった時に発生します。ほとんどの原因は.htaccessの編集ミスが多いです。All-in-One WP Migrationで引っ越しする場合は、このエラーも起こりにくいですが、PHPのバージョンが移転前と違う場合では起こる可能性があります。
・PHPのバージョンが違う場合、対応できていないテーマやプラグインがエラーが起こる場合あり
移転前のPHPのバージョンのほうが低くて、新しいサーバーだと最新版のPHPのバージョンが入っている場合があります。PHPのバージョンが新しいものになると、対応できていないテーマやプラグインの場合不具合が起こる可能性があります。
対処法としては、移転前のPHPのバージョンに合わせたらOKです。
404 not found(404エラー)
404エラーはアクセスしたのに、ページが無いと言われているエラーになります。リンク切れが起こっている状態です。
・引越し後パーマリンクの更新を忘れている
これは以外とやってしまいがちなのですが、パーマリンクの更新をしていないと正しくリンクの設定ができていない状態になってしまうため起こってしまうことがあります。
対処法としてはパーマリンクのページを開いて、特に変更必要ないので「変更を保存」のボタンを2回押せば大丈夫です。