ワードプレス、バックアップ作業!記事データのインポートエクスポートでデータ紛失を防ぐ

CMS
この記事は約11分で読めます。

WordPressを使っていると、万が一のトラブルに備えてバックアップが必要だと聞いたことがあるかもしれません。しかし、「エクスポート」と「バックアップ」の違いが分からず、どちらを選べばいいのか迷う方も多いのではないでしょうか?実際、エクスポートは主にコンテンツの保存に特化しており、バックアップはサイト全体を守るための手法です。本記事では、まずこの違いを明確にし、次にWordPressサイトの完全なバックアップ方法、復元、そしてエクスポートとインポートを解説します。

はじめに

エクスポートとバックアップの違い

WordPressの「エクスポート」は、投稿や固定ページなどのコンテンツをXML形式で保存する機能で、主にコンテンツの移行や部分的なデータ保存に役立ちます。一方で、バックアップはサイト全体、つまりテーマ、プラグイン、メディアファイル、データベースを含む保存作業で、復元や移行に欠かせません。この違いを正しく理解しておくことで、自分の目的に合った手法を選べるようになります。

WordPressのエクスポート手順

WordPressのエクスポート機能は、サイトの投稿、固定ページ、カテゴリー、タグなどのコンテンツを簡単に保存できる便利な機能です。エクスポートしたデータは、他のサイトへの移行や一部のバックアップ用途に活用できます。このセクションでは、WordPressの管理画面から行う基本的なエクスポート方法と、phpMyAdminを使った手法の2つを紹介します。

完全バックアップ手順については、次回にご紹介します。それぞれの特徴や手順を理解し、自分の目的に合った方法を選んで活用してください。

WordPressのエクスポート

WordPressの「エクスポート」機能を使用

WordPressの「エクスポート」機能は、投稿、固定ページ、カスタム投稿、コメント、カテゴリー、タグなどのコンテンツをXML形式で保存する機能です。これにより、サイトのバックアップや他のWordPressサイトへのデータ移行が簡単にできます。

ただし、エクスポートされるのはコンテンツのみで、テーマやプラグイン、設定は含まれないため、完全移行には別途対応が必要です。

  1. WordPress管理画面にログイン。
  2. [ツール] > [エクスポート] をクリック。
  3. 「すべてのコンテンツ」 を選択。
  4. エクスポートファイルをダウンロードをクリック。
    • これにより、.xmlファイルがダウンロードされる。(例:WordPress.2024-01-01.xml)
    • .xmlファイルには記事内容、カテゴリー、タグなどが含まれる。メディアファイル(画像・動画)は含まれず、パス情報のみ。

エクスポートする内容を個別に選択

WordPressのエクスポートで「投稿」「固定ページ」「メディア」を選択した場合の内容は以下の通りです。

投稿

  • 投稿内容(タイトル、本文、公開状態など)
  • コメント
  • カスタムフィールド
  • カテゴリーとタグ

固定ページ

  • 固定ページ内容(タイトル、本文、公開状態など)
  • カスタムフィールド
  • 関連するナビゲーションメニュー

メディア

  • メディアの参照情報(URLや添付先)
  • 実際のファイルは含まれず、データのみ

注意: カスタム投稿やナビゲーションメニューは「すべてのコンテンツ」を選択しないと完全にエクスポートされません。

WordPressのインポート

posts、postmeta、terms、term_taxonomy、term_relationships、comments、options、commentmeta。これらのテーブル情報がインポートされます。

ステップ 1: インポートツールのインストール

  1. 管理画面の左メニューから「ツール」→「インポート」をクリックします。
  2. 「WordPress」の項目の「今すぐインストール」をクリックします。
  3. インストールが完了すると、「インポーターを実行」と表示されるので、クリックします。

ステップ 2: エクスポートしたファイルのアップロード

  1. 「WordPressのインポート」画面が表示されます。
  2. 「ファイルを選択」ボタンをクリックし、エクスポートした .xmlファイル(例: WordPress.2024-01-01.xml)を選択します。
  3. 「ファイルをアップロードしてインポート」ボタンをクリックします。

ステップ 3: インポート設定の確認

  1. 投稿の作成者を選択します。
    • 既存のユーザーに関連付けるか、新しいユーザーを作成できます。
  2. 「添付ファイルをダウンロードしてインポート」にチェックを入れる(メディアファイルを移行する場合)。
  3. 「実行」ボタンをクリックしてインポートを開始します。

インポート完了の確認

インポートが完了すると、成功メッセージが表示されます。
「投稿」や「固定ページ」を確認し、データが正しくインポートされているかチェックしましょう。

なお、インポート時に以下のようなメッセージが出ることがあります。

  • product_visibility … のインポートに失敗しました
  • product_type … のインポートに失敗しました
    → これは WooCommerce(ネットショップ機能)関連のデータです。新しい環境に WooCommerce プラグインを導入していない場合に表示されます。記事本文や画像には影響しません。
  • 投稿タイプ wpcf7_contact_form が有効ではありません
    → これは Contact Form 7(お問い合わせフォームプラグイン)のデータです。プラグインが入っていない状態でインポートすると失敗と表示されます。記事や固定ページの移行には影響しません。

これらは 特定のプラグインを使用していた場合にのみ必要なデータです。記事や画像を移行する目的であれば、表示されても問題ありません。もしネットショップ機能やお問い合わせフォームも移行したい場合は、先に該当プラグインを新しいサーバーにインストールしてから再度インポートを行いましょう。

データベース新URLに置き換え

WordPressの移行後、エクスポートされたデータ内に旧URL(元サイトのドメイン)が残ることがあります。主に以下の箇所に影響するため、すべてを確認し、必要に応じて修正を行うことで、移行先サイトを正しく機能させることができます。

旧URLの修正は移行後に手動で行う必要があります。SQLクエリや専用のプラグインを使用して、guidやその他のURLを新しいドメインに一括置換してください。なお、これはWordPressの設計上の仕様であり、避けられない部分です。

wp_postsテーブル:guid(投稿やページの識別子(旧URLが含まれる)。)

UPDATE wp_posts 
SET guid = REPLACE(guid, 'https://エクスポート先のドメイン', 'https://インポート先のドメイン');
SQL

wp_postsテーブル:post_content(記事本文内のリンクや画像パス。)

UPDATE wp_posts 
SET post_content = REPLACE(post_content, 'https://エクスポート先のドメイン', 'https://インポート先のドメイン');
SQL

wp_postmetaテーブル:meta_value(添付ファイルやカスタムフィールドに含まれるURL。)

UPDATE wp_postmeta 
SET meta_value = REPLACE(meta_value, 'https://エクスポート先のドメイン', 'https://インポート先のドメイン');
SQL

wp_optionsテーブル:siteurlとhome(サイトの基本URL。)

UPDATE wp_options 
SET option_value = REPLACE(option_value, 'https://エクスポート先のドメイン', 'https://インポート先のドメイン');
WHERE option_name IN ('siteurl', 'home');
SQL

wp_commentsテーブル:comment_content(コメント内容や投稿者のURL。)

UPDATE wp_comments 
SET comment_content = REPLACE(comment_content, 'https://エクスポート先のドメイン', 'https://インポート先のドメイン');
SQL

インポートの注意点

  1. ユーザー権限の確認: 既存ではない、新しく作成されたユーザーの権限は「購読者(Subscriber)」になるため、必要に応じて権限を「管理者」や「編集者」に変更してください。
  2. 添付ファイルのインポートに失敗する場合
    • 元のサイトが非公開になっていると、メディアファイルのダウンロードに失敗することがあります。
    • この場合、元サイトのuploadsフォルダを手動でダウンロードし、新しいサイトにアップロードする必要があります。
  3. パーマリンクの確認: インポート後、記事が正しく表示されない場合は、WordPress管理画面で**「設定 > パーマリンク」**を開き、「変更を保存」をクリックして再設定します。

注意点

  • エクスポート/インポートの制限: 投稿数が多い場合やカスタム投稿タイプがある場合は、インポートが途中でエラーになることがあります。この場合は、phpMyAdminを使うことを検討してください。
  • SEO設定の確認: 他サイトへの移行時にSEO関連の設定(スラッグやタイトルタグ)を元の状態に保つように注意。

phpMyAdminを使ったエクスポート

  1. サーバーのphpMyAdminにログイン。
  2. WordPressデータベースを選択。
  3. [インポート] タブをクリック。
  4. エクスポート時に保存したSQLファイルを選択し、インポートを実行。
  5. インポート後、記事データがインポートされる。

主なデータが保存されるデータベーステーブル

投稿 (投稿・固定ページ・カスタム投稿)

  • テーブル: wp_posts
  • 投稿、固定ページ、カスタム投稿の情報(タイトル、本文、公開状態など)が保存されています。
  • カスタム投稿も、このテーブルに登録されますが、post_type列で区別されます。

コメント

  • テーブル: wp_comments
  • 各投稿に紐づいたコメントデータ(コメント本文、著者名、投稿日時など)が保存されています。

カスタムフィールド

  • テーブル: wp_postmeta
  • 投稿やページに付随する追加情報(メタデータ)が保存されます。

カテゴリー

  • テーブル: wp_terms、wp_term_taxonomy、wp_term_relationships
  • カテゴリー名、スラッグ、階層などの情報が保存されています。
  • 投稿とカテゴリーの関連付けもこれらのテーブルで管理されます。

タグ

  • テーブル: wp_terms、wp_term_taxonomy、wp_term_relationships
  • タグもカテゴリーと同じ構造で管理され、taxonomy列で区別されます。

ナビゲーションメニュー

  • テーブル: wp_posts、wp_postmeta
  • ナビゲーションメニューはカスタム投稿タイプ (nav_menu_item) として保存されます。

まとめ

WordPressのエクスポート・インポート機能を使えば、投稿や固定ページなどのコンテンツを簡単に移行できます。エクスポートでは「ツール」→「エクスポート」からXMLファイルをダウンロードし、インポートでは「ツール」→「インポート」でWordPressインポーターをインストール後、XMLファイルをアップロードします。ただし、メディアファイルは含まれず、別途移行が必要な場合があります。データ移行後は、投稿やメディアの表示を確認し、必要に応じて修正しましょう。

コメント