WordPressの保守・メンテナンスをやってみよう!

本日の趣旨説明

  • バックアップの取得、定期的な設定方法
  • バックアップを元にした復元方法
  • バックアップを元にしたローカル環境の構築
  • アップデート時のチェックリストの作成方法
  • 質疑応答

そもそも保守・メンテナンスって?

  • 障害を起こさないために行う業務
  • 故障や不具合などのイレギュラーなトラブルに対応する業務

主なWordPressの保守・メンテナンスって?

  • 死活監視
  • バックアップ
  • アップデート
    • WordPress関連
      • コア
      • プラグイン
      • テーマ
    • サーバ環境関連
      • Linux
      • Apache / Nginx
      • MySQL
      • PHP
  • バックアップからの復元
  • 不具合が起きたときの復旧

それってWordPressに必要?

  • はい、必要です。
  • WordPressはたくさんの人が使っています。(世界のシェア40%以上)
  • そしてたくさんのテーマやプラグインが提供されています。
  • そのどれもがセキュリティー的な脆弱性を持っている可能性があり、それが発見されると、作者等に連絡が行われ、それに対応したファイルがアップデートとして提供される場合があります。
  • ので安全に利用するためにはアップデートが必要です。
  • そしてアップデートを含み、障害を起こさないような対応のためにはバックアップも必要です。
  • そしてもし障害が起こった場合には、それを自分で修正する。もしくは修正してくれるサービスや人に対応を依頼する必要があります。

死活監視

  • サーバがおちていたり、サイトが真っ白になっていたり、通常表示されるはずのページが表示されない場合にメールなどに通知を送る
  • JetPack Pluginの場合
  • 復旧検知時

バックアップ

なぜバックアップするの?

  • アップデートやデータベースの操作などをおこなったあと、不具合が発生しても元に戻せるようにする
  • 安全なアップデートを行うために、先に別の環境で試すことができる
  • セキュリティ的な問題(改ざんなど)があった場合に、それ以前の状態に一旦戻すことができる(対策は必要)

バックアップで考えること

  • 費用
    • 有料か無料か
  • 頻度
    • リアルタイム(ほぼ逐次)
    • 1日1回
    • 1週間に1回
    • 1ヶ月に1回
  • 保存する世代数
    • どれだけの世代をバックアップとして保存するか
  • バックアップの範囲
    • どこまでの範囲を保存するか
      • WordPress全体
      • サーバ全体
      • 部分的に
  • どこに保存するか
    • 同サーバ
    • 別箇所
    • ローカル
  • 容量
    • バックアップの容量はどのぐらいか?
  • どのように
    • 自動
    • 手動

バックアップの方法毎のメリットとデメリット

  • 手動
    • メリット
      • 好きなときに好きな場所に好きな頻度でバックアップできる
      • システムを自前で構築すれば、自動化も可能
    • デメリット
      • 都度作業が発生し、忘れやすく、面倒、時間がかかる
      • 作業のミスにより、サイトに影響が出てしまう可能性がある
      • 技術が必要
  • ホスティングサーバが提供するバックアップ機能の利用
    • メリット
      • 任せられる
      • 初期設定が必要なケースがあるが、その後は放置可能
      • WordPress自体に不具合があった場合にも復元できるサービスも存在
    • デメリット
      • ホスティング会社ごとにサービスの内容が異なる
      • 世帯数や範囲などを決められない場合がある
      • 復元に費用がかかる場合もある
  • SaaSサービスの利用
    • メリット
      • バックアップ以外にも保守に関するサービスが複合的に提供される
      • WordPress自体に不具合があった場合にも復元できるサービスも存在
    • デメリット
      • 費用がかかる
      • 利用するSaaSによって、サービスの範疇が異なる
      • SaaSサービス側の信頼度に依存する
  • プラグインの利用
    • メリット
      • プラグインをインストールし、設定をするだけでバックアップを開始できる
    • デメリット
      • プラグインにより提供サービスが異なる
      • 課金となるポイントも異なる
      • WordPressが動かない場合、動かなくなるケースが多い

プラグインでのバックアップ、よく使われているであろうプラグインの紹介

  • BackWPup
  • UpdraftPlus
  • All-in-One WP Migration
  • 比較
名前スケジュール機能世代管理機能外部ストレージ保存復元範囲
BackWPuphollow red circlehollow red circlehollow red circlered triangle pointed up 手動でファイルとDBを戻す必要あり簡単復元機能は有料WordPress全体
UpdraftPlushollow red circlehollow red circlehollow red circlehollow red circleWordPress本体は含まれず。DB、プラグイン、テーマ、アップロード、翻訳などプラグイン側であらかじめ設定されたファイルのみ
All-in-One WP Migration有料有料有料サーバ内のファイルからの復元はhollow red circle外部サーバからの復元は有料WordPress本体は含まれず。DB、プラグイン、テーマ、アップロード、翻訳などプラグイン側であらかじめ設定されたファイルのみ

アップデート

  • アップデートは必要かどうか
    • 必要
    • アップデートの中には脆弱性への対策が含まれていることがあり、アップデートは必須
  • アップデートの難しさ
    • アップデートの結果、表示がうまくされないことがある

考えられる不具合

  • 画面が動かなくなる
    • ファイルの欠損やエラーによる不具合
      • アップデートのファイル送受信時
      • 記述したコードのエラー
      • 他のプラグインなどとのバッティング
  • 画面は動いているが一部崩れる
    • 表示されるコードが変更された
    • 機能が追加された、削除された
  • その他

不具合が起こったときの対処法

  • 画面にエラーが表示されるかどうか
    • エラーが表示されない場合、デバッグモードをtrueにしてエラーをまずは表示する
    • wp-config.phpにおいて
      • define( ‘WP_DEBUG’, true );
  • エラーの解決
    • エラーの原因となる箇所を修正する
    • エラーの原因となっている機能を一旦止める(プラグインやテーマなどをデフォルトに戻すなど)
    • Tips : 大抵の場合、どれかがPHPのFatal Errorになっているはずなので、そのファイルを含むプラグインなどを止めると、普及することが多いです。
  • 画面が動いているが一部崩れている場合
    • 原因の特定
    • CSSなどの調整
    • Tips : こちらはコア、プラグイン、テーマの仕様がアップデートで変わることで起こる場合が多いように感じます。この場合は、該当箇所の修正、カスタマイズしている部分で対応する必要があります。(直接、元のファイルを触るのはNG)

作業は簡単ではない場合もある。

ただ、殆どの場合、アップデートに問題が起こることは少ない

また、致命的な問題が起こった場合には、その途中で通知を管理者に向けてメールし、作業を中断する機能がWordPressに搭載されている。

そこで自動アップデート機能有効化のススメ

プラグインとテーマの自動更新

  • 自動アップデート後の通知メールサンプル

バックアップを元にしたローカル環境の構築

  • All-in-One WP Migrationを元に作成するのが簡単と考えられる
    • もしくは、サイトクローン機能を提供するサービスの利用
  • All-in-One WP Migration + Localを利用した場合の注意点
    • PHPのバージョンを本番環境に揃える

アップデート時のチェックリストの作成方法

  • 各種テンプレート別にページが表示されるかどうかを確認、エラーが出てないか
    • TOP
    • 一覧
    • 記事詳細
    • 固定ページ
  • 管理画面の中でエラーが出てないか
    • ダッシュボード
    • 投稿タイプ毎の投稿一覧
    • 投稿タイプ毎の投稿編集画面
    • プラグイン毎の画面
  • 投稿が行えるか
    • サンプルの投稿テスト
    • 画像のアップロードも行う
    • カスタムブロック
    • 既存の記事の編集
  • 各種利用プラグインが問題なく利用できるか

テンプレート別のキャプチャの確認アイディア

ご協力頂いた方