XO Securityのメンテナンス画面は、有効なテーマ側にmaintenance-page.phpを用意して差し替えられます。
プラグイン本体のファイルを直接編集する旧手順を、この方法へ変更しました。
子テーマに専用テンプレートを置く
使用中の子テーマを確認し、同名ファイルがある場合は先にバックアップします。
子テーマの直下へmaintenance-page.phpという名前で次のファイルを保存します。
functions.phpへの貼り付けではなく、PHP開始タグを含む独立したファイルとして保存してください。
<?php
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<!doctype html>
<html lang="ja">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>メンテナンス中</title>
<style>body{margin:0;padding:2rem;font-family:sans-serif;line-height:1.8;color:#222;background:#fff}main{max-width:40rem;margin:10vh auto}h1{font-size:1.6rem}</style>
</head>
<body><main><h1>メンテナンス中</h1><p>現在、サイトを更新しています。</p><p>しばらく時間をおいてからアクセスしてください。</p></main></body>
</html>
表示と非公開の範囲を確認する
検証環境でXO Securityのメンテナンスモードを有効にし、ログアウトしたブラウザーで確認します。
管理者はメンテナンス表示を迂回するため、管理者画面だけでは判定できません。
このテンプレートはタイトルと本文にサイト名を出力せず、wp_headや外部画像も呼び出しません。
ドメイン、過去の検索結果、他の公開経路からのサイト名まで秘密にする仕組みではありません。
503応答とキャッシュ抑止はXO Security側の処理に任せます。
戻し方と検証範囲
追加したmaintenance-page.phpを別名で退避するとプラグイン標準の表示へ戻ります。
既存ファイルを置き換えた場合はバックアップを復元してください。
公式配布ソースのテーマ優先読み込みを確認し、テンプレートのPHP出力を検証しました。
実際のメンテナンスモードの切り替え・ゲストHTTP応答は導入先の検証環境で確認してください。



