管理画面を開くたびに、更新のお知らせが並んでいる。更新したあとにサイトの表示が崩れないかが気になって、つい後回しにしてしまう。WordPressでサイトを運営している会社では、よくある状況です。
WordPressの保守管理は、この更新作業を含め、サイトを安全に動かし続けるための作業全般を指します。社内で対応できる作業もあれば、専門的な知識や時間が必要な作業もあります。どこまでを自社で行い、どこからを外部に任せるかは、サイトが止まったときの影響と、確認に時間を割けるかどうかで決まります。
この記事の結論
保守管理の柱は、更新作業、バックアップ、不正ログイン対策、障害対応の4つです。自社で保守する場合も、毎日のバックアップをサイトとは別の場所に保管すること、不正ログイン対策を行うこと、更新の前後に表示とフォームを確認することの3つは、最初からそろえておいてください。止まると売上や問い合わせに影響するサイトや、確認の時間を確保できない場合は、保守の外部委託を検討することを勧めます。
WordPressの保守管理とは
WordPressは、本体(コア)、デザインを決めるテーマ、機能を追加するプラグインで構成されています。それぞれに更新版が出され、その中には見つかった脆弱性を修正するものも含まれます。保守管理とは、これらを継続して更新し、万一に備えてバックアップを取り、障害が起きたときに復旧するまでの作業をまとめて指す言葉です。
| 作業 | 主な内容 |
|---|---|
| 更新作業 | WordPress本体・テーマ・プラグインの更新と、更新後の表示・動作の確認。サーバーのPHPのバージョンアップも含む |
| バックアップ | データベースとファイルの定期的な保存と、そこから復元できるかどうかの確認 |
| 不正ログイン対策 | ログイン画面のURL変更、ログイン試行回数の制限、2段階認証、使っていないプラグイン・テーマの削除 |
| 監視 | エラーや表示の不具合、身に覚えのない変更に気づける仕組みづくり |
| 障害対応 | 表示崩れや真っ白な画面など、不具合が起きたときの原因の特定と復旧 |
このうち、どこまでをサーバー会社が対応するかは契約によって異なります。サーバーそのものの管理と、サーバー上で動いているWordPressの管理は、分けて考える必要があります。
プラグインの更新を放置したサイトで起きた改ざん
当社が対応した事例です。このサイトは別の制作会社が制作したもので、OptinMonsterというプラグインがインストールされていました。運営者の方は、このプラグインを入れた覚えがないとのことでした。管理画面には更新を促す通知が出ていましたが、サイトは問題なく表示されていたため、そのままになっていました。制作会社からも、更新が必要だという説明はなかったそうです。
ある朝、「サイトが表示されない」とご連絡をいただきました。運営者の方がサーバー会社に問い合わせたところ、不正なファイルが検出されたという回答が届きました。当社の調査でも、ファイルが改ざんされた形跡を確認しています。

OptinMonsterには、2021年に、ログインしていない第三者がサイトに不正なJavaScriptを埋め込める脆弱性が見つかり、同年10月に公開されたバージョン2.6.5で修正されています。このサイトの侵入経路がこのプラグインだったと断定はできません。ただ、使われていないプラグインが更新されないまま残っていたのは事実です。設定も何もされていなかったため、削除しておけば、少なくともこのプラグインの脆弱性を突かれることはありませんでした。
サーバー会社の回答には、改ざん前のデータは保持していないとも書かれていました。自社でバックアップを取っていなければ、元の状態に戻す手段がないということです。
バックアップと更新作業の進め方
セキュリティ対策に「これをすれば絶対に防げる」という方法はありません。更新作業は脆弱性をふさぐための作業、バックアップはトラブルが起きたときに元の状態へ戻すための対策です。自社で保守する場合は、この2つと、次の章で説明する不正ログイン対策を、最初にそろえておいてください。
バックアップは毎日サイトとは別の場所に保管する
WordPressのデータは、記事や設定が入ったデータベースと、プラグインや画像などのファイルの2つに分かれています。WordPressの公式ドキュメントでも、サイトを完全に復元するには両方が必要だとされています。バックアップを取るときは、この2つがそろっているかを確認してください。
- 保管場所同じサーバーの中だけに保管していると、サーバーに障害が起きたときに、サイトと一緒に失われてしまいます。クラウドストレージなど、別の場所にも保管してください。
- 頻度と保存期間当社では毎日の取得を勧めています。1日分だけを上書きしていると、改ざんに気づくのが遅れた場合、改ざん後のデータしか残りません。数日分は残しておいてください。
- 復元の確認バックアップが取れていることと、そこから復元できることは別の話です。一度、別の環境に復元して、サイトが正しく表示されるかを確認してください。復元できないバックアップは、ないのと同じです。
- ECサイトの場合バックアップを取った時点より後の注文や会員登録は、バックアップには含まれていません。復元する前に、その間の注文をどう扱うかを決めておく必要があります。
プラグインでバックアップを取る場合、広く使われているAll-in-One WP Migrationは、無料版には日時を指定した自動バックアップの機能がなく、有料の拡張機能が必要です。契約しているサーバー会社にバックアップ機能があれば、それを利用する方法もあります。いずれの方法でも、保管場所と保存期間を確認しておいてください。
更新は一つずつ行って前後で動作を確認する
更新の対象は、WordPress本体、テーマ、プラグインの3つです。まとめて更新すると、不具合が起きたときに原因を特定しにくくなります。次の手順で進めてください。
- 更新の前にバックアップを取る毎日のバックアップとは別に取っておけば、更新する直前の状態に戻せます。
- 一つずつ更新する一つ更新するたびに、トップページとアクセスの多いページの表示を確認します。
- 問い合わせフォームと購入の流れを確認するフォームから実際に送信し、受信メールが届くかを確認します。ECサイトなら、決済代行会社が用意しているテスト環境に検証環境をつなぎ、注文から決済の完了まで確認します。
- 不具合があれば作業を止めて元に戻す次の更新には進まず、更新前のバックアップから復元してから原因を調べます。
WordPress本体のメジャーアップデートをいつ実施するかについては、WordPressのメジャーアップデートは急ぐべき?で解説しています。
不正ログイン対策
WordPressのログイン画面のURLは、初期設定ではどのサイトも同じです。そのため、このURLを狙って、パスワードを自動で何度も試す攻撃(ブルートフォース攻撃)が行われます。ログイン画面に限らず、当社が保守しているサイトにも、攻撃の通信は毎日のように届いています。下の画像は、そのうちの一つのサイトで受け取った通知で、10分間に103件の攻撃をブロックしたと書かれています。

不正ログイン対策は、一つだけでは十分ではありません。次の対策を組み合わせて使います。
- ログイン画面のURLを変更するSiteGuard WP PluginやWPS Hide Loginで変更できます。初期設定のURLを狙った自動的な攻撃を避けられますが、URLを変えればほかの対策が要らなくなるわけではありません。
- ログイン試行回数を制限するSiteGuard WP Pluginには、ログインの失敗が続いた接続を一時的にブロックする機能があります。
- 2段階認証を設定するパスワードに加えて、スマートフォンのアプリに表示される確認コードを入力する方式です。Wordfence Securityの無料版でも設定できます。
- WAFを導入するWordfence Securityには、不正な通信を遮断するWAF(Webアプリケーションファイアウォール)と、ファイルに不正なコードがないかを調べるスキャン機能があります。無料版では、新しい攻撃に対応するルールの反映が、有料版より30日遅れます。
- 使っていないプラグインとテーマを削除する無効化しているだけのものも、ファイルはサーバーに残っています。使わないものは削除してください。
記事の編集履歴(リビジョン)やスパムコメントがたまると、データベースが大きくなります。WP-Optimizeなどのプラグインで定期的に整理しておくと、バックアップの容量も抑えられます。
作業ごとの担当と確認方法
自社で保守する場合も、作業の実施と、正常に動作するかどうかの確認は、分けて記録しておく必要があります。作業ごとに、誰が担当するのか、何を確認すれば完了とするのか、どんな状況になったら専門家に相談するのかを決めておいてください。
| 作業 | 必要な権限 | 完了の確認方法 | 専門家に相談したほうがよい状況 |
|---|---|---|---|
| バックアップ | WordPressの管理者権限、またはサーバーの管理画面 | 当日分が別の場所に保管されている。一度、復元してサイトが表示されることを確認済み | 復元しようとしたら失敗した。保管場所が同じサーバーしかない |
| 更新作業 | WordPressの管理者権限 | 主要なページが表示され、フォームの送信と受信メールが届く。ECサイトならテスト環境で決済まで完了する | 更新後に画面が真っ白になった。どの更新が原因か分からない |
| PHPのバージョンアップ | サーバーの管理画面 | バージョンアップ後も、管理画面、主要なページ、フォームが動く | エラーが表示された。使っているテーマやプラグインが新しいPHPに対応しているか分からない |
| 不正ログイン対策 | WordPressの管理者権限 | 管理画面を使う全員が、新しい方法でログインできる | 身に覚えのないユーザーが登録されている。誰もログインできなくなった |
| 不要なプラグイン・テーマの削除 | WordPressの管理者権限 | 削除後も、表示とフォームが問題なく動く | 何のために入っているのか分からないプラグインがある |
確認する場所は、サイトの種類によって変わります。会社やお店を紹介するサイトなら、トップページ、アクセスの多いページ、問い合わせフォームと受信メールを確認します。ECサイトなら、これに加えて、商品ページ、カート、テスト環境での決済、注文確認メール、在庫数も確認してください。
PHPのバージョンアップの前後で確認することは、PHP 8.2のサポート終了に備えるで解説しています。
自社で保守するか外部に任せるかの判断基準
どちらが正しいということはありません。サイトが止まったときの影響と、確認に時間を割けるかどうかで判断します。
| 判断のポイント | 自社で対応できるケース | 外部に任せたほうがよいケース |
|---|---|---|
| 止まったときの影響 | 個人のブログや、会社紹介が中心の小規模なサイト | ECサイトなど、止まると売上や問い合わせに影響する |
| 確認に割ける時間 | 更新のたびに確認する時間を確保できる | 本業が忙しく、更新のお知らせがたまっている |
| 不具合への対応 | 不具合が起きても、自分で原因を調べて元に戻せる | 自分で更新すると、たびたび不具合が起きる |
| 更新の担当者 | 担当者が一人で、作業内容を把握できている | 複数の担当者がいて、誰が何をしたか把握できていない |
| 相談先 | 困ったときに相談できる人がいる | 制作会社に頼れず、相談できる相手がいない |
外部に任せる場合でも、ここまでの内容を知っておけば、保守会社が何をしているのかが分かり、やり取りもスムーズになります。契約の前に保守会社に確認しておきたいことは、WordPress保守を契約する前に確認することで解説しています。
サーバー会社と制作会社の対応範囲
保守の対応範囲は、誤解の多いところです。サーバーの管理を任せられるマネージドサーバーを使っていても、サーバー会社が対応するのは、多くの場合サーバーそのものの管理です。WordPress本体やプラグインの更新は、サイトの運営者か、保守を依頼した会社が行う必要があります。VPSや専用サーバーの場合は、サーバーの設定やOSの更新まで、自社か依頼先が対応することになります。
制作会社の中には、サイトを納品した時点で対応を終える方針の会社もあります。保守を依頼できるか、依頼できるならどこまで対応してもらえるかは、制作を依頼する段階で確認しておくと確実です。今のサイトでそれが分からない場合は、誰が、どこまで、いつまで対応するのかを、この機会に決めておいてください。
当社の保守の内容
grandworkでは、他社が制作したWordPressサイトの保守もお受けしています。お申し込みのあとにサイトの状態を確認し、そのままお引き受けできるかどうかをお伝えします。
- 更新作業WordPress本体・テーマ・プラグインを更新し、主要なページやフォームの動作を確認します。
- バックアップ毎日1回取得し、10日分を保管しています。復元できるのは、最大で前日の時点です。
- 監視と一次対応不審な挙動がないかを監視し、障害が起きたときは一次対応を行います。
- 月次報告行った作業と、気になる点がないかを毎月ご報告します。
今のサイトの状態が分からない場合は、保守を始める前に、点検だけをご依頼いただくこともできます。
- 更新作業とバックアップを任せたい方へ他社が制作したサイトも、状態を確認したうえでお受けします。WordPress保守の内容を見る
- まず今のサイトの状態を知りたい方へ構成や更新の状態を、1回だけ点検します。WordPress点検の内容を見る
