WordPressのメンテナンスモード:プラグインあり・なしの設定と解除、作業中に自分だけ見る方法

WordPressのサイトを自分でメンテナンス表示(メンテナンスモード)にするいちばん手軽な方法は、メンテナンス用のプラグインを入れて有効にすることです。ログインしている自分には普段どおりのサイトが見え、訪問者にだけ「メンテナンス中」の画面が出ます。プラグインを増やしたくない場合は、子テーマの functions.php などに短いコードを足す方法もあります。どちらの方法でも、検索への影響を小さくするには、メンテナンスの画面を「503」(一時的に使えない、という意味の応答の番号)で返し、再開の目安を「Retry-After」で伝えます。解除は、プラグインの設定でメンテナンスを切るか、プラグインを無効化するか、足したコードを消せば済みます。

この記事は、メンテナンス表示を自分で出す側の話です。更新の途中で「Briefly unavailable for scheduled maintenance」という英語の表示が出て消えない、という場合は「Briefly unavailable for scheduled maintenance」の意味と直し方をご覧ください。手順と仕様は、WordPress.org の開発者向けの説明と WordPress 本体のプログラム、各プラグインの WordPress.org の公式ページ、Google 検索セントラルの説明で、2026年11月13日に確かめた範囲で書きます。

この記事の結論

  • 数時間〜1日の作業なら、メンテナンス用のプラグインで出すのが手軽で、自分は普段どおりサイトを見ながら作業できます。
  • メンテナンスの画面は503で返し、Retry-After で再開の目安を伝えます。Google は、503でサイト全体を止めるのは長くても2〜3日までの最終手段としています。
  • WordPress本体のメンテナンスの仕組み(.maintenance というファイル、WP-CLI のコマンド)は、10分ほどで自然に切れ、管理者も含めて全員が締め出されます。更新のための短い仕組みで、作り直しの作業には向きません。
  • 解除したあとは、ログインしていない画面(シークレットウィンドウ)で表示を確かめ、問い合わせフォームから一通送って届くかを見ます。

その前に:サイトを止めずに済まないか

メンテナンス表示を出しているあいだは、お問い合わせフォームも電話番号も訪問者からは見えません。Google 検索セントラルの「ウェブサイトを一時停止または無効化する」でも、サイト全体を止めるより、使えない機能だけを止める方法を先に勧めています。ページの作り直しなら新しいページを下書きで作ってから差し替える、サーバーの引っ越しなら新しいサーバーで確かめてから切り替える(WordPressの引っ越し)というように、止めずに済む段取りがないかを先に考えます。そのうえで、テーマの入れ替えや大きな更新など、作業中の崩れた画面を見せたくないときに、メンテナンスモードを使います。

方法の選び方:プラグイン、コード、本体の仕組み

方法作業中、自分はサイトを見られるか503で返せるか向いている場面
メンテナンス用のプラグイン見られる(ログイン中、または管理者)設定で選べるものがある管理画面だけで済ませたい。数時間〜1日の作業
コードを足す見られる(条件をコードに書く)返せるプラグインを増やしたくない。ファイルを触れる人がいる
本体の仕組み(.maintenance、WP-CLI)見られない(管理画面にも入れない)返す(再開の目安は600秒で固定)10分以内に終わる短い作業だけ

プラグインでメンテナンスモードにする

入れ方はどのプラグインも同じです。管理画面の「プラグイン」→「新規プラグインを追加」(版によっては「新規追加」)で名前を検索し、作者名を確かめてから「今すぐインストール」、続けて「有効化」を押します。ここでは WordPress.org で公開されている二つを例に挙げます。どちらも2026年11月時点で更新が続いていて、WordPress 7.1 系まで動作を確かめたと書かれています。当社が使っているという意味ではありません。

Maintenance(作者:WebFactory)

有効なインストール数が100万以上のプラグインです。公式ページの説明では、有効にすると、WordPress にログインしている人には普段どおりのサイトが見え、それ以外の訪問者にはメンテナンスの画面が出ます。設定の画面は、管理画面の左のメニューに追加されます。画面の見出し・文章・背景などを決め、検索エンジン向けに「503 Service temporarily unavailable」の設定を有効にします。公式のよくある質問では、検索エンジンからサイトが見えなくなるのは、この503の設定を有効にしたときだけ、と書かれています。特定のページだけをメンテナンスから外す設定もあります。

LightStart(作者:Themeisle)

WordPress.org での正式な名前は「LightStart – Maintenance Mode, Coming Soon and Landing Page Builder」で、有効なインストール数は40万以上です。公式ページの説明では、設定は「設定」のメニューの中にあり、管理者の権限を持つユーザーは表側も含めてサイト全体を見られます。メンテナンスの画面のほか、まだ公開していないサイト向けの「近日公開」の画面も作れます。指定したURLをメンテナンスから外す設定もあり、WordPress の予約の処理(wp-cron.php)ははじめから外されています。

どちらも管理画面は英語のままの部分があり、項目の名前は版によって変わることがあります。設定を終えたら、後で書く方法で、訪問者からの見え方と503になっているかを必ず確かめます。すでに検索から人が来ているサイトを止めるときは、「近日公開」ではなく「メンテナンス」の画面を選びます。

プラグインを使わずにメンテナンスモードにする

コードを足す:管理者には普段どおり、訪問者には503

子テーマの functions.php(テーマに機能を足すためのファイル)に、次のようなコードを足すと、管理者としてログインしている人以外に、503でメンテナンスの画面を返せます。これは当社が WordPress の開発者向けの説明(template_redirect、wp_die、current_user_can)をもとに書いた例です。文言、再開の目安の秒数(例は3600秒=1時間)、電話番号は自社のものに置き換えます。

add_action( 'template_redirect', function () {
	// 管理者と robots.txt は通常どおり
	if ( current_user_can( 'manage_options' ) || is_robots() ) {
		return;
	}
	header( 'Retry-After: 3600' );
	wp_die(
		'ただいまメンテナンス中です。15時ごろに再開します。お急ぎの方はお電話(000-000-0000)でご連絡ください。',
		'メンテナンス中',
		array( 'response' => 503 )
	);
} );

template_redirect は表側のページを表示する直前に動く仕組みなので、ログイン画面と管理画面はこれまでどおり開けます。robots.txt を外しているのは、WordPress が自動で作る robots.txt もこの仕組みを通るためです。Google は、robots.txt を503で返すとサイト全体を読みに来なくなるので、そうしないよう書いています。

このファイルは、一文字の書き間違いでサイト全体が真っ白になることがあります。足す前にバックアップを取り(WordPressのバックアップ方法)、管理画面のテーマファイルエディターではなく、FTPやサーバーのファイル管理の機能で編集すると、失敗したときにすぐ元に戻せます。親テーマの functions.php に足すと、テーマの更新で消えます。止まってしまったときの直し方は「このサイトで重大なエラーが発生しました」と出たときにあります。

本体の仕組み(.maintenance と WP-CLI)は10分で切れる

WordPress本体には、更新のあいだだけ出すメンテナンスの仕組みがあります。WordPress のいちばん上のフォルダに .maintenance というファイルがあるあいだ、全員に「Briefly unavailable for scheduled maintenance」の画面を503で返し、Retry-After で600秒後を伝えます。サーバーにコマンドで入れる場合は、WP-CLI の「wp maintenance-mode activate」でも同じ状態にできます。

ただし、開発者向けの説明(wp_is_maintenance_mode)にあるとおり、ファイルに書かれた時刻から10分たつと、ファイルが残っていてもメンテナンスは終わったものとして扱われます。WP-CLI のコマンドも同じファイルを作るので、同じく10分ほどで切れます。また、この仕組みは管理画面にも効くので、自分も管理画面に入れません。プラグインの更新のような10分以内の作業向けで、時間のかかる作業には、プラグインかコードの方法を使います。

検索への影響を小さくする:503 と Retry-After

メンテナンスの画面を、ふつうのページと同じ「200」(正常に表示できた)で返すと、検索エンジンはメンテナンスの画面をそのページの中身として受け取るおそれがあります。Google 検索セントラルの説明をまとめると、次のとおりです。

  • サイト全体を短く止めるときは、メンテナンスの画面を503で返します。Retry-After で、再開する日時か期間の目安を伝えます。
  • 503で止めるのは、長くても2〜3日までの最終手段です。それより長く止めると、検索での扱いに大きく響くおそれがあります。
  • 503を返しているあいだ、Google はそのサイトの題や説明などを更新できません。
  • robots.txt は503で返さず、読める状態にしておきます。
  • 止めるために404・410・403を返したり、noindex を付けたりしません。Search Console の一時的な削除のツールも使いません。どれも、検索結果からページが外れる原因になります。

2〜3日を超えそうなら、503で続けるより、止める範囲を絞れないかを考え直します。Google は、長く止める場合は、ページを200のまま残し、使えない機能だけを止めたり、トップページに状況の案内を出したりする形を挙げています。

作業中だけ自分は見られるようにする、と確かめ方

メンテナンス用のプラグインと、上のコードの例は、どちらも「ログインしている人」または「管理者」には普段のサイトを見せます。作業の前に、管理画面に入れることを確かめてからメンテナンスを始めます。ログイン画面の場所はWordPressのログイン方法にまとめています。

そのぶん、自分の画面だけを見ていると、訪問者にどう見えているかが分かりません。メンテナンスを始めたら、次の順で確かめます。

  1. Chrome などで新しいシークレットウィンドウ(ログインの記録を使わない窓)を開き、サイトのトップページと記事を一つ開いて、メンテナンスの画面が出るかを見ます。スマートフォンのモバイル回線で開いても同じことが確かめられます。
  2. シークレットウィンドウのまま F12 キーで開発者ツールを開き、「ネットワーク」のタブを選んでから、ページを読み込み直します。
  3. 一覧のいちばん上の行の状態の数字が 503 になっているか、その行を押して、レスポンス ヘッダーに「retry-after」があるかを見ます。200 なら、プラグインの503の設定が入っていません。
  4. 「サイトのアドレス/robots.txt」を開き、中身が表示されるか(メンテナンスの画面になっていないか)を見ます。

ページを保存して配るキャッシュの仕組み(キャッシュ用のプラグインや、サーバーのキャッシュの機能)を使っていると、メンテナンスを始めても訪問者に普段のページが出続けたり、解除したあともメンテナンスの画面が残ったりすることがあります。始めたときと解除したときに、キャッシュを消してから確かめます。消し方はWordPressで変更が反映されないときにまとめています。

メンテナンスモードの解除のしかた

出した方法解除のしかた
メンテナンス用のプラグインプラグインの設定でメンテナンスを切る。または「プラグイン」の一覧でそのプラグインを無効化する
コードを足した足したコードを消して保存する
本体の仕組み(.maintenance)WP-CLI の「wp maintenance-mode deactivate」を使うか、.maintenance のファイルを消す

解除したら、シークレットウィンドウでトップページと記事が普段どおり開くか、開発者ツールで状態の数字が 200 に戻ったかを確かめ、キャッシュを消します。最後に、お問い合わせフォームから一通送って、通知が届くかを確かめます。止めていたあいだに問い合わせようとした人がいるかもしれないので、メールの受信箱もあわせて見ておきます。

メンテナンスのプラグインの不具合などで管理画面に入れなくなったときは、FTPやサーバーのファイル管理の機能で、wp-content/plugins の中のそのプラグインのフォルダの名前を変えると止められます。手順はWordPressにログインできないときに書いています。.maintenance が残って更新中の英語の表示が消えない場合は、こちらの記事の手順で消します。

始める前に決めておくこと

  1. 止める時間:問い合わせとアクセスの少ない時間帯を選び、終わりの時刻を決めます。Retry-After と画面の文言は、その時刻に合わせます。
  2. 画面の文言:メンテナンス中であること、再開の目安、急ぎの連絡先(電話番号やメールアドレス)を書きます。
  3. 戻し方:作業の前にバックアップを取り、作業が終わらなかったときに、どこまで戻して再開するかを決めておきます。
  4. 解除の担当:誰が解除して、誰が表示とフォームを確かめるかを決めます。解除し忘れは、ログインしている本人には見えません。

参考にした公式の説明

いずれも2026年11月13日に内容を確かめました。.maintenance の10分の扱いと、robots.txt が template_redirect を通ることは、WordPress 本体の公開されているプログラムでも確かめています。プラグインの画面の名前や設定の項目は、版によって変わることがあります。