Pancake Trail
Pancake Trail について
Pancake Trail の管理人室

【PHP/WordPress】メンテナンス画面を表示する方法

page_eyecatch

 2026 年 10 月 21 日、PHP2Shell(PHP 脆弱性指摘)によって、レンタルサーバーの対応を待つ間に WordPress サイトを止めておく必要が出ました。その際に PHP を使わずメンテナンス画面に切り替える対応をとったので、備忘録として残します。

 まず PHP を動かしてはいけないので、WordPress のプラグインを使用するのは NG です。ドメインレベルのディレクトリにある .htaccess を書き換えて、静的な HTML にリダイレクトするのが簡単な方法でしょう。まず .htaccess を以下のように書き換えます。

RewriteEngine On

# メンテナンス用ページ自体は除外
RewriteCond %{REQUEST_URI} !^/maintenance\.html$

# 503 を返す
RewriteRule ^ - [R=503,L]

ErrorDocument 503 /maintenance.html

# 任意: クローラーへ再訪の目安を伝える
Header always set Retry-After "3600"

 ドメインレベルのディレクトリには maintenance.html を置いておきます。HTML は簡単なもので良くて、私は Claude code に以下の ファイルを作ってもらいました。(例はこちら)

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="robots" content="noindex">
<title>メンテナンス中です</title>
<style>
  :root {
    --bg: #f3f5f7;
    --text: #1f2933;
    --muted: #5f6c7b;
    --line: #c9d1d9;
    --accent: #2a6f97;
  }
  @media (prefers-color-scheme: dark) {
    :root {
      --bg: #161b22;
      --text: #e6edf3;
      --muted: #9aa7b4;
      --line: #30363d;
      --accent: #6cb6e0;
    }
  }
  * { box-sizing: border-box; }
  html, body { height: 100%; margin: 0; }
  body {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: var(--bg);
    color: var(--text);
    font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
    line-height: 1.9;
  }
  main {
    width: 100%;
    max-width: 30em;
    border-left: 4px solid var(--accent);
    padding-left: 1.5em;
  }
  h1 {
    margin: 0 0 0.6em;
    font-size: clamp(1.5rem, 5vw, 2rem);
    font-weight: 700;
    letter-spacing: 0.04em;
  }
  p { margin: 0 0 1em; }
  .note {
    margin-top: 1.5em;
    padding-top: 1em;
    border-top: 1px solid var(--line);
    font-size: 0.9rem;
    color: var(--muted);
  }
</style>
</head>
<body>
  <main>
    <h1>ただいまメンテナンス中です</h1>
    <p>一時的に公開を停止しています。</p>
    <p>ご不便をおかけしますが、しばらくたってからもう一度アクセスしてください。</p>
    <p class="note">We are currently performing maintenance. Please check back shortly.</p>
  </main>
</body>
</html>

 ちょっとしたメンテナンスにも使えると思います。SFTP 接続ができれば簡単にできるので、ぜひ試してみてください。
 

ちょっと宣伝

 当サイトは地図を使った海外旅ブログとなっています。トップページに地図がありますが、地名を押すと画像が開き、画像を押すと関連記事一覧(閲覧数順)が開きます。記事数が多い国ほど赤く、その国で記事が多いほど都市の文字が大きくなるようにしています。ぜひ覗いてみてください。また、当サイトでは自由に旅記事を執筆することができます。気になる方は「当サイトについて」をご覧ください。

Pancake Trail 管理部