WordPressがメンテナンスから戻らない原因と対処

WordPress本体・プラグイン・テーマを更新したあと、サイトが「メンテナンス中」の表示から戻らないことがあります。WordPressは更新中に一時的なメンテナンスモードへ切り替えるため、WordPressのルートディレクトリに .maintenance というファイルを作成します。通常は更新完了時に自動削除されますが、更新処理が途中で停止するとファイルが残ることがあります。

この場合は、FTPやレンタルサーバーのファイルマネージャーから .maintenance を確認し、更新処理がすでに停止していることを確認したうえで削除すると復旧できる場合があります。ただし、500エラーや真っ白な画面まで .maintenance が原因とは限りません。この記事では、安全な確認方法と削除手順、削除しても直らない場合の対処まで解説します。

1 .maintenanceとは?

.maintenance は、WordPressが更新処理中であることを示す一時ファイルです。WordPress本体の更新では、新しいファイルを既存のWordPressへコピーする前にメンテナンスモードへ入り、処理が完了すると .maintenance を削除します。これによって、更新途中の不完全な状態を一般の訪問者へ表示しないようにしています。

WordPress標準のメンテナンスモードが有効な場合、通常のページではなくメンテナンス用の画面が表示され、HTTPステータスは503になります。

2 .maintenanceはどこにある?

.maintenance は、WordPress本体のルートディレクトリに作成されます。一般的なレンタルサーバーでは public_html 直下にWordPressを設置していることが多いため、次のような構成になります。

  • public_html/
    • wp-admin/
    • wp-content/
    • wp-includes/
    • index.php
    • wp-login.php
    • .maintenance

ただし、WordPressを public_html/blog/ などのサブディレクトリへインストールしている場合は、.maintenance もそのWordPressルートに作られます。そのため、「必ずpublic_html直下」と覚えるのではなく、wp-adminwp-contentwp-includes が並んでいるWordPress本体のディレクトリを探してください。

3 .maintenanceがFTPで見つからない場合

.maintenance は先頭に「.」が付く隠しファイルです。FTPソフトやサーバーのファイルマネージャーによっては、隠しファイルが初期状態では表示されないことがあります。その場合は、「隠しファイルを表示」「ドットファイルを表示」などの設定を有効にしてから確認してください。

4 なぜ更新失敗で.maintenanceが残るの?

WordPressは、更新開始時に .maintenance を作成し、WordPress本体やプラグイン・テーマのファイルを更新したあとにメンテナンスモードを解除します。しかし、PHPのタイムアウト、サーバー負荷、ファイル権限、通信エラーなどで処理が途中停止すると、最後の削除処理まで到達せず .maintenance が残ることがあります。

つまり、.maintenance が残っていること自体が更新失敗の原因なのではなく、更新処理が正常終了しなかった結果として残っている場合があるということです。

5 WordPress標準では10分以上古い.maintenanceは無効扱いになる

ここは重要なポイントです。現在のWordPressでは、.maintenance 内に記録されている更新開始時刻を確認し、その時刻から10分以上経過している場合は、通常のメンテナンスモードは終了したものとして扱います。

そのため、.maintenance ファイルがサーバー上に残っていても、標準のWordPressであれば10分以上経過した古いファイルだけが原因で、いつまでもメンテナンス画面を表示し続けるわけではありません。

10分以上経過しても同じ画面が表示される場合は、ブラウザやCDNのキャッシュ、メンテナンス用プラグイン、独自処理など別の原因も確認する必要があります。

6 .maintenanceを削除してよいタイミング

WordPress公式でも、更新後にメンテナンス表示が残った場合はFTPから .maintenance を削除する方法が案内されています。ただし、更新処理が現在も進行している最中に削除するのは避けてください。

削除を検討してよいのは、たとえば次のような状態です。

  • WordPressの更新画面で明確なエラーが表示され、処理が終了している
  • ブラウザを閉じたあともメンテナンス表示が残っている
  • 更新処理が明らかに停止している
  • 自動更新失敗の通知が表示されている
  • WordPress公式のメンテナンス表示から戻らない

「10分経過したら必ず削除する」というルールではありません。WordPress標準では10分以上古い .maintenance は無効扱いになるため、重要なのは更新処理がまだ進行中ではないことを確認することです。

7 更新中に.maintenanceだけ削除するのは避ける

.maintenance を削除する操作そのものがWordPressファイルを壊すわけではありません。問題は、WordPress本体やプラグイン・テーマのファイルをまだ書き換えている途中なのに、メンテナンスモードだけを解除してしまうことです。

更新中は、一時的に古いファイルと新しいファイルが混在する可能性があります。その状態で訪問者や管理者から通常アクセスできるようにすると、予期しないエラーが発生する可能性があります。更新画面がまだ処理中の場合は、そのまま完了を待ってください。

8 .maintenanceの削除手順

更新処理が停止していることを確認できたら、FTPまたはレンタルサーバーのファイルマネージャーから削除します。

  1. FTPまたはサーバーのファイルマネージャーへ接続します。
  2. wp-adminwp-contentwp-includes があるWordPressルートを開きます。
  3. 隠しファイルを表示する設定にします。
  4. .maintenance を探します。
  5. 更新処理が停止していることを確認してから .maintenance を削除します。
  6. ブラウザでサイトとWordPress管理画面を再読み込みします。

.maintenance が原因だった場合は、削除後に通常のWordPress画面へ戻ります。

9 削除後はWordPressの更新状態を確認する

.maintenance を削除してサイトが表示されたからといって、更新そのものが正常に完了しているとは限りません。更新途中で処理が停止していた場合は、プラグイン・テーマ・WordPress本体の一部が更新されていない可能性があります。

WordPress管理画面へ入れる場合は、次の項目を確認してください。

  • 「ダッシュボード」→「更新」に失敗した更新が残っていないか
  • 更新したプラグインが正常に有効化されているか
  • 更新したテーマで表示崩れがないか
  • フロントページ・固定ページ・投稿ページが正常に表示されるか
  • お問い合わせフォームなど主要機能が動作するか

更新が失敗していた場合は、可能であればバックアップを確認したうえで、該当する更新を改めて実行します。

10 500エラーや真っ白画面は.maintenanceとは別問題の可能性が高い

WordPress標準のメンテナンス画面はHTTP 503で返されます。そのため、更新後に500 Internal Server Errorや真っ白な画面、PHP Fatal Errorなどが表示されている場合は、.maintenance だけが原因とは考えない方がよいでしょう。

更新失敗によってプラグイン・テーマ・WordPress本体のファイルが不完全になったり、PHPの互換性エラーが発生したりしている可能性があります。.maintenance を削除してもエラーが残る場合は、次の項目を確認します。

  • サーバーのPHPエラーログ
  • WordPressのデバッグログ
  • 更新した直後のプラグイン
  • 更新したテーマ
  • PHPバージョンとの互換性
  • WordPress本体ファイルの更新失敗

11 プラグイン更新後にサイトが動かなくなった場合

特定のプラグインを更新した直後に500エラーや重大なエラーが発生し、管理画面にも入れない場合は、そのプラグインが原因になっている可能性があります。FTPから wp-content/plugins/ を開き、原因が明確なプラグインのフォルダ名を一時的に変更すると、そのプラグインをWordPressから読み込ませない状態にできます。

ただし、原因が分からない状態でむやみにプラグインフォルダを削除するのは避けてください。まずエラーログや更新履歴を確認して原因を切り分けます。

12 WordPress本体の更新に失敗した場合

WordPress本体の自動更新に失敗した場合は、.maintenance を削除したあとに自動更新を再実行できることがあります。それでも正常に更新できない場合は、WordPress公式の手動更新手順を利用して本体ファイルを入れ直す方法があります。

本体の手動更新を行う場合は、データベースとファイルのバックアップを取得してから作業してください。wp-contentwp-config.php など、サイト固有のファイルを不用意に上書きしないよう注意が必要です。

13 .maintenanceを削除してもメンテナンス画面が残る場合

.maintenance を削除したのに同じ画面が表示される場合は、まず本当にファイルが消えているか確認します。そのうえで、ブラウザキャッシュ、WordPressキャッシュプラグイン、レンタルサーバーのキャッシュ、CloudflareなどのCDNキャッシュを確認してください。

ただし、WordPress標準のメンテナンス画面がキャッシュされているとは限りません。500エラーやPHPエラーが表示されている場合は、キャッシュ削除より先にWordPressやサーバー側のエラーを調査します。

14 メンテナンス用プラグインを使っている場合は別

WordPressには、サイトを工事中・準備中として表示するためのメンテナンスモードプラグインがあります。このようなプラグインによるメンテナンス表示は、WordPress更新時に作成される .maintenance とは別の仕組みです。

.maintenance を削除しても表示が変わらない場合は、メンテナンスモード用プラグインやテーマ独自の機能が有効になっていないかも確認してください。

15 wp-content/maintenance.phpがある場合

WordPressでは、wp-content/maintenance.php が存在すると、標準のメンテナンスメッセージの代わりにそのファイルを読み込む仕組みがあります。これは更新時のメンテナンス画面を独自デザインにするための機能です。

ただし、maintenance.php が存在するだけで常にメンテナンスモードになるわけではありません。WordPress標準のメンテナンスモード自体は、ルートにある .maintenance の状態などを確認して判断されます。

16 更新前にバックアップしておくと安全

WordPress本体・テーマ・プラグインの更新は通常問題なく完了しますが、サーバー環境やプラグインの組み合わせによって失敗する可能性があります。特に大きなアップデートを行う前は、データベースと wp-content を含むサイトファイルのバックアップを用意しておくと復旧しやすくなります。

17 まとめ

WordPressの更新後にメンテナンス画面から戻らない場合は、WordPressルートに残っている .maintenance を確認します。更新処理がすでに停止していることを確認できた場合は、FTPやサーバーのファイルマネージャーから削除することで復旧できることがあります。

  • .maintenance はWordPressルートに作成される
  • 通常は更新完了時に自動削除される
  • WordPress標準では10分以上古い .maintenance は無効扱いになる
  • 更新処理が進行中の場合は削除しない
  • 削除後は更新が正常に完了しているか確認する
  • 500エラーや真っ白画面は別の更新失敗・PHPエラーも疑う
  • public_html 直下とは限らず、WordPress本体のルートを確認する
  • FTPで見えない場合は隠しファイル表示を有効にする

.maintenance を削除することは、止まったメンテナンスモードを解除するための対処です。更新そのものを修復する処理ではありません。 削除後もエラーが残る場合は、更新したプラグイン・テーマ・WordPress本体やPHPエラーログまで確認して原因を切り分けましょう。