ブログを運営していると定期的にサイトを非公開にしてメンテンスをしたいときってありますよね。
皆さんは、どのような方法で非公開にしますか?
Basic認証で実現する方も多いのではないでしょうか。
今回はBasic認証以外で実現する方法をご紹介していきたいと思います。
では、今回の講義を始めます。
プラグインを利用する方法
よく使われている「LightStart(元WP Maintenance Mode)」
メンテンスモードにすることができるプラグインはたくさんあります。
昔から一番人気があり、誰もが一度は使ったことがあるプラグインが「WP Maintenance Mode」です。
現在の名前は「LightStart」です。
有効にするだけで利用することができ、WordPressに不慣れな人も簡単に使うことができたので、わたしも色々な人におすすめすることができました。
しかし、それもアップデートをし名称を変えることで変わってしまいました。
少し使ったら、「WP Maintenance Mode」のときと違って非常に使い勝手が悪くなり、トップページの挙動も変わって使いづらくなりました。
というのも、わたしはテーマにCocoonを利用しているのですが、LightStartでメンテンスモードを利用すると、メンテンスモードを解除後にアピールエリアや一部ウィジェットが非表示になるという挙動をしたので利用を停止しました。
そこで私はプラグインを利用する方法以外の方法を調べていたら、とてもおすすめの方法がありました。
それでもどうしてもプラグインが利用したいと思っている方に向けて、おすすめのプラグインをご紹介します。
現在のおすすめNO.1の「Maintenance」
とてもシンプルで変な挙動もないおすすめのプラグインが「Maintenance」です。
ありがたいことに設定画面も一部の英語を除くと、ほぼ殆どが日本語となっています。
英語アレルギーのある人も気にすることはなく設定をすることができます。
プラグインでメンテンスモードを実現したいと思っている人は、是非利用することを検討してみてください。
プラグインを利用しない方法
では、次はプラグインを使わずにメンテンスモードを実現する方法です。
今回のブログの本題となります。
プラグインを使わずにメンテンスモードを実現する方法としては、Basic認証が一番最初に思い付くのではないでしょうか。
しかし、今回はBasic認証とも違います。
結論からいうと、functions.phpを編集する方法となります。
では、なぜ今回この方法を紹介するに至ったのかというと、先程の繰り返しとなるのですが「LightStart」を導入し使うとテーマに不具合が起きたからです。
非常に簡単に設定ができるので、ご紹介していきます。
functions.phpの編集方法
以下のプログラムをコピペするだけです。
function maintenance_mode() {
if (!current_user_can('edit_themes') || !is_user_logged_in()) {
wp_die('当サイトはメンテナンス中です。');
}
}
add_action('get_header', 'maintenance_mode');
プラグインを入れると重くなる!等の心配がある人にもおすすめの方法です。
Basic認証なんてハードルが高いという人もおすすめです。
誰でも簡単にコピペするだけで実現するので、本当に手軽な方法なので試してみてください。
「functions.php」は非常に重要なファイルです。
少しでも間違った記載をするとWebサイトそのものが表示されなくなるので注意をしてください。
まとめ
かれこれ10年近くWordPressを利用していますが、今回はじめて知った方法でした。
これで私は3つの方法でメンテンスモードにすることができるようになりました。
- プラグインを使う方法
- Basic認証を使う方法
- function.phpを編集する方法
この方法を知ることができたのもアドセンス広告に制限をかけられたからです。
この制限の間に、非公開にしてブログ全体の見直しをしようと考えました。
数日間、非公開にすることができなく苦労しましたけど・・・苦笑
とりあえずはきっかけはアドセンス広告の制限だったので、最初はゾッとしましたが、今では感謝しています。
今回の講義はこれで終わります。
では、またお会いしましょう!