プラグインを使わずWordPressをメンテナンス中にする方法

WordPress個別サポート

WordPressでサイトをメンテナンス中にする場合、WP Maintenance Modeのようなプラグインを使う方法がありますが、言うまでもなくWordPressが動作している必要があります。

WordPressが動作していればメンテナンス中にできるが…
WordPressが動作していればメンテナンス中にできるが…

WordPressにエラーが発生している場合やゼロからインストールをやり直している場合など、メンテナンスプラグインは動作しないので、プラグインによるメンテナンス画面を見せることができません。

そんなときは.htaccessを使ってメンテナンス画面を表示する方法があります。その際、「私だけはメンテナンス画面を見なくて良い」のような設定ができれば理想的です。

自分だけはサイトを見ている状態ですが、自分以外のユーザーにはメンテナンス画面を見せるという仕組みです。トラブル発生中のサイトを見られずに済みます。

プラグインなしでWordPressをメンテナンス中にする

次のようなコードを.htaccessの先頭に書けば、メンテナンス画面を表示することができます。もちろん、プラグインを使わないのでWordPressがエラーで停止していても大丈夫です。

ErrorDocument 503 /maintenance.html

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{REQUEST_URI} !=/maintenance.html
  RewriteCond %{REMOTE_ADDR} !=192.168.0.4
  RewriteRule ^.*$ - [R=503,L]
</IfModule>

以下のサイトから引用させていただきました。ありがとうございます。

【引用】Webサイトのメンテナンス中画面を出す正しい作法と.htaccessの書き方

7行目によってユーザーは503エラーになります。503エラーとはメンテナンス中やサーバーへの負荷の増大によってサイトが一時的に閲覧できないことを示すエラーです。

1行目
によって503エラーの場合はmaintenance.htmlが表示されます。maintenance.htmlの内容は自由で構いません。FTPソフトまたはレンタルサーバーのFTPツールを使ってサーバーのルートフォルダにmaintenance.htmlというファイルを作成し、「メンテナンス中です。」などと書いておけばよいでしょう。

これにより、サイトにアクセスするとメンテナンス画面が表示されます。

WordPressがダウンしていてもメンテナンス画面が表示される
WordPressがダウンしていてもメンテナンス画面が表示される

ただし、あなたのPCにもメンテナンス画面が表示されるとトラブル復旧などの作業ができませんので、6行目「このIPアドレス以外は」と指定しています。「192.168.0.4」の代わりに自分のPCのIPアドレスを指定すればよいでしょう。

自分のIPアドレスがわからない場合は以下のサイトで確認してください。

【参考】アクセス情報【使用中のIPアドレス確認】

これで、自分以外のPCにはメンテナンス画面が表示され、自分のPCからはサイトにアクセスできる状態になります。

まとめておきます。

  • ドメインのルートフォルダにmaintenance.htmlを設置する
  • 上記のコードを.htaccessに入力する
  • 上記コードのIPアドレスを自分のIPアドレスに変更する

これでメンテナンス中にする作業は完了です。WordPressがダウンしていても大丈夫です。

WordPressトラブル