プラグインを使わずWordPressサイトでメンテナンス表示する方法

WordPressの豆知識

こんにちは、チーフクリエイターのSHOJIです。

WordPressサイトにてメンテナンス中のページを表示したい場合に、「WP Maintenance Mode」や「Simple Maintenance」等のプラグインを使えば、簡単にメンテナンスモードに切り替えることはできますが、当然ながらWordPressが正常に動作している必要があります。

WordPressに問題が起こっている場合はプラグインが機能しないため、メンテナンス中のページを表示することができません。

そこで今回の豆知識では『プラグインを使わずWordPressサイトでメンテナンス表示する方法』と題して、.htaccessファイルを利用した方法について解説していきたいと思います。

理想の設定

WordPressのバージョンアップやプラグインのアップデート時におけるメンテナンス表示は必要なのですが、管理者自身によるサイトの更新や修正時では「自分だけサイトが表示され、他の人にはメンテナンス表示されている」設定が理想となります。

そこで「.htaccess」を利用して、
・許可されたIPアドレスからのアクセスではサイトを表示
許可されていないIPアドレスからのアクセスではメンテナンス表示
といった設定をしていきます。

プラグインを使わずWordPressサイトでメンテナンス表示する方法  

.htaccessファイルの編集

まずは、サイトへのアクセスを制御するために必要な.htaccessファイルの準備をしていきます。

①wp-config.phpファイルと同じ階層の.htaccessファイルをダウンロード

プラグインを使わずWordPressサイトでメンテナンス表示する方法

②.htaccessファイルにコードを追記

プラグインを使わずWordPressサイトでメンテナンス表示する方法

上記のコードでは、サイトがメンテナンス中だと検索エンジンが認識できるようステータスコードを503で返すことで、SEO的にもベストプラクティスとなっています。

コード内の「XXX.XXX.XXX.XXX」部分がアクセス可能なIPアドレスとなりますので、適宜変更してください。

また、編集前には必ず.htaccessファイルのバックアップをとっておきましょう!
 

503フォルダの作成

続いて、メンテナンス表示に必要な各ファイルを格納するためのフォルダを準備していきます。

①wp-config.phpファイルと同じ階層に503フォルダを作成

プラグインを使わずWordPressサイトでメンテナンス表示する方法

②下記コードを記載したindex.phpファイルを作成

プラグインを使わずWordPressサイトでメンテナンス表示する方法

③メンテナンス案内をするmaintenance.htmlファイルを作成

④index.phpファイルとmaintenance.htmlファイルを503フォルダにアップロード

プラグインを使わずWordPressサイトでメンテナンス表示する方法  

.htaccessファイルのアップロード

実際にメンテナンス表示する際は、はじめに準備した.htaccessファイルをアップロードします。

プラグインを使わずWordPressサイトでメンテナンス表示する方法

これで、.htaccessファイルで設定されたIPアドレスからのアクセスではサイトが表示されますが、他のIPアドレスからはmaintenance.htmlが表示されるようになりました。

ただし、maintenance.htmlが表示されていてもアドレスバーにはサイトURLが表示されています。

また、.htaccessファイルに追記したコードの部分をコメントアウトすることでメンテナンス表示を解除することができ、再度コメントアウトを外すことでメンテナンス表示を再開できます。
 

あとがき

いかがだったでしょうか?そんなに難しい作業もなくメンテナンス表示ができたことと思います。

ちなみに、想定通りメンテナンス表示がされているか確認したい場合は、
・.htaccessファイル記載のIPアドレスを変更
・モバイル通信によるスマホでアクセス
など、自身に合った方法で確認してみると良いかと思います。

逆に、自身のIPアドレスからでは通常表示されているため、メンテナンス表示を解除し忘れたままにしてしまう嘘のようなトラブルも発生しがちですので注意が必要です。
 

Webの豆知識」の関連記事

インフォコネクトに
相談してみませんか?

経営コンサルティングやITサービス活用支援、ホームページ制作などに関するご依頼や、ご質問・ご相談など、なんでもお気軽にお問い合わせください。