2026年7月18日
2026年7月18日
WordPressのメンテナンスモードが解除できない原因と対処法
WordPressの更新後に「メンテナンス中」の画面から戻らない場合、多くはWordPressのインストール先に残った .maintenance というファイルを削除すれば解除できます。ただし削除しても直らないときは、メンテナンス系プラグインやキャッシュ、更新の失敗など別の原因が考えられます。この記事では、どの原因に当たるのかを見分ける手順と、それぞれの直し方、再発を防ぐ更新のやり方までを解説します。
メンテナンスモードの仕組み
WordPressはコア・プラグイン・テーマを更新するとき、インストール先のディレクトリ(通常は wp-config.php や wp-settings.php と同じ階層)に .maintenance というファイルを一時的に作ります。このファイルがある間、管理画面以外へのアクセスには「メンテナンス中のためしばらく利用できない」という趣旨のメッセージが返り、HTTPステータスは503になります。更新が正常に終わればWordPress自身がファイルを削除し、表示は元に戻ります。
ファイルの中身は次のような1行で、更新を始めた時刻(UNIXタイムスタンプ)が書かれています。
<?php $upgrading = 1792202400; ?>
WordPressはこの時刻から10分以上たった .maintenance を「終わったメンテナンス」とみなし、無視する作りになっています。つまり「更新から10分以上たってもまだメンテナンス画面が出る」場合は、単にファイルが残っているだけではない可能性があります。ここが原因を見分ける最初の手がかりです。
まず確認すること
作業を始める前に、次の3点を見ておくと遠回りを避けられます。
- いつから出ているか:更新ボタンを押した直後なら、数分待つだけで戻ることがあります。更新中にブラウザを閉じたり通信が切れたりした場合は、ファイルが残りやすくなります。
- 管理画面に入れるか:
/wp-admin/にアクセスしてログインできるなら、プラグインの状態や更新の結果を画面で確認できます。 - 表示されている画面はどれか:WordPress標準のメッセージなのか、ロゴや背景画像のある「Coming Soon」風のページなのかで、疑う場所が変わります。デザインされた画面なら、メンテナンス系プラグインかテーマの機能が有効になっている可能性が高いです。
あわせて、ブラウザのシークレットウィンドウやスマートフォンの回線から表示を確かめてください。自分のブラウザだけで出ているならブラウザ側のキャッシュ、どこから見ても出るならサーバー側の状態と切り分けられます。
対処1:.maintenanceファイルを削除する
最も多い原因への対処です。FTPソフト、またはレンタルサーバーのファイルマネージャーでWordPressのインストール先を開き、.maintenance を削除します。
ここでつまずきやすいのが、ファイル名がドット(.)で始まる「隠しファイル」である点です。FTPソフトやファイルマネージャーの初期設定では一覧に表示されないことが多いため、見当たらない場合は「隠しファイルを表示する」設定を有効にしてから探してください。WordPressをサブディレクトリにインストールしている場合は、ドメイン直下ではなく wp-config.php があるディレクトリを確認します。
SSHが使える環境ならWP-CLIでも確認と解除ができます。
# 現在の状態を確認
wp maintenance-mode status
# メンテナンスモードを解除(.maintenance を削除)
wp maintenance-mode deactivate
wp maintenance-mode は比較的新しいWP-CLIで追加されたコマンドです。古いWP-CLIでは使えないため、その場合は wp cli version でバージョンを確認するか、ファイルを直接削除してください。
削除後にサイトを再読み込みし、表示が戻れば解決です。続けて「対処3」の手順で、途中で止まった更新がないかを確認します。
対処2:ファイルがないのに直らない場合
.maintenance が見当たらない、または削除しても画面が変わらない場合は、次の順に疑います。
メンテナンス系プラグインやテーマの機能
「メンテナンスモード」「Coming Soon」などの機能を持つプラグインが有効になっていると、管理者以外の訪問者にメンテナンス画面を表示します。管理画面に入れるなら「プラグイン」の一覧で該当するものを探し、設定画面でモードをオフにするか、不要なら無効化します。テーマやページビルダーにも同様の機能がある場合があるので、テーマのカスタマイズ画面も確認してください。ログイン中の管理者には通常どおり表示されるため、「自分には普通に見えるのに訪問者には見えない」という状況になりやすい点に注意が必要です。
管理画面に入れない場合は、FTPで wp-content/plugins/ 内の該当プラグインのフォルダ名を一時的に変更すると、そのプラグインは無効化されます。
maintenance.php ドロップイン
wp-content/maintenance.php というファイルがある場合、WordPressはメンテナンス画面としてそのファイルの内容を表示します。過去に独自のメンテナンス画面を作った名残であることが多く、.maintenance を消した後は表示されなくなるのが通常です。それでも見えている場合は、別の仕組みやキャッシュが表示を出している可能性があります。
キャッシュに残ったメンテナンス画面
ページキャッシュ系プラグイン、サーバーのキャッシュ機能、CDNのいずれかがメンテナンス画面を保存してしまうと、元に戻った後も古い画面が配信されます。キャッシュプラグインの管理画面からキャッシュを削除し、CDNを使っているならその管理画面でもキャッシュを消去してください。
レスポンスの状態は、ブラウザの開発者ツールの「ネットワーク」タブで確認できます。ページを再読み込みし、HTMLの行を選んでステータスコードを見ます。503が返っているならWordPressかプラグインがメンテナンス状態を返しており、200なのにメンテナンス画面が出ているならキャッシュされたHTMLの可能性が高いと判断できます。
対処3:途中で止まった更新を確認する
.maintenance が残ったということは、更新処理が最後まで終わらなかった可能性があります。表示が戻った後に次の点を確認してください。
- 管理画面の「ダッシュボード」→「更新」を開き、更新が残っていないかを見ます。途中で止まったプラグインやテーマがあれば、1つずつ更新し直します。
- 「プラグイン」一覧で、更新したはずのプラグインが消えていたり、無効化されていたりしないかを確認します。
wp-content/upgrade/に作業用のフォルダが残っている場合、更新の失敗が疑われます。中身を確認したうえで、次の更新が正常に終わればこのフォルダは削除して問題ありません。
更新を再実行したときに「別の更新が進行中です」と表示される場合は、更新のロックが残っています。ロックは一定時間(コアの更新では15分程度)たつと自動的に解除されるため、少し時間をおいてから再度試すのが安全です。
更新後にサイトが真っ白になる、「重大なエラー」が表示されるといった症状が出た場合は、更新途中のプラグインが壊れている可能性があります。原因を調べるには、wp-config.php でデバッグログを有効にします。
// wp-config.php の「編集が必要なのはここまでです」より上に追記
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
この設定ではエラーが画面には出ず、wp-content/debug.log に記録されます。ログにプラグインのファイルパスが出ていれば、そのプラグインのフォルダ名を変更して無効化し、公式ディレクトリなどから入手した最新版を入れ直します。調査が終わったら WP_DEBUG は false に戻してください。ログファイルを残したままにすると、サーバーの情報が外部から読まれるおそれがあります。
再発を防ぐ更新の進め方
メンテナンスモードの残留は、更新が途中で止まることで起きます。次の点を意識すると発生しにくくなります。
- 更新前にバックアップを取る:ファイルとデータベースの両方を保存しておけば、更新に失敗しても元に戻せます。
- 一度に大量に更新しない:プラグインをまとめて更新すると処理時間が長くなり、タイムアウトしやすくなります。数件ずつ、重要なものは1件ずつ進めると、問題が出たときに原因も特定しやすくなります。
- 更新中は画面を閉じない:完了のメッセージが表示されるまで待ちます。
- 大きな更新はステージング環境で試す:メジャーバージョンの更新や、多数のプラグインを使っているサイトでは、本番と同じ構成の検証環境で先に試すと安心です。
PHPのメモリ不足や実行時間の上限で更新が止まる場合もあります。何度も同じところで止まるようなら、サーバーのエラーログやサイトヘルス(「ツール」→「サイトヘルス」)の情報を確認し、サーバー側の上限値を見直してください。本記事の内容は、WordPressとWP-CLIの安定版の挙動にもとづいています(2026年10月現在)。
まとめ
- メンテナンスモードは、更新中にWordPressが作る
.maintenanceファイルによって表示されます。残った場合は、隠しファイルを表示できる状態でインストール先から削除します。 - WP-CLIが使えるなら
wp maintenance-mode deactivateでも解除できます。 - ファイルがないのに直らないときは、メンテナンス系プラグイン、
maintenance.php、キャッシュの順に疑います。開発者ツールでステータスコードを見ると切り分けやすくなります。 - 解除できた後は、途中で止まった更新がないかを「ダッシュボード」→「更新」とプラグイン一覧で確認します。
- 再発防止には、バックアップを取ったうえで数件ずつ更新するのが効果的です。