どこからでも更新できて、環境さえ整えばいろいろなサーバーで使えて、プラグインやテーマが豊富でカスタマイズもしやすいWordPressですが、Mysqlなどのデータベースを用いてそこからデータを引っ張り出すタイプのサイトなのでサーバーが突然閉鎖されたり、警告が来てアカウントが突然凍結されたりするともうどうにもならない状況になってしまうのがたまにキズです。
もちろんそうなる前にデータベースをバックアップしたり、環境をバックアップしたりできるプラグインもありますし、データベースに直接接続できればそこでエクスポートしておいてバックアップを取ったりしておくことができますが、そこから他のサーバーに復元したりしようとしても失敗したら・・・今まで作って来たサイトが無になって心も無になってしまいます。
先日私のサイトも無料サーバーでWordPressのユーザー権限が強制的に「閲覧者」になるようになってしまい、ダッシュボードにログインできてもその後何もできない(記事一覧の表示も、ユーザー関連も、プラグインの導入などもすべてできない)状態になってしまいました。
サーバーへ問い合わせても返答もなく、今は放置状態。サーバーのデータベースには接続できたのでそこからデータをエクスポートして移設を試みましたが、移設先のサーバーでエラーが出たため断念。
頭真っ白になりそうでしたが、1か月前までの記事と固定ページのデータだけ残っていたのでちょっと損はしましたが他のサーバーへ移行することができました。至ってアナログですが復元しやすい方法バックアップしておく方法が自分には合っているので、経験含め紹介します。
至ってアナログなWordPressサイトのバックアップ方法
記事や固定ページは定期的にエクスポートしておく
WordPressはデータベース上に格納されたデータを引っ張り出してサイトやページを表示するツールという特性から、最初から記事や固定ページを外部出力(エクスポート)する機能が備わっています。
メニューでいくと「ツール」→「エクスポート」がそれです。
これを使って定期的に記事や固定ページのバックアップを取っておきます。
また、復元させる際には環境によって最大アップロード量が決まっていたり、大きなファイルだとインポート時にエラーがでてしまったりするので、できればカテゴリー毎とか日付で範囲を決めてエクスポートしておくと混乱なく新しい環境にデータを復元できます。
同じ環境で違うサイトテーマのサイトを作っておく
プラグインやテーマの中にはファイルそのものにデータや環境を格納しておくものもありますが、殆どがデータベース内に保存されています。したがってデータベースから復元できなければカスタマイズした部分やプラグインの設定などを一からやり直す必要が出てきます。
そうなった時にコピペで環境を復旧できるように、同じテーマやプラグインを用いたサイトを別のサーバーで用意しておくと、時間はかかりますが完全に復旧することができるようになります。
プラグインについては導入時にはいろいろと覚えているものですが、時間が経つと何のオプションを変更したのかも忘れてしまいます。また、記事や固定ページにショートコードなどを埋めていて、新しい環境でインポートした際に表示で不具合が出たりするのも困りますので、同一環境のサイトさえあればそうした問題も解決します。
テーマについてはFTPで同一のものを使っているサイトからダウンロードして新しい環境にアップロードすればほぼ完全に復元が可能ですし、私の使っているAtahualpaのようにカスタマイズ部分がデータベース上にあったとしても、オプションを一つ一つコピペしていけば復元できます。
そして、そこまで気を遣う必要はないのかもしれませんが、同じサイトテーマ、デザイン、記事などの内容というサイトを複製しておくとSEOに不利だとも言われていますので、ミラーサイトは作らない方が無難ですし、わざわざ作るサイトなのですからサイトのテーマを変えて、そのサイトはそのサイトでアクセスがあるようにしておいた方が何かと便利なので、私はそうしています。
いざというときのために、アナログで時間がかかっても復元できるようにバックアップや環境の保存はぜひしておくようにしましょう。