プラグインを使わずWordPressをメンテナンス中にする方法
WordPressでサイトをメンテナンス中にする場合、WP Maintenance Modeのようなプラグインを使う方法がありますが、言うまでもなく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というファイルを作成し、「メンテナンス中です。」などと書いておけばよいでしょう。
これにより、サイトにアクセスするとメンテナンス画面が表示されます。
ただし、あなたのPCにもメンテナンス画面が表示されるとトラブル復旧などの作業ができませんので、6行目に「このIPアドレス以外は」と指定しています。「192.168.0.4」の代わりに自分のPCのIPアドレスを指定すればよいでしょう。
自分のIPアドレスがわからない場合は以下のサイトで確認してください。
これで、自分以外のPCにはメンテナンス画面が表示され、自分のPCからはサイトにアクセスできる状態になります。
まとめておきます。
- ドメインのルートフォルダにmaintenance.htmlを設置する
- 上記のコードを.htaccessに入力する
- 上記コードのIPアドレスを自分のIPアドレスに変更する
これでメンテナンス中にする作業は完了です。WordPressがダウンしていても大丈夫です。