WordPressのバージョンアップ、プラグインのアップデートが定期的にあります。
また、何らかの理由でアップデートが上手くいかないときがありますね。
上手くアップデートされないと画面が真っ白になって何も表示されない!ということもあり、サイトを見に来てくれた方に迷惑をかけてしまいます。
そんなときに「メンテナンス中」が表示してあると親切です。
サイトのリニューアルのときにも、トップページを修正していたら表示されなくなったときにも「メンテナンス中」と表示されると親切です。
メンテナンス中を表示させるために3つの方法があります。
photo credit: Official U.S. Air Force via photopin cc
ページコンテンツ
.htaccessを使う
.htaccessに記述する方法ですが、wordpressに慣れていない人、webをやっていない人には、この方法はオススメできません。
まず、.htaccessってどこにあるの? がわからない人はやらないほうが良いです。
.htaccessの場所
WordPressの本体と同じ階層にあります。
503フォルダを作る
503とは
過負荷などでリクエストが実行できない・メンテナンス中などに表示
今回の場合は、メンテナンス中です。
なので503フォルダをWordpressの本体と同じ階層に作ります。
503フォルダ内にindex.phpを作ります
503フォルダ内にindex.phpを作って下記のコードを記述します。
1 2 3 4 |
<?php header ('HTTP/1.0 503 Service Temporarily Unavailable'); include(dirname(__FILE__) . '/maintenance.html'); ?> |
503フォルダ内にmaintenance.htmlを作ります
503フォルダ内にmaintenance.htmlを作ります。
1 2 3 4 5 6 7 8 9 10 11 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>メンテナンス中</title> </head> <body> <h1>只今、メンテナンス中<br />ご迷惑をおかけいたします。</h1> </body> </html> |
簡単に作りました。
.htaccessに記述
まず、記述する前に必ず.htaccessのコピーをしてください。
デフォルトのhtaccessには
書かれています。
この記述のあとに
1 2 3 4 5 6 |
<IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^503/ - [L] RewriteCond %{REMOTE_ADDR} !=XXX.XXX.XXX.XXX RewriteRule ^.*$ 503/index.php </IfModule> |
を追記してください。
こうなります。
これで、サイトを確認します。
しかし、管理人もメンテナンスモードを表示させるとメンテナンスの確認が出来ません。
先ほど記述したコードの中に
1 |
RewriteCond %{REMOTE_ADDR} !=XXX.XXX.XXX.XXX |
があります。この中のXXX.XXX.XXX.XXXに自分のIPアドレスを記述します。
IPアドレスの調べ方
URLhttp://www.cman.jp/network/support/go_access.cgi
このサイトにアクセスするとIPアドレスがわかります。
赤枠内に書かれているIPアドレスを先ほどのXXX.XXX.XXX.XXXに差し替えてアップロードすると自分だけはメンテナンスモードではなく普通にサイトが閲覧できます。これでメンテナンスの確認が出来ます。
メンテナンスが終ったら、htaccessに追記したコードを削除・コメントアウトすれば誰でもサイトが見れます。
function.phpに書き込む
このやり方は簡単です。
function.phpの下記のコードを記述すれば、画面がメンテナンス中と表示されます。
1 2 3 4 5 6 |
function wpr_maintenance_mode() { if ( !current_user_can( 'edit_themes' ) || !is_user_logged_in() ) { wp_die('<h1>ただいまメンテナンス中です。</h1><p>ご迷惑をお掛けしています。</p>'); } } add_action('get_header', 'wpr_maintenance_mode'); |
デフォルトのfunction.phpに追記したくない人は「function.phpに記述しているこのブログのStinger3カスタマイズ」こちらもどうぞ。
プラグインを使う(Maintenance Mode)
プラグインのMaintenance Modeを使ったメンテナンスモードを表示する方法です。
URLhttp://wordpress.org/plugins/wp-maintenance-mode/
公式サイトからダウンロードするやり方、管理画面からプラグイン検索で探すやり方どちらでも構いません。
インストールして有効化したら設定をしていきます。
このプラグインは、終了時間の表示が出来ます。
(メンテナンスモード解除は自動では出来ません)
メンテナンス中のタイトル、文言も管理画面から設定が出来ます。
タイトルの変更
Maintenance Mode → メンテナンス中
本文の変更
1 2 3 4 5 6 7 |
<h1>Maintenance Mode</h1> <p><a title="[blogtitle]" href="[blogurl]">[blogtitle]</a> is currently undergoing scheduled maintenance.<br /> <br /> Please try back [until].</p> <p>Sorry for the inconvenience.</p> |
↓変更する
1 2 3 4 5 6 |
<h1>メンテナンス中です</h1> <p><a title="[blogtitle]" href="[blogurl]">[blogtitle]</a> は現在メンテナンス中です。<br /> 恐れ入りますが [date] 以降にご再訪ください。</p> <p>ご不便をおかけし申し訳ありません。</p> |
変更したら、設定画面の一番下に「変更の保存」があるので設定を保存してください。
メンテナンスモードの変更
こちらも忘れないでください。
自動で停止されないので手動でメンテナンスモードを解除してください。