WordPress でメンテナンスページを実装する方法

WordPress サイトをメンテナンスモードにすることは、大きな更新や変更を行う際に非常に重要です。これは「メンテナンス中」の仮想的な看板のような役割を果たし、サイトが一時的に利用できないことを訪問者に知らせます。この対策は、更新作業中にユーザーの操作をブロックすることで、コメント、投稿、登録、注文といった新しいデータの損失を防ぐのに役立ちます。

メンテナンスモードを有効にすることは欠かせませんが、SEO への影響や、変更を元に戻せるかどうかを心配する声もよく聞かれます。ここでは、最小限の混乱で WordPress サイトのメンテナンスモードを効果的に管理する方法を、わかりやすくまとめたガイドをご紹介します。

  1. 適切なツールを選ぶ:メンテナンスモードのオン/オフは、Maintenance のようなメンテナンスモード用プラグインを使うことで簡単に切り替えられます。
  2. 定期的な更新:WordPress は、コアファイル、プラグイン、テーマの定期的な更新中に自動的にメンテナンスモードを有効化します。ただし、リブランディングやサーバーのアップグレードなど、大規模な変更を行う際には、メンテナンスモードを手動で有効化する必要があります。
  3. 準備のステップ:大きな変更を始める前に、必ずサイトのバックアップを取り、可能であればステージング環境で更新をテストしましょう。MalCare のようなツールは、自動バックアップとステージング構築をワンクリックで行える点で推奨されています。

これらの手順に従うことで、更新中もサイトを安定かつ安全な状態に保ち、ユーザーエクスペリエンスを向上させながら、サイトの整合性を維持できます。

1. メンテナンスモードプラグインを使う

メンテナンスモードプラグインは、更新、リデザイン、その他の変更を行う際に WordPress サイトを効果的に管理してくれます。ここでは、私たちのおすすめの一つである「Maintenance」プラグインを例に、こうしたプラグインの使い方を詳しく解説します。

プラグインを選んでインストールする

  • WordPress のダッシュボードに移動し、「プラグイン」セクションに進みます。
  • 「新規追加」をクリックし、「Maintenance」を検索します。
  • プラグインをインストールして有効化します。
Maintenance プラグインをインストール

メンテナンスページをカスタマイズする

  • 有効化すると、プラグインは自動的にメンテナンスモードを適用します。コンテンツを変更したい場合は、ダッシュボードの Maintenance メニューからプラグインの設定を開けます。
  • 訪問者にダウンタイムの理由を伝えるために、メッセージをカスタマイズしましょう。プラグインの設定画面に移動すると、さまざまなオプションを設定できます。
メンテナンスページの内容をカスタマイズ

SEO とボットの設定を行う

  • メンテナンスのため一時的に利用できないことを検索エンジンに伝えるよう、SEO 設定を構成します。これにより、サイトの検索順位が悪影響を受けないようにできます。
  • 適切な HTTP レスポンスコードや retry-after ヘッダーを使って、検索ボットが再訪問するまでの時間を指定します。

メンテナンスモードを有効化する

  • すべての設定が完了したら、簡単なトグル操作でメンテナンスモードを有効化します。裏側で作業を進めている間、サイトでは訪問者にメンテナンスページが表示されます。

メンテナンスモードを無効化する

  • 更新や変更が完了したら、プラグインの設定に戻り、メンテナンスモードをオフにするだけです。これでサイトは再び訪問者や検索エンジンに対して公開状態になります。
注意: 変更を加える前に、サイトのバックアップを取っておくことをおすすめします。これにより、何か問題が起きてもすぐに以前の状態に戻すことができます。WP Staging は、自動バックアップをかんたんに設定できるソリューションを提供しています。詳しくはバックアップとリストアのガイドをご覧ください。

2. functions.php を使ったメンテナンスモードの有効化

  1. サイトのバックアップを取る
  • テーマファイルに変更を加える前には、必ずサイト全体のバックアップを取り、エラーが発生した場合のデータ損失を防ぎましょう。
  1. functions.php ファイルにアクセスする
  • WordPress のダッシュボードで「外観」>「テーマファイルエディター」に移動します。
  • テーマファイル一覧から、有効なテーマの functions.php ファイルを選択します。
  1. メンテナンスモードのコードを挿入する
  • functions.php の末尾に、以下の PHP スニペットを貼り付けます。
PHP
// Activate WordPress Maintenance Mode

function wp_maintenance_mode() {

    if (!current_user_can('edit_themes') || !is_user_logged_in()) {

        wp_die('<h1>Under Maintenance</h1><br />Website under planned maintenance. Please check back later.');

    }

}

add_action('get_header', 'wp_maintenance_mode');
  • この設定では、すべてのトラフィックが maintenance.html ファイルにリダイレクトされますが、このファイルに直接アクセスする場合は除外されます。R=307 ディレクティブにより、リダイレクトが一時的なものとして認識されます。

リダイレクトをテストする

シークレットウィンドウでサイトにアクセスし、メンテナンスモードが正しく機能していることを確認します。メンテナンスページにリダイレクトされるはずです。

変更を元に戻す

メンテナンスが完了したら、.htaccess ファイルに追加した行を削除して、リダイレクトを無効化します。

今後の用途を考慮して、maintenance.html ファイルを残すか削除するかを決めましょう。

この体系的なアプローチにより、メンテナンスモードを安全かつ効果的に実装でき、混乱を最小限に抑えつつ、今後の更新にも対応できるアクセス性を維持できます。

3. .htaccess を使ったメンテナンスモードの有効化

  1. メンテナンスページを作成する
    • メンテナンス状態を知らせるメッセージを表示するシンプルな HTML ページ maintenance.html を作成します。
    • このファイルをサイトのルートディレクトリにアップロードします。
  2. .htaccess ファイルを編集する
    • FTP またはホスティングのコントロールパネルを使って、WordPress インストールのルートディレクトリにある .htaccess ファイルを開きます。
    • ファイルの先頭に以下の行を追加し、example.com をご自身のドメインに置き換えます:
Perl
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !^/maintenance.html$
RewriteRule ^(.*)$ https://example.com/maintenance.html [R=307,L]
  • この設定では、すべてのトラフィックが maintenance.html ファイルにリダイレクトされますが、このファイルに直接アクセスする場合は除外されます。R=307 ディレクティブにより、リダイレクトが一時的なものとして認識されます。

リダイレクトをテストする

  • シークレットウィンドウでサイトにアクセスし、メンテナンスモードが正しく機能していることを確認します。メンテナンスページにリダイレクトされるはずです。

変更を元に戻す

  • メンテナンスが完了したら、.htaccess ファイルに追加した行を削除して、リダイレクトを無効化します。
  • 今後の用途を考慮して、maintenance.html ファイルを残すか削除するかを決めましょう。

この体系的なアプローチにより、メンテナンスモードを安全かつ効果的に実装でき、混乱を最小限に抑えつつ、今後の更新にも対応できるアクセス性を維持できます。

WordPress メンテナンスページを使うメリット

プロフェッショナルな印象の向上

しっかり作り込まれたメンテナンスページは、品質とユーザーエクスペリエンスへのこだわりを示し、更新中であっても洗練された印象を与えます。エラーや「工事中」の要素が残ったサイトを訪問者に見せるよりも、はるかに望ましいアプローチです。

信頼とコミュニケーション

進行中のメンテナンスについて訪問者にオープンに伝えることで、信頼を高め、明確な期待値を設定できます。中断は一時的なものであり、今後の訪問をより良くするための改善が行われていることを安心して伝えられます。

SEO の保護

頻繁なダウンタイムやエラーメッセージは、検索エンジンに対するサイトの評価を損なう可能性があります。一時的なメンテナンスページは、ダウンタイムが計画的かつ一時的であることを検索エンジンに知らせ、検索順位への悪影響を防ぎます。

エンゲージメントの機会

メンテナンスページは単なるプレースホルダーではありません。マーケティングの機会でもあります。メールアドレスの収集、ソーシャルメディアでのフォロー促進、今後の変更やキャンペーンの予告など、戦略的に活用できます。これにより、オーディエンスのエンゲージメントを保ちつつ、サイトの再公開を心待ちにしてもらえます。

まとめ

サイトを更新する際にメンテナンスモードを利用することは、新規登録や注文などのデータ損失を防ぐうえで非常に重要です。オフラインになることのデメリットを抑えるためには、慎重な計画が欠かせません。MalCare のようなツールを使って、バックアップやテスト環境のセットアップを行いましょう。

これにより、本番サイトに影響を与えることなく、変更を安全に行いテストできます。さらに、マルウェアスキャン、リアルタイム監視、ファイアウォール保護などのサービスでセキュリティも強化できます。これらのステップにより、更新中もサイトを安全かつ正常に稼働させることができます。

関連記事

Rene Hermenau

著者: Rene Hermenau

著者について: René Hermenau は WP STAGING の創設者です。WordPress のバックアップ、ステージング、移行、データベース処理、安全なデプロイメントワークフローに取り組んでいます。