プラグインを使わないで、ワードプレスをメンテナンスモードにする方法



もうごくありふれた存在のブログは、「インターネットに接続できれば、すぐ編集できます。」という、手軽さが強調されます。


ブログサービスの場合、大抵 「ただ今ブログのデザインを編集していますから、しばらく待ってて」という風な、画面を出すことができません、


「あー、なんかやってんなぁー」ということが露骨に判ってしまい、かっこ悪いです。


自分でインストールするブログの場合は、様々な点で、無料ブログサービスにはないリッチな機能がついています。素人衆のためにはメンテナンスモードにするプラグインなんかが配布されています。



が、ワードプレスは、ネイティブな機能として、メンテナンスモードを作り出すこともできるので、プラグインなどを使わないで、「さっとメンテナンス環境を作って」カッコつけてみましょう。


たまには、「ガツンとカッコつけましょう。素人衆相手に、、、、」




WordPress Maintenance Mode Without a Plugin


ルートに、以下のコードを記述して.maintenanceというファイルを置く

<?php $upgrading = time(); ?>

これで「Briefly unavailable for scheduled maintenance. Check back in a minute.」と表示されるようになり、503 Service Unavailableヘッダを出力するようになります。


例えば、

<?php $upgrading = time() - 600; ?>

とすれば、メンテナンスモードは解除されます。


さて、カスタマイズです。


wp-contentディレクトリに、maintenance.phpを作成します。


自分の好きなように、メンテナンスモード画面をhtmlで記述します。

part2より引用

<?php
$protocol = $_SERVER["SERVER_PROTOCOL"];
if ( 'HTTP/1.1' != $protocol && 'HTTP/1.0' != $protocol )
        $protocol = 'HTTP/1.0';
header( "$protocol 503 Service Unavailable", true, 503 );
header( 'Content-Type: text/html; charset=utf-8' );
?>
<!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" />

</head>
<body>
<h1>Briefly unavailable for scheduled maintenance. Check back in a minute.</h1>

</body>
</html>
<?php die(); ?>

この引用コード、php header出力部分でエラーが出る可能性があります。


これで、カスタマイズされたメンテナンスモード画面の出来上がりです。



wp-contentディレクトリ直下で、カスタマイズ表示をするもの 2.8.2 MU

blog-deleted.php

HTTP/1.1 410 Gone
This user has elected to delete their account and the content is no longer available.

このユーザは、それらのアカウントを削除するのを選びました、そして、内容はもう利用可能ではありません。

blog-inactive.php

This blog has not been activated yet. If you are having problems activating your blog, please contact example@example.com.

blog-suspended.php

HTTP/1.1 410 Gone
his blog has been archived or suspended.

db-error.php

Error establishing a database connection

languages/

日本語ファイル ja.mo ja.po

object-cache.php

オブジェクトキャッシュを使う時