WordPressブログ・データのバックアップ方法①

霜柱が地面を持ち上げている様子 ウェブサイト運営の知恵

ウェブサイト運営で、Wordpressのメジャー・バージョン・アップ、プラグインのアップデート、カスタムコードの組み込みで不具合が起きないか不安を抱えてお悩みのあなた。

この記事はシリーズの第1部で、 2部構成の記事の関係は次のようになっております。

  • 第一部(WordPressブログ・データのバックアップ方法①):
    • サーバーとWordpressのシステム構成の知識もとに、バックアップを取るべきディレクトリやファイルの内容と場所が理解できます。
  • 第2部(WordPressブログ・データのバックアップ方法②):
    • ツールを使った具体的なバックアップ方法が理解できます。

このシリーズ記事の第一部と第2部の両方を読むことで、「UpDraftPlus」などのツールを単にWordpressのバックアップのためのブラック・ボックスとして扱うのではなく、「UpDraftPlus」がバックアップできていないデータを、必要に応じて「FileZilla (Client)」や「phpMyAdmin」などのデータベース管理ツールを使って補足する方法についても理解を深めることができます。

スポンサーリンク (Sponsored Links)

WordPressブログ・データのバックアップの概要

バックアップを取る理由

WordPressを使ったウェブ・サイトを運用していると、アップデート通知が次のような頻度であります。

  • WordPressのテーマやプラグインのアップデート:1週間に数回(ご使用のテーマやプラグインによって差があります)
  • WordPress本体やプログラミング言語PHPのアップデート:2~3年に1度

これらのアップデートは、次のような理由で欠かせないものです。

  • ウェブサイトのページスピードの高速化といったパフォーマンス・アップ
  • ウェブの使い勝手を向上させる新しい機能の取り込み
  • ハッキングやクッキー盗用防止などセキュリティの向上

コンテンツ管理システムのWordpressは、プログラミング言語のPHP、リレーショナル・データベース管理システムのMySQL、テーマやプラグインなどで構成され、それぞれが独自のコミュニティで開発・検証されています。

しかしながら、ウェブサイトで使用しているサーバー、Wordpressのテーマやプラグイン、また、これらの設定を考えると使用環境の組み合わせは膨大な数で、これらをすべての環境条件でソフトウェア開発技術者が検証して動作保証してくれるわけではありません。保守管理はユーザー(サイト運営者)の自己責任ということになります。

そこで、サイト運用者として、ウェブ・サイトの主要コンポーネントのバージョン・アップやプログラム言語レベルのカスタム変更等で不具合が起きた場合を想定して、不具合が起きる前のデータ状態に戻すためのバックアップが必要なのです。

その他にも、バックアップを取る必要は、次のような場合にも発生します。

  • あるレンタル・サーバーから別のレンタル・サーバーにサイトを引っ越しする際の一時保存
  • 正式リリース前のお試し用テスト・サイトの構築(リスクが高い変更を組み込む際に)
  • サイト表示などに関連した特に繊細なファイルの変更(例:.htaccess)

バックアップ・データを安全な場所に取っていると、アップデートや変更が安心して行えます。

バックアップすべき内容を理解するために

何をバックアップすべきかを理解するためには、サーバーやWordpressのファイル管理システムの知識が必要です。

そこで、バックアップが必要なウェブ・サーバーとデータベース・サーバーについて、特に詳しく理解していきましょう。

レンタル・サーバーのシステム構成

個人でウェブサイトを運営している場合は、多くがレンタル・サーバーを利用しています。

レンタル・サーバー会社は、こういった人がWordpressを使ったブログを運営しやすいように、次の例のように、多くが機能別のサーバーやそれに付随するサービスをパッケージとして提供しているのです。

レンタル・サーバー・サービス・パッケージ構成例
  • ウェブ・サーバー
    • FTPサーバー
    • メール・サーバー
  • データベース・サーバー

ウェブ・サーバーのファイル・フォルダ

レンタル・サーバー契約してサーバー・アカウントを取得すると、ウェブ・サーバーに初期ドメイン、初期フォルダが生成されます。

重要・注意

初期フォルダはサーバー・システムを維持・管理していくために必要なものですから、誤って削除しないようにしましょう。 誤って削除してしまった場合には、ドメインの初期化により復元が可能ですが、追加してきたデータも初期化される(消えてしまう)ので、バックアップ・データで復元できるように配慮する必要があります。

初期時の状態から、独自ドメインとウェブ・サーバーとリンクさせると、独自ドメイン名を持つフォルダが作成されます。また、サーバーを運用していくことで自動生成されるフォルダもあります。

例として、レンタル・サーバーの1つである「Xserver」の場合は次のようになっています。

フォルダ名 初期化時 内容
.pki × PKI(Public Key Infrastructure)は電子証明書を使用して安全に通信できるようにするためのシステムで、これに関する情報が保存されます。
初期ドメイン 契約時に自動生成されるドメインに関連した情報が保存されます。
独自ドメイン × あなたが独自ドメインを登録後に、独自ドメイン・フォルダは作られ、独自ドメインに関連した情報が保存されます。
Maildir × システムによって自動生成されます。サーバー利用中に、システム・メールやエラー・メールが保存されます。
Maildir1 ×

1週間後、「Maildir」から「Maildir1」へフォルダ・ネームが変更され「Maildir」のバックアップとなります。

Maildir2 × 2週間後、「Maildir1」から「Maildir2」へフォルダ・ネームが変更され「Maildir1」のバックアップとなります。
Maildir3 ×

3週間後、「Maildir2」から「Maildir3」へフォルダ・ネームが変更され「Maildir2」のバックアップとなります。

4週間後、「Maildir3」のデータは削除されます。

ssl SSL(Secure Sockets Layer)暗号化に関連した情報が保存されます。

各ドメイン・フォルダの中のフォルダは次のように構成されています。

ここで、バックアップを取るうえで、特に重要なのは独自ドメイン・フォルダの下層にある「public_html」フォルダです。

フォルダ名 内容
.spamassassin

迷惑メールに関連した情報が保存されます。

autoreplay 自動応答に関連した情報が保存されます。
htpasswd 認証のパスワードに関する情報が保存されます。
log アクセス記録に関する情報が保存されます。
mail メールのデータが保存されます。
public_html インターネット上で公開しているホームページや記事に関連したデータ(HTMLファイルや画像データファイル)が保存されます。
script cgiツールなど各種スクリプトのデータが保存されます。
xserver_php php.ini設定ファイルが保存されます。

ウェブ・サーバー上のWordpressのファイル・フォルダ構成

Wodpressがインストールしてあるサーバーのドメイン・フォルダ(例: dan-chan.com)の場合、「public_html」の下層が次のように構成されています。

また、公開後、「public_html」は外部からドメインのルート・ディレクトリに見えます。

  • 3つのwp-から始まるフォルダ
  • wp-から始まるファイルなど
フォルダ名 内容
wp-admin

WordPressの管理画面に関する情報が保存されています。

wp-content

テーマ、プラグイン、言語などウェブ・サイト構築に関する情報が保存されています。
wp-includes アプリケーション・インターフェース(API)、クラス、関数などWordpressのシステム全般に関する情報が保存されています。

「wp-admin」と「wp-includes」はWordpressを(再)インストールすることで再生可能です。

バックアップのために重要なフォルダは「wp-content」です。この下層には、次のようなフォルダが存在しています。

フォルダ名 内容
languages 多言語に対応するための関連データが保存されています。
plugins プラグインに関する情報が保存されています。

themes

テーマに関する情報が保存されています。
upgrade WordPressをアップデートする際に使用されるフォルダで、初めてアップデートする際に、自動的に生成されます。

uploads

画像や動画などメディアに関する情報が保存されています。
その他、一部のプラグインは、プラグインが動作するために必要な情報を保存する独自フォルダを自動生成して利用します。

例)

  • 「updraft」フォルダ: バックアップ・プラグイン「UpDraftPlus」

  • 「ewww」フォルダ: 画像サイズ最適化・プラグイン「EWWW Image Optimizer」
ちょっとした豆知識(多言語化サイトの場合は、要注意)

ここで解説している3つのディレクトリ(「plugins」「themes」「uploads」)は、後述のWordpressのバックアップ用プラグイン「UpDraftPlus」のバックアップに含まれていますが、「languages」は含まれていません

ウェブ・サーバーの中のディレクトリ「wp-content」の下層には、テーマやプラグインなどWordpressの環境の情報、そしてあなたがアップロードした画像などのメディアの情報が保存されます。

より安全なウェブ・サーバーのバックアップは、「wp-content」ディレクトリをローカル・ストレージにすべてコピーすることです。(後述の「FileZilla」などのファイル転送アプリケーションが使用できます。)

データベース・サーバーのシステム

ここまで解説してきたウェブ・サーバーには記事、固定ページ、各記事のURLを定めるパーマリンク等の情報を含んでいませんでしたね。では、これらのデータはどこにあるのでしょうか?

実は、データベース・サーバーという ウェブ・サーバーとは別のサーバーがあり、そこに記事関連のデータが保存されているのです。

WordPressは、記事のページといったウェブ・ブラウザにHTMLで表示できる形式でデータが保存されているわけではなく、データ・ベース管理システム(具体的には、MySQL、または、 MariaDB)で構成要素ごとにデータがテーブル化されて保存されています。

ウェブ・ブラウザから「この記事のページを表示」といった具体的なリクエストを受けると、データ・ベースのテーブルから該当する各構成要素データを呼び出して、ページの形に動的に作り出して表示しています。

つまり、Wordpressの記事をバックアップするには、データベース・サーバーのテーブル自体をより安全な場所(例えば、ローカル・ストレージ)にコピーしなければなりません。

WordPressをインストール(例えば、XserverのWordpress簡単インストールを実行)した時に、レンタル・サーバー契約して独自ドメインとリンクさせたウェブ・サーバーとは別に、データベース・サーバーがWordpressに関連付けられ、次のような登録情報を入手しましたね。

データ・ベース登録情報
  • MySQLホスト名(MySQLサーバー名)
  • MySQLデータベース名
  • MySQLユーザー名
  • MySQLパスワード

データベース・サーバーのテーブル内容の確認や変更には、これらの登録情報を使って、後述の「phpMyAdmin」ツールが使用できます。

データベース・サーバー上のWordpressのテーブル

データベース・サーバーでWordpressが使っているテーブルは、次のようになっています。

テーブル名 説明
wp_commentmeta 各コメントに付随する関連情報を保存しています。
wp_comments 各コメントに関する情報を保存しています。
wp_links リンクに関する情報を保存しています。
wp_options

プラグインの設定情報などWordpress管理で設定されたオプション情報を保存しています。

wp_postmeta 記事に付随する関連情報を保存しています。
wp_posts 記事のタイトルや本文などが保存されています。
wp_termmeta カテゴリやタグといったリンクの分類に使われる語句に付随する関連情報を保存しています。
wp_terms カテゴリやタグといったリンクの分類に使われる語句に関する情報を保存しています。
wp_term_relationships 記事やリンクとカテゴリやタグの関連付け情報を保存しています。
wp_term_taxonomy 投稿やリンクの分類上の語句(カテゴリーやタグ)に関する情報を保存しています。
wp_usermeta 各ユーザーに付随する関連情報を保存しています。
wp_users 登録ユーザーに関する情報を保存しています。
WordPressのテーマやプラグインを使っている場合、これらの独自のテーブルが生成されることがあります。

データベース・サーバーのテーブルの内容を見ると、「wp_posts」に記事のタイトルや本文が入っていることがわかりますね。また、カテゴリ、タグ、パーマリンクといった記事の情報もそれぞれの要素に分散して関連付けられてテーブル化されているので、データベースそのものをバックアップする必要があります。

バックアップを取るべきディレクトリとファイル

ここまでで解説してきたサーバーやWordPressのシステム構成を理解することで、どのような情報が、どこに保存されているのかわかりましたね。

これをまとめると、バックアップを取るべき主な内容と場所は、次の通りです。

バックアップを取るべき主な内容と場所
  • Wordpresのテーマ、プラグイン:
    • ウェブ・サーバーの「wp-content」>「plugins」および「themes」
  • Wordpresにアップロードした画像など:
    • ウェブ・サーバーの「wp-content」>「uploads」
  • WordPressの記事関連データ:
    • データベース・サーバーのテーブル・データ

まとめ

第1部のこの記事では、Wordpressのシステム構成からウェブ・サーバーとデータベース・サーバーに保存されるデータの内容と場所について解説しました。

データの種類によって保存されている場所が分かれていて、バックアップを取るのが大変そうですが、バックアップを取るための便利なツールがあります。

第2部では、適用範囲が異なる3つのタイプのツールの特徴や使い方を理解して、バックアップの具体的な方法を解説していきます。第2部でバックアップ方法について理解を深めましょう。