| 項目 | 実測値 | 含意 |
|---|---|---|
happy-hypno.jp/(ルート)の配信元 | /blogのWP(generator: WordPress 5.5.20・テーマagarikaizen2・canonical→/blog/) | ルート→/blog委譲はサーバ側の仕掛け(ルートの.htaccess rewrite等) |
| /blogのWP設定(REST API) | siteurl=home=https://happy-hypno.jp/blog | WP設定は/blog完結。ルート表示はWPの設定外=.htaccessが崩れるとトップが行き場を失う |
| /infoのWP設定 | siteurl=home=https://happy-hypno.jp/info(WP 6.4.8) | ルート委譲が壊れた時のフォールバック先になった可能性(「/infoのblognameが出た」記録と整合) |
WordPress公式の互換表(Make WordPress Core)より:
つまり7/9の「トップ表示崩れ」は、プラグインでも.htaccessでもなくWP本体のPHP 8.3非互換が主因の可能性が最も高い。Search Regexを削除しても、WP 5.5のままではPHP 8.3再挑戦は構造的に失敗する。「PHP切替を先にやる」という順序そのものが間違いだった。
| プラグイン | 現行版 | WP6.8/PHP8.3互換 | 備考 |
|---|---|---|---|
| litespeed-cache | 7.8.1 | ✅ 最新系 | 問題なし |
| wordfence | 8.2.2 | ✅ 最新系 | 問題なし |
| autoptimize | 3.1.15.1 | ✅ 最新系 | フロントHTML介入系だが最新 |
| all-in-one-wp-migration | 7.107 | ✅ 最新系 | バックアップの要 |
| yarpp(関連記事) | 5.30.11 | ✅ 比較的新 | フロント介入系・更新確認 |
| broken-link-checker | 2.4.8 | ✅ 比較的新 | 更新確認 |
| wp-migrate-db | 2.7.10 | ✅ | 更新確認 |
| advanced-database-cleaner | 4.2.0 | ✅ | 更新確認 |
| wp-multibyte-patch | 2.9.3 | ✅ | 日本語必須・軽量 |
| wp-asset-clean-up | 1.4.0.4 | 🟡 要更新 | フロントHTML介入系・WP更新前に最新化 |
| wp-external-links | 2.65 | 🟡 要確認 | フロントHTML介入系 |
| tinymce-advanced | 5.5.1 | 🔴 2020年で終了した旧名 | 後継「Advanced Editor Tools」へ更新 or 削除(Classic Editorあれば非必須) |
| akismet | 4.1.8 | 🟡 古い(現5.x) | WP更新前に最新化 |
| classic-editor | 1.7.0 | 🟡 古い | WP更新前に最新化(WP6.8で編集画面維持の要) |
→ 🔴1個+🟡4個をWP本体更新の前に最新化(既存の wp_plugin_update.py で1つずつ・各回200確認・実証済み手順)。
public_html/.htaccess を開いて全文コピー→私に共有。ルート→/blog委譲の仕組みが確定し、PHP切替でcPanelが書き込むhandler行との干渉が起きても即復元できる保険になる。同様に public_html/blog/.htaccess も。wp_plugin_update.py・1つずつ200確認):tinymce-advanced→Advanced Editor Tools/akismet/classic-editor/wp-asset-clean-up/wp-external-linkswp_monitor.py 7項目+トップ/ページ送り/個別記事/カテゴリ/attachment 301/canonical の実測検証(昨日確立した期待値表と照合)wp_monitor.py+トップ表示・ルート委譲の実測(Stage 0で控えた.htaccessと差分確認)7/9の失敗は「PHP 8.3非対応のWP本体の上でPHPだけ上げた」ことが主因。2段階作戦では:
| ファイル | 中身 | 判定 |
|---|---|---|
public_html/.htaccess(ルート) | ❶ルート→/blog委譲Rewrite(手書き・冒頭5行)❷cPanel生成PHP INIブロック❸cPanel生成ハンドラ AddHandler application/x-httpd-ea-php74 | 🟡 ❸が唯一のPHP 7.4ハードコード |
public_html/blog/.htaccess | LSCACHE+WP標準Rewrite(RewriteBase /blog/)+noabort。AddHandlerなし | 🟢 完全クリーン |
public_html/info/.htaccess | LSCACHE+WP標準Rewrite(HTTP_AUTHORIZATION行はWP 6.x世代標準)+noabort。AddHandlerなし | 🟢 完全クリーン |
REQUEST_URI ^/$ のみ /blog/ へ内部委譲)。cPanelはこのブロックを触らないため、PHP切替で委譲自体が壊れる可能性は低い。ea-php74)❷INIブロックの session.save_path ".../ea-php74"+<IfModule php7_module>(PHP 8系ではモジュール名不一致で不適用になる)。両方ともcPanel生成ブロック=MultiPHP切替時にcPanelが自動書き換えするはずの箇所。Stage 2直後にこの2種が ea-php83 系へ正しく書き換わったかを照合する。AddHandler が ea-php83 系に書き換わったか(7.4残置なら手動修正 or cPanel MultiPHP INI Editorで再生成)session.save_path が新PHPのセッションパスを指しているかwp_monitor.py 7項目+トップ表示(happy-hypno.jp/ で/blogのフロントが出るか)スナップショット保管先=knowledge/happy-hypno-renewal/htaccess-snapshots/2026-08-18/(root / blog / info の3ファイル)
| リスク | 確率 | 安全網 |
|---|---|---|
| WP 5.5→6.8のビッグジャンプでテーマ非互換 | 低(agarikaizen2は自作クラシックテーマ・テンプレート階層APIは6.8でも不変) | All-in-One WP Migrationで丸ごと復元 |
| 旧プラグインがWP 6.8で誤動作 | 低〜中(Stage 0で5個最新化してから更新) | 1個ずつ停止で切り分け(プラグイン停止はサイト無害・実証済み) |
| DBスキーマ更新の失敗 | 極低(WP標準の自動処理) | 事前フルバックアップ |
| PHP切替で.htaccess handler行干渉→ルート委譲崩れ | 中(7/9で類似症状) | Stage 0の.htaccess控え+7.4即戻し(1分復旧・実証済み) |
| mixhost WAFがWP本体更新を403で弾く | 低(管理画面内更新はzipアップロードと別経路) | 失敗時はWP-CLI or 弘樹さんcPanel経由の手動更新に切替 |
| 順 | 担当 | 作業 | 所要 |
|---|---|---|---|
| ① | 弘樹さん | バックアップ:/blog管理画面 → All-in-One WP Migration → 「エクスポート」→「ファイル」を押して完了を待つ。/infoも同様 | 各5分 |
| ② | 弘樹さん | WP本体更新:/blog管理画面 → ダッシュボード → 「更新」→ 「今すぐ更新」ボタンを押す → 進捗画面が終わるまで待つ ※ブラウザで進捗が見える形が最も確実なため弘樹さん担当(ユズキがHTTP経由でやると途中経過が見えずタイムアウト判断が遅れる) | 5〜10分 |
| ③ | 弘樹さん | 「更新終わったよ」と一言 → あとは待つだけ | — |
| ④ | ユズキ | wp_monitor 7項目・canonical・attachment 301・全ページ種別の実測検証 | 10分 |
| ⑤ | ユズキ | 残りプラグイン4個(tinymce-advanced→Advanced Editor Tools・akismet・classic-editor・wp-asset-clean-up)の更新+再検証 | 10分 |
| 順 | 担当 | 作業 | 所要 |
|---|---|---|---|
| ① | 弘樹さん | cPanel → MultiPHP Manager → happy-hypno.jp を選択 → PHP 8.3を選んで適用 | 2分 |
| ② | 弘樹さん | cPanelファイルマネージャーで public_html/.htaccess を開いて全文コピー→ユズキに貼り付け(8/18と同じ操作・ハンドラ書き換わりの照合用) | 2分 |
| ③ | ユズキ | スナップショットとdiff照合(AddHandler ea-php83化・session.save_path・委譲5行無傷)+wp_monitor+トップ表示検証 | 5分 |
| ④ | 弘樹さん | 万一異常時のみ:ユズキが「7.4に戻してください」と言うので、MultiPHPで7.4を選び直す(1分で全復旧・実証済み) | 1分 |
まとめ:弘樹さん=「エクスポート」「今すぐ更新」「PHP 8.3選択」の3つのボタン+コピペ1回。ユズキ=それ以外すべて(事前チェックリスト・各段階の実測検証・異常時の切り分け・プラグイン残更新・記録)。
Stage 1はご在宅の午前がおすすめ(万一の切り戻し判断が速い)。ご都合の良い日に「Stage 1 GO」で開始。
「Stage 0 GO」で事前準備から始めます。その際、cPanelで public_html/.htaccess と public_html/blog/.htaccess の全文コピーをお願いします。