UpdraftPlusを使ってWordPressの移行と復元を実験~プラグインの使い方と手順を紹介~

パソコン

この記事には広告を含む場合があります。

記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。

WordPressのバックアップが正しく行われているか実験をした。別ドメインへの移行と初期化後のWordPressへの復元が問題なくできることが確認できた。プラグインにはUpdraftPlusの無料版を使用している。無料版では別ドメインへの移行ができないためファイルを手動で編集している。基本的な使い方についても説明しているのでバックアップや移行の参考にしていただきたい。

注意

仕様などは2018年6月のもので最新の情報と異なる可能性があります。ご了承ください。

注意

本記事ではUpdraftPlusの無料版で対応していない別ドメインへの移行を紹介しています。バックアップデータの手動編集は通常の使い方と異なることを認識した上で自己責任でお願いいたします。

注意

別ドメインへの移行後は必ず十分な動作確認をしてください。URLの変更により何らかの問題が発生する可能性があります。

注意

法人や大規模サイトの場合にはリスクが高いため専門家に相談し保証のある移行サービスをご利用ください。

手っ取り早くワードプレスをバックアップしたい方は以下の記事をご参照ください。

ワードプレス簡単バックアップ~プラグインUpdraftPlus~

UpdraftPlusで移行、復元

パソコン

本記事ではWordPressの移行と復元2つの使い方について説明する。

本記事で説明する内容
  1. 移行 無料版のUpdraftPlusを使ったWordPressの移行
  2. 復元 UpdraftPlusを使ったWordPressの復元

UpdraftPlusを使ったWordPressサイトの移行

1. 移行

WordPressのサイトを別ドメインへ移行する。無料版のUpdraftPlusは別ドメインへの移行には対応していないためファイルを手動編集している。実際に筆者のサイトを別ドメインへ移行し正しく動作することを確認した。

2. 復元

バックアップしたファイルからWordPressのサイトを復元する。バックアップ後WordPressを初期化して正しく復元できることを確認した。バックアップから復元まで簡単なオペレーションである。しかし無料版ではマルチドメインには対応していないためバックアップしたファイルの管理に注意が必要である。

UpdraftPlusとBackWPup

筆者ははじめBackWPupを使っていたが途中から復元が簡単なUpdraftPlusに乗り換えた。復元時にBackWPupではFTPツールを使うがUpdraftPlusは管理画面からボタンを押すだけである。レビューの評価もUpdraftPlusの方が若干有利であった。個人的には直観的で使いやすいUpdraftPlusをおすすめする。

BackWPup 有効インストール数:600,000+
UpdraftPlus 有効インストール数:1,000,000+

*:有効インストール数は2018年6月に確認した内容である。

サーバーのリソースが枯渇した場合正しくバックアップが行えないことがある。どの程度の規模かは不明だが時間切れでバックアップが完了しない場合はサーバーのリソース不足の疑いがある。レビューの評価を見る限りではそこまで頻繁に起きることでもなさそうだがリソースに制限のあるサーバーを使用してる場合は注意。

UpdraftPlus runs out of time when it’s trying to backup, after I have left it for some time to give it a good chance. What can I do?
This problem is probably caused by your account being starved of resources by your (cheap) web host provider. This is far from ideal; although UpdraftPlus supports resuming backup runs right from the beginning to avoid everything having to be done at once, it has its limits. The best thing is to choose a more reputable web host. Failing this, try going into the “Expert settings” and reducing the size at which zip files are split. UpdraftPlus is known to successfully backup websites that run into the multiple-gigabytes on web servers that are not resource-starved.

引用:UpdraftPlus WordPress Backup Plugin | WordPress.org

移行と復元で使用するツール

筆者はWindows環境を利用しているのでご了承ください。ツールは代替出来るものがあればそちらでもかまいません。

Googleドライブ バックアップ先として使用。UpdraftPlusでは他にも対応ストレージがある。
サクラエディタ ファイル編集で使用。置換機能のあるテキストエディタがあればよい。
Google Chrome 今回クロームを使用。他ブラウザで体裁等に違いがある可能性がある。
7-Zip gz形式の解凍と圧縮で使用。gz形式に対応したツールであれば何でもよい。

インストールと初期設定

バックアップに必要なプラグインを設定する。

UpdraftPlusのインストール

プラグインの追加からUpdraftPlusをインストールする。WordPressのサイドバーのプラグイン>新規追加でプラグインの追加画面を表示する。キーワードにUpdraftPlusを入力してUpdraftPlus WordPress Backup Pluginをインストールして有効にする。

UpdraftPlusのインストール

UpdraftPlusの設定

サイドバーの設定>UpdraftPlus Backupを選択してUpdraftPlus Backup/Restore画面を表示する。設定タブを選択し初期設定する。ここではバックアップ先にGoogleドライブを使用する。

設定項目
  • バックアップスケジュールの設定
  • バックアップ先の設定
  • バックアップ対象の設定

UpdraftPlusの設定

バックアップスケジュールの設定

バックアップスケジュールが手動になっていることを確認する。デフォルトは手動になっている。

UpdraftPlus

バックアップ先の設定

Google DriveのアイコンをクリックしてGoogle ドライブの設定項目を開く。「あなたは(下の[変更を保存]をクリックして)、設定を保存した後に、一度ここに戻って来て、Google Driveの認証を完了するには、このリンクをクリックしてください。」のリンクをクリックしてGoogle Driveをバックアップ先として設定する。

UpdraftPlus

リンクをクリックするとアカウントの選択が表示される。バックアップ先に使用するアカウントを選択する。

UpdraftPlus

内容を確認し許可ボタンをクリックする。

UpdraftPlus

Complete setupをクリックして設定を完了する。

UpdraftPlus

バックアップ対象の設定

バックアップするファイルの項目すべてにチェックが入っていることを確認する。デフォルトですべてチェックが入っている。

UpdraftPlus

設定を保存

ページの下にある変更の保存ボタンをクリックし設定を保存する。

UpdraftPlus

無料版のUpdraftPlusを使ったWordPressの移行

パソコン

UpdraftPlusを使ってWordPressを別ドメインに移行する。無料版の制限で別ドメインへは移行できないため手動でバックアップファイルを編集する。ここでは移行に必要な最低限の機能だけを使っている。手順はインストールと初期設定が前提となる。

移行手順
  1. バックアップファイルの作成
  2. バックアップファイルの編集
  3. WordPressの移行
  4. 移行先の確認

UpdraftPlusを使ったWordPressサイトの移行

1. バックアップファイルの作成

UpdraftPlusを使ってWordPressサイト全体をバックアップする。

1.1 移行元サイトのバックアップ

現在の状態タブの今すぐバックアップ。

UpdraftPlus Backup/Restore画面のBackup/Restoreタブを選択。今すぐバックアップボタンをクリックする。

UpdraftPlus

上の三つの項目にチェックが入っていることを確認し今すぐバックアップボタンをクリックする。チェックはデフォルトで入っている。

UpdraftPlus

1.2 バックアップファイルの確認

関連付けしたGoogle Driveにログインしてバックアップファイルを確認する。マイドライブの下にUpdraftPlusフォルダが作成されている。複数のバックアップファイルがある場合は日付で確認。一回のバックアップで5つのファイルが作成される。

移行元サイトのバックアップ

2. バックアップファイルの編集

無料版では移行機能がないため手動でバックアップファイルを移行先サイトのURLに書き換える。

2.1 バックアップデータのダウンロード

先ほどバックアップした移行元のデータをダウンロード。バックアップした5ファイルを選択し右クリックしダウンロードを選択。5つのファイルはひとつのzipファイルにアーカイブされローカルにダウンロードされる。

バックアップデータのダウンロード

2.2 ダウンロードしたデータを解凍

Google Driveからダウンロードしたファイルを解凍。zipファイル4つとgzファイル1つが展開される。例では「drive-download-20180618T131008Z-001.zip」が対象ファイル。

ダウンロードしたデータを解凍

2.3 データベース資産を解凍

編集の必要があるデータベースファイルを解凍する。ファイル名の末尾に「db」が付いたGZファイルが対象。Windowsでは標準でGZファイルを解凍できないため7-Zipを使用した。例では「backup_2018-06-18-2200_BLOG_573ef189ddd3-db.gz」が対象ファイル。

データベース資産を解凍

2.4 URLを書き換える

データベースファイルを編集する。移行元のドメインから移行先のドメインにデータベースの内容を書き換える。置き換えにはサクラエディタを使用。移行元ドメインの「https://zerokara-blog.com」から移行先ドメインの「https://test.funai.com」に置き換える。すべて置換したら保存して終了。置き換えるURLの場所については後述する。例では「backup_2018-06-18-2200_BLOG_573ef189ddd3-db」が対象ファイル。

2019/9/8:変更

データベースの情報が記録されたファイルの編集について問題があるとご指摘があり修正しました。

修正前:変更後URLで一括置換

変更後:特定の場所のURL二か所を置換

移行元ドメイン https://zerokara-blog.com
移行先ドメイン https://test.funai.com

UpdraftPlus

Memo

データベースファイルにはSQLと呼ばれるデータベース操作言語でワードプレスの情報が記録されている。SQLはプレーンテキスト(人が見てわかる形式)で記録されているため今回のようにテキストエディターでの編集が行える。

置換する場所について

筆者の環境でURLの置換個所を確認したところ3か所見つかった。

基本的には(1)と(2)で説明する二か所のURLを変更。(3)で説明するGUID部分のURLを変更する必要はない。これ以外にURLが記載されていたら別途確認が必要となる。

(1) wp_options->option_value(option_idがsiteurl)
siteurlで検索すると以下の例のようなコードが見つかる。
URLの部分を移行先に変更する。

例)
(1, ‘siteurl’, ‘https://zerokara-blog.com’, ‘yes’),
 ※URLは自身の移行先URLを指定する。

(2) wp_options->option_value(option_idがhome)
homeで検索すると以下の例のようなコードが見つかる。
URLの部分を移行先に変更する。

例)
(2, ‘home’, ‘https://zerokara-blog.com’, ‘yes’),
 ※URLは自身の移行先URLを指定する。

(3) wp_posts->guid
移行前のURLで検索すると以下のようなコードが見つかる。
ここに記載されているURLはGUIDと呼ばれる識別子でURLとしての機能はない。
参考URLで確認したところGUIDは移行時に変更しないよう記されているためこの部分のURLは変更しない。

例)
(54, 1, ‘2019-03-09 20:07:45’, ‘2019-03-09 11:07:45’, ‘<!– wp:paragraph –>\n<p>updraftplusのテストを実施します。</p>\n<!– /wp:paragraph –>’, ‘バックアップテスト①’, ”, ‘inherit’, ‘closed’, ‘closed’, ”, ’53-revision-v1′, ”, ”, ‘2019-03-09 20:07:45’, ‘2019-03-09 11:07:45’, ”, 53, ‘https://zerokara-blog.com/2019/03/09/53-revision-v1/’, 0, ‘revision’, ”, 0),

参考URL

WordPressのデータベース構造については以下を参照。

データベース構造 – WordPress Codex 日本語版

WordPressのサイトURL移行については以下を参照。

サイト URL の変更 – WordPress Codex 日本語版

2.5 編集したファイルをgz形式に圧縮

まず編集前のデータベースファイルを削除。7-Zipを使って編集したデータベースファイルをgz形式に圧縮する。圧縮したら解凍したデータベースファイルを削除。これで移行先のドメインに書き換えたデータベースファイルの作成が完了。

3. WordPressの移行

バックアップした資産を移行先のWordPressで復元する。

3.1 別ドメインのWordPressを準備

別のドメインにWordPressを新規にインストール。今回はSSL設定しているため移行先のドメインもSSLを設定。

3.2 UpdraftPlusをインストール

プラグインのUpdraftPlus Backupをインストール。詳細はインストールと初期設定を参照。

3.3 ファイルをアップロード

URLを書き換えたファイルをアップロードする。Backup / Restoreタブを選択。 バックアップファイルをアップロードをクリックするとアップロード項目が表示される。

UpdraftPlus

ファイルを選択ボタンをクリックしてダウンロードして編集したバックアップファイル5つを選択する。

ファイルをアップロード

アップロードが終わるとバックアップ済が1つ追加される。復元ボタンをクリックする。

UpdraftPlus

3.4 バックアップを復元

アップロードしたバックアップの復元ボタンをクリックする。

UpdraftPlus

すべてにチェックを入れ復元ボタンをクリックする。

ファイルをアップロード

警告がでるが無視して復元ボタンをクリック。

UpdraftPlus

これで復元は完了。

UpdraftPlus

4. 移行先の確認

移行したWordPressを触るとログイン画面に飛ばされる。ここでは、移行元のIDとパスワードでログインする。

ログインの結果

ログインすると移行元の内容でWordPressが開く。

ログインの結果

サイトを開こうとして「無効なURLです。プログラム設定の反映待ちである可能性があります。しばらく時間をおいて再度アクセスをお試しください」と表示される場合はブラウザのキャッシュを一度削除して再度確認。

お疲れさまでした。これで別ドメインへの移行は完了です。

UpdraftPlusを使ったWordPressの復元

パソコン

UpdraftPlusを使ってWordPressの復元を実験する。バックアップ後にトラブルが起きたと想定しWordPressを初期化する。バックアップしたデータで正しく復元できることを確認する。手順はインストールと初期設定が前提となる。

WordPress復元の手順
  1. Google Driveへバックアップする
  2. WordPressの初期化
  3. UpdraftPlusのインストール
  4. バックアップファイルのスキャン
  5. バックアップファイルからの復元
  6. 復元後の確認

UpdraftPlusを使ったWordPressの復元

1. GoogleDriveへバックアップする

UpdraftPlus Backup/Restore画面のBackup/Restoreタブを選択。今すぐバックアップボタンをクリックする。

UpdraftPlus

上の三つの項目にチェックが入っていることを確認し今すぐバックアップボタンをクリックする。チェックはデフォルトで入っている。

UpdraftPlus

関連付けしたGoogle Driveにログインしてバックアップファイルを確認する。マイドライブの下にUpdraftPlusフォルダが作成されている。複数のバックアップファイルがある場合は日付で確認。一回のバックアップで5つのファイルが作成される。

GoogleDriveへバックアップする

2. WordPressの初期化

WordPressにトラブルが発生したと想定してWordPressを初期化(アンインストール後再度インストール)する。正しく復元できない可能性もあるため実験する場合は消えてもいいWordPressを使用する。

3. UpdraftPlusのインストール

同じようにUpdraftPlusをインストールしバックアップファイルの保存先をGoogleDriveに設定する。詳細はインストールと初期設定を参照。

4. バックアップファイルのスキャン

GoogleDriveに保存されているバックアップファイルをスキャンする。「リモートストレージを再スキャン」をクリック。

UpdraftPlus

Google Driveに保存されているバックアップファイルが読み込まれる。無料版はマルチサイトに対応していないため他のドメインのファイルも表示されてしまう。複数混ざってしまった場合は日付で判断する。

UpdraftPlus

今回バックアップファイルが混ざってしまったが保存先を変更すればこのような問題は発生しない。

Tips

無料版UpdraftPlusを使ってマルチサイトを運用する場合は保存先をドメインごとに設定することでバックアップファイルを管理することができる。Google Driveの場合はドメイン分のGoogleアカウントを作ることで対応できる。

5. バックアップファイルからの復元

対象のファイルを日付で確認し復元ボタンをクリックする。

UpdraftPlus

すべてにチェックを入れて復元ボタンをクリックする。

バックアップファイルからの復元

Google Driveからの復元は時間がかかるので焦らず待つ。警告がでるが無視して続行。復元ボタンをクリックする。

UpdraftPlus

ログの最後にRestore successful!が表示され復元が完了する。

UpdraftPlus

6. 復元後の確認

復元前のIDとパスワードでWordPressにログイン。

復元後の確認

復元したサイトも問題なく動作している。

復元後の確認

お疲れ様でした。これで復元は完了です。

バックアップ計画

計画

実験では手動のタイミングでバックアップしていたが、実際は計画的に運用する。筆者は以下のようなバックアッププランを立てた。更新頻度やサイト規模で違いがあると思うが参考にしていただきたい。

以下の3つのタイミングでバックアップする計画を立てた。特にWordPressの更新時は注意したいタイミングである。

バックアップするタイミング
  • 自動での定期バックアップ
  • WordPress、テーマ、プラグインの更新時の手動バックアップ
  • 任意タイミングでの手動バックアップ

自動での定期バックアップ

UpdraftPlusの機能を使って定期バックアップする。

自動での定期バックアップ

手動バックアップを忘れてしまった場合を想定しているので2週間ごとのバックアップとした。更新頻度が多い場合はもう少し短い期間で設定した方がよい。

更新時の手動バックアップ

実際に体験してはいないがWorPressの更新時に問題が発生することがあるようなので更新前に手動でバックアップする。プラグインのアップデートで問題が発生することもあるようなので心配ならその都度手動バックアップを実施する。

任意での手動バックアップ

Googleドライブに保存したバックアップ資産を安全のためローカルにダウンロードしておく。Googleドライブにアクセスできなくなった場合の保険である。

任意での手動バックアップ

Googleドライブでバックアップした5つのファイルをローカルにダウンロードする。手動で手間がかかるので3ヵ月に1回くらいで運用する計画である。

まとめ

緑の葉

WordPressのバックアップが正しく取れているか?もし資産が壊れたら本当に復旧できるのか?いろいろ不安はあったが実際に試してみることで問題ないことが確認できた。バックアップデータをローカルとクラウドの両方に保存しておけば更に安心できるだろう。

手間はかかるが無料版のUpdraftPlusでも十分移行ができることが確認できた。ただしマルチサイトには対応していないようなので注意が必要。今回も移行前と移行後の資産が混ざってしまい更新時間でどの資産か判別する必要があった。保存先のディレクトリーを無料版では変更できない制限が悩ましいところ。しかし、ドメインごとに保存先を変えることでドメインごとにバックアップファイルを管理できる。Google DriveであればドメインごとにGoogle Driveを準備することで解決できる。

今回の実験でわかったこと
  • 無料版UpdraftPlusで問題なくバックアップと復元ができた
  • 無料版UpdraftPlusでもファイル編集が必要であるが移行できた
  • マルチサイトで無料版UpdraftPlusを使う場合はドメインごとに保存先を準備

万が一に備えサイトは必ずバックアップしましょう!!

おすすめのプラグインはこちらをご覧ください。

女性 地味に強くおすすめするWordPressプラグイン

6 COMMENTS

terybo

「無料版のUpdraftPlusを使ったWordPressの移行」の「2.4 URLを書き換える」
で移行元ドメインから移行先ドメインへ置換するのは、テーブル「wp-options」内にある「siteurl」と「home」のみにしないといけないかと思います。

データベースは配列やオブジェクトに文字列長さを記録していますので、
それも一緒に変更しないと、バグが発生する可能性があります。

他の箇所のドメイン置換は、インポート後にプラグイン「better search replace」等を用いて実施してください。

返信する
ふない

teryboさま

コメントありがとうございます。
URLの移行について問題があり、ご迷惑をおかけし申し訳ありませんでした。
記事の問題個所は早急に修正いたします。

(1) 移行先ドメインの変更について
 

 >「無料版のUpdraftPlusを使ったWordPressの移行」の「2.4 URLを書き換える」
 >で移行元ドメインから移行先ドメインへ置換するのは、テーブル「wp-options」内にある
 >「siteurl」と「home」のみにしないといけないかと思います。

 
 実際にURLを置換している場所を確認したところ以下の三か所でした。
 
 ①wp_options->option_value(option_idがsiteurl)
  参考サイトにある通りsiteurlのデータ変更は必要なのでこの部分は問題ありません。
  
 ②wp_options->option_value(option_idがhome)
  homeのデータも変更が必要なので問題ありません。
  
 ③wp_posts->guid
  参考サイトを見るとGUIDはURL変更時にも変更しない旨が記されています。
  一括置換で変換していましたがこの部分は変更してはいけませんでした。
  この部分については記事内容を見直し修正いたします。
  GUIDはURLとしての機能はなく一意の識別子として使っているだけですね。
  
(2) バグについて
 私の経験上以下のコメントが少し気になりました。
 個人的な見解ですがコメントさせていただきます。
 

 >データベースは配列やオブジェクトに文字列長さを記録していますので、
 >それも一緒に変更しないと、バグが発生する可能性があります。

 
 私は20年近くデータベースを使ったシステムを開発してきましたが
 文字列の長さを別に記録し一緒に変更しないとバグが発生するような
 設計でシステムを作ったことはありません。
 ただし、文字列の最大長は意識して設計します。
 
 基本的には可変長文字列の場合はデータベースを
 扱うアプリケーション側で動的に長さを取得します。
 コードなどの固定長文字列であれば長さを別に管理することが
 ありますがURLなどの可変長文字列の長さを別に管理することは
 普通しません。
 
 今回の場合インサート文で置換したフィールドのタイプは
 option_valueがlongtextでguidがvarchar(255)です。
 これらのタイプの場合入力した文字列長を別を管理することは
 基本的にありません。
 
 文字列長の長さを別に記録しバグが発生する可能性はゼロでは
 ないと思いますが可能性は低いと思います。
 
参考URL:
 データベース構造 – WordPress Codex 日本語版
 
 サイト URL の変更 – WordPress Codex 日本語版
 

ご指摘のおかげで内容を見直すことができました。
本当にありがとうございます。

返信する

terybo へ返信する コメントをキャンセル

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です。入力した「コメント」、「名前」、「サイト」は一般公開されます。匿名の場合は「名前」にニックネームを使用してください。