WordPressのバックアップとリストアを「中身から」理解する

1K Views

May 25, 25

スライド概要

OkayamaWordPressMeetup #12 | そのバックアップ、本当に復元できますか? リストアやってみた!
https://www.meetup.com/ja-JP/okayama-wordpress-meetup/events/307520769/
でのスライドです。

## 要約

このセッションでは、WordPressのバックアップとリストアをただ「取る」だけではなく、何で構成されているのかを理解しながら、wp-contentやデータベースの扱い方、バックアップに含まれる機密情報の注意点について解説します。プラグイン非依存の視点から、バックアップの取り方やデータの扱い、リストアの手順を具体的に説明し、注意が必要なポイントも紹介します。

profile-image

岡山県在住。小売店、飲食業を経て2000年よりウェブ制作に従事し、2023年6月からClassiに所属。 業務外の活動として、セミナーイベント・勉強会への登壇、書籍の執筆・寄稿など執筆活動、技術系ドキュメントの翻訳などを行う。 ウェブクリエイターズニュース管理人。okayama-js主宰。Okayama WordPress Meetup オーガナイザー。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
1.

WordPressの バックアップとリストアを 「中身から」理解する 〜プラグインに頼らない方法と、最低限守るべきポイント〜 前川昌幸 2025/05/24 OkayamaWordPressMeetup #12

2.

はじめに WordPressのバックアップとリストアは、ただ「取る」だけでは安心で きません。 このセッションでは、WordPressが何で構成されているのかを振り返り ながら、wp-contentやデータベースの扱い方、バックアップに含まれる 機密情報の注意点を紹介します。 プラグインを使う場合でも役立つ“仕組みの理解”を、プラグイン非依 存の視点からお届けします。

3.

自己紹介 • 前川昌幸(まえかわまさゆき) • Okayama WordPress Meetupオーガナイザー • Classi株式会社 プロダクト本部 学習PMF部 副部長 • WordPressとの付き合い • 受託制作 • 自社メディア • 個人ブログ

4.

この話の流れ 1. バックアップの取り方 2. バックアップしたデータの取り扱い 3. リストアの考え方 4. リストアのデモ(時間次第 • 別ドメイン(テストサイトなど)への適用パターン

5.

この話のねらい • 「プラグイン便利」「ホスティングサービスの機能ありがたい!」 それは確かにそう • プラグインの場合 • 無料?有料? • ウェブアプリケーションにできる範囲の限界 • なくてもできるぐらいの知識持っておくと…… • より有効的につかえる場面ありそうな気がしませんか? • よりありがたみが分かる気がする!

6.

バックアップの取り方 (ファイル)

7.

バックアップデータの最小構成は? • 「最小で済ましたい!」 という意図がある場合は wp-contentディレクトリのみ

8.

バックアップデータの最小構成は? • 「最小で済ましたい!」 という意図がある場合は wp-contentディレクトリのみ fi • .htaccessとかwp-con gは?

9.

最小で済ますならwp-content • 下記のファイル群がこのディレクトリに入っているから • アップロードされた画像など • なくなると困るの想像に容易いですよね? • 容量が……とかの話出ますが、これは別スコープの話 • テーマ/プラグイン • 自作の場合、動いている環境のものを残したい • 配布終了へのリスクヘッジ

10.

.htaccessは? • WordPressでは、プログラムが編集する、 指示通りに記載するというケースが多い。 • リストアの環境に違いがあるときに、 大ハマリの震源地になる可能性がそこそこある。 • 「バックアップ」というよりは参照するための情報として

11.

wp-con g.phpは? • このファイルは、コンテンツではなく 「機密データ」として取り扱う必要あり • DBの接続情報 • 各種外部サービスの認証情報 • ファイルが消えたら困る状態は非常に危ない運用状態 • それはバックアップに依存すべきでないハナシ fi • バックアップの対象に入った時点で、 バックアップの全てをそのレベルで管理する必要あり

12.

他のファイル達は? • 下記のケースでは必要になります • WordPressのコードに手を入れているとき • 特定のバージョンを使い続けているとき • wp-content配下以外にファイルの生成を行っているとき • 全部取らないと不安なとき • 上記の場合はホスティングサービスのバックアップに 頼るのがよいかも?

13.

バックアップの取り方 (データベース)

14.

データベースのバックアップは「まるごと」 • 「最小構成」とか考えない • WordPressに関わるものは、まるごとバックアップして、まるごとリ ストアするが大前提 • リストアは「データをテーブルごと消して入れ直す」 • コマンドは下記 • mysqldump --add-drop-table -u ユーザー名 -p データベース名 > backup.sql

15.

データベースのバックアップは「まるごと」 • phpMyAdminでは 「DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT / TRIGGER コマンドを追加する」

16.

ファイルとデータベースは同じタイミングで • WordPressやプラグインのバージョンにより、 データベースの構成が変化することがあるので • 完全に同期でなくても良いけど、基本同じタイミングで

17.

バックアップしたデータの 取り扱い

18.

バックアップファイルは機密データ • 特にデータベース • 外部サービスの認証情報 • ユーザー(管理者含む)の個人情報 • ホスティングサービスのバックアップは基本配慮済みと考えてOK • 今時考えていない事業者はやっていけないはず • プラグインは設定間違えなければ • 「それがわからん」という場合はホスティングサービスのものを

19.

ありがちなケース 1. メンテナンス作業のために定期的とは別に取得したバックアップ 2. メンテナンス作業を行う 3. 問題無く進んだので、バックアップの出番無し 4. 作業完了 5. バックアップを消し忘れて、情報流出のリスクを抱え続ける

20.

リストアの考え方

21.

基本的な手順 1. WordPressを設置 2. データベースをインポート 3. ファイルをアップロード fi 4. wp-con g.phpの設定確認・修正

22.

テストサイトにコピーする 1. テストドメインでリストアする 2. wp-con g.php で WP_HOME,WP_SITEURLを設定する define(‘WP_HOME','https://test.sample.blog'); define(‘WP_SITEURL','https://test.sample.blog/wordpress'); 3. パーマリンク再設定 fi 4. データベース内の絶対URLは Search Replace DB や WP-CLI search-replace で置換

23.

時間あればリストアのデモします

24.

ありがとうございました!