Web制作の技術情報を中心に、WordPress、jQuery、CSSなどの情報など幅広く発信中。Web制作スキルや知識のアウトプットブログです。

Sedori Plan

wordpress プラグイン

WordPressのサイトをメンテナンス中に表示する方法

投稿日:

WordPressのサイトをメンテナンス中に表示する方法
WordPressのバージョンアップ、プラグインのアップデートが定期的にあります。
また、何らかの理由でアップデートが上手くいかないときがありますね。

上手くアップデートされないと画面が真っ白になって何も表示されない!ということもあり、サイトを見に来てくれた方に迷惑をかけてしまいます。
そんなときに「メンテナンス中」が表示してあると親切です。

サイトのリニューアルのときにも、トップページを修正していたら表示されなくなったときにも「メンテナンス中」と表示されると親切です。

メンテナンス中を表示させるために3つの方法があります。

photo credit: Official U.S. Air Force via photopin cc

.htaccessを使う

.htaccessに記述する方法ですが、wordpressに慣れていない人、webをやっていない人には、この方法はオススメできません。
まず、.htaccessってどこにあるの? がわからない人はやらないほうが良いです。

.htaccessの場所

.htaccessの場所

WordPressの本体と同じ階層にあります。

503フォルダを作る

503とは

過負荷などでリクエストが実行できない・メンテナンス中などに表示

今回の場合は、メンテナンス中です。
なので503フォルダをWordpressの本体と同じ階層に作ります。

503フォルダ

503フォルダ内にindex.phpを作ります

503フォルダ内にindex.phpを作って下記のコードを記述します。

<?php
	header ('HTTP/1.0 503 Service Temporarily Unavailable');
	include(dirname(__FILE__) . '/maintenance.html');
?>

index.php

503フォルダ内にmaintenance.htmlを作ります

503フォルダ内にmaintenance.htmlを作ります。

maintenance.html

<!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には

htaccess
書かれています。

この記述のあとに

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^503/ - [L]
RewriteCond %{REMOTE_ADDR} !=XXX.XXX.XXX.XXX
RewriteRule ^.*$ 503/index.php
</IfModule>

を追記してください。

htaccess

こうなります。

これで、サイトを確認します。

メンテナンスモード

しかし、管理人もメンテナンスモードを表示させるとメンテナンスの確認が出来ません。

先ほど記述したコードの中に

RewriteCond %{REMOTE_ADDR} !=XXX.XXX.XXX.XXX

があります。この中のXXX.XXX.XXX.XXXに自分のIPアドレスを記述します。

IPアドレスの調べ方

URLhttp://www.cman.jp/network/support/go_access.cgi

このサイトにアクセスするとIPアドレスがわかります。

IPアドレス

赤枠内に書かれているIPアドレスを先ほどのXXX.XXX.XXX.XXXに差し替えてアップロードすると自分だけはメンテナンスモードではなく普通にサイトが閲覧できます。これでメンテナンスの確認が出来ます。

メンテナンスが終ったら、htaccessに追記したコードを削除・コメントアウトすれば誰でもサイトが見れます。

function.phpに書き込む

このやり方は簡単です。
function.phpの下記のコードを記述すれば、画面がメンテナンス中と表示されます。

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を使ったメンテナンスモードを表示する方法です。

Maintenance Mode

URLhttp://wordpress.org/plugins/wp-maintenance-mode/

公式サイトからダウンロードするやり方、管理画面からプラグイン検索で探すやり方どちらでも構いません。

インストールして有効化したら設定をしていきます。

Maintenance Mode

このプラグインは、終了時間の表示が出来ます。
(メンテナンスモード解除は自動では出来ません)
メンテナンス中のタイトル、文言も管理画面から設定が出来ます。

タイトルの変更

Maintenance Mode → メンテナンス中

本文の変更

<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>

↓変更する

<h1>メンテナンス中です</h1>

<p><a title="[blogtitle]" href="[blogurl]">[blogtitle]</a> は現在メンテナンス中です。<br />
恐れ入りますが [date] 以降にご再訪ください。</p>

<p>ご不便をおかけし申し訳ありません。</p>

変更したら、設定画面の一番下に「変更の保存」があるので設定を保存してください。

メンテナンスモードの変更

メンテナンスモード

こちらも忘れないでください。
自動で停止されないので手動でメンテナンスモードを解除してください。

スポンサーリンク
  • この記事を書いた人
  • 最新記事
しん

しん

Webサイトの構築、プログラムを制作しています。中小企業、個人のホームページの制作、更新作業も承ります。 仕事以外はバスケをしたり、ジムで筋トレしております。 映画/海外ドラマ/プログラミング/バスケ/トレーニング/カナダ/カメラ・写真

-wordpress, プラグイン

Copyright© Sedori Plan , 2019 All Rights Reserved.