敵情視察ならぬ、「そっくり城」づくり。
本物の城に火をつけてみる者はいない。ならば同じ図面で偽の城を建て、そこに火をつけて、どこが燃えるかを見ればよい。
AI軍師は胸を張る。「殿、ここまで『合格』にございます」。
――その札、本当に信じてよいのか。
※ 時代劇風の語りは演出です。数字・日付・結果は作業記録に基づき、この回の検証はすべてローカル(このPCの中)。本番への変更は0件です。
本番のそっくりさんを、PCの中に作る
PHPを新しくすると、サイトのどこが、なぜ壊れるのか。それを本番を傷つけずに突き止めるために、本番のバックアップを、外部と通信できない隔離環境に復元しました。
ここで確認できた大事なことがひとつあります。本番で実際に出ていた2か所のサーバーエラー(500)が、そっくり環境でも同じように再現できたんです。偽の城が、傷の位置まで本物と同じだった。これで検証の土台ができました。

どこで止まるか、組み合わせて試す
WordPressの版、テーマ、PHPの版を組み合わせて、どこで止まるかを記録しました(すべてローカル検証です)。
| 条件(WordPress/テーマ/PHP) | 結果 |
|---|---|
| 5.7.2/旧テーマ/PHP 7.4 | 表示できる(本番と同じ既存の500だけ) |
| 5.7.2/旧テーマ/PHP 8.3 | 全ページがサーバーエラー |
| 7.1.4/旧テーマ(無修正)/PHP 8.3・8.4・8.5 | 全ページがサーバーエラー |
| 7.1.4/旧テーマ+最小の修正2件/PHP 8.4 | 表示できる |
| 7.1.4/WATABOKORI/PHP 7.4・8.3・8.4・8.5 | 表示できる。停止エラー(Fatal)0件 |
PHPが止まる原因は、主に2か所でした。ひとつは旧テーマに付いてくるプラグインのコードで、配列(リスト)が来るはずの場所にオブジェクトが来て、PHP 8以降で止まります。9月25〜26日の本番ログに残っていたエラーと一致していました。もうひとつは旧テーマ本体のコードで、「空っぽ」の値を配列用の命令に渡している箇所です。こちらもPHP 8以降で止まります。
9月に「PHPを上げたら崩れた」本当の原因は、後者だった可能性が高い、とくーちゃんは見ています。前者で先に止まるので、当時のログには後者が出なかったはず、という推理です。ただし、これはあくまで推定です。
テーマを替えたら、SEOの設定は残るのか
自作のWATABOKORIに切り替えた場合、記事のタイトルや説明文などが引き継がれるか。全106ページを、本番の公開設定のまま比べました(PHP 8.4、ローカル)。
- ページ表示:106/106が表示できた
- タイトル・説明文・正規URL(canonical)・検索エンジン向けの指定(robots):106/106が一致
- 見出し(H1):全ページ1つだけ
- AMP 103件:すべて通常の記事ページへ301転送できた
- スマホ幅(390px)の6ページ:横スクロールなし(旧テーマでは4ページで発生していた)
ただし、これで検索順位が変わらないと言えるわけではありません。順位や流入への影響は、公開してから測らないと分かりません。
見つかった穴と、「合格」の落とし穴
検証の途中で、いくつか穴も見つかっています。
ある記事(/dmmfx)のアフィリエイトリンクが、3本から2本に減っていました。リンク用の設定値を読み込んでいなかったことが原因で、のちに修正されて3本に戻っています(ローカル)。アフィリエイト用の短縮タグの一部は、ローカルでも「要修正」の判定のままでした。旧テーマに最小の修正だけを当てた構成では、PHP 8.4の管理画面にエラー文言が出ましたが、こちらは原因を特定できていません。WATABOKORIの構成では出ません。
そしてもうひとつ。この日の報告書には「目次の表示:合格」と書かれていました。これは後日(第三話)、画面を見ずに設定ファイルの文字列を数えただけの判定で、実際には目次が出ていなかったと分かります。AIの「合格」は、確かめ方次第で当てにならない。それがはっきりするのは、もう少し先です。
判定はHOLD。そして推奨とは違う決断
この日の判定は、本番移行は「HOLD(保留)」でした。ローカルの結果は良好でも、本番に近いMySQL環境、サブドメイン、広告収益への影響が、まだ検証できていなかったからです。
くーちゃんの推奨は、①WordPressを7.1へ(PHPは7.4のまま)→ ②サブドメイン対応 → ③PHP 8.4へ → ④テーマ移行は別に判断、という順番でした。
総大将の決断は、これとは違いました。検索からの流入が極めて少ないことから、古いテーマを延命する意味は小さい、と判断。「WATABOKORIへの全面移行を最優先」とし、PHPの更新は別の工程に切り分けて、当面は7.4.33のまま、と決めたんです(11月1日の判断記録)。AIの推奨をそのまま採用せず、判断は人間が下した場面です。この選択には代償もあります。PHP 7.4での運用が、その分だけ長引きます。判断記録も、それを留意点として書いています。
もうひとつ、足元の問題がありました。手元にある最新の本体バックアップは約5週間前(9月25日)のもので、暗号化されておらず、保管場所もこのPC1か所だけ。本番に手を入れる直前に、取り直す必要があります。

残っている課題は、MySQL 5.7での更新と復元の試験、サーバーパネルでの自動バックアップの確認、広告収益の確認、GA4の確認、Safariやスマホ実機での確認です。
この回の記録
- 作業日:2026年11月1日。時刻の記録はなく、ファイルの更新時刻から昼前〜昼すぎ(日本時間)と推定しています(概算)
- 環境:すべてローカル。本番への変更は0件
- ローカルで合格:WordPress 7.1.4への更新、WATABOKORIでのPHP 7.4〜8.5の動作、全106ページのSEO主要項目、AMPの301転送。不合格:旧テーマ無修正でのPHP 8系
- 進捗:12マイルストーンのうち 3/12(M1現状調査、M2検証環境、M3 WATABOKORIのローカル検証)。WordPress最新版に到達したサイトは 2/7、PHPを最新にしたサイトは 0
- 原稿の執筆時点:2026年11月3日
第一章 AI時代・PHPの乱 第2話
戦果発表
第2話が終わった時点(この数字は固定です)
- 達成本番の500エラー2件までローカルで再現(復元の確からしさ)
- 達成PHP 8系で止まる原因を特定(旧テーマ付属プラグイン/旧テーマ本体)
- 達成WATABOKORIでPHP 7.4/8.3/8.4/8.5のFatal 0件(ローカル)
- 達成全106ページのタイトル・説明文・canonical・robots一致(ローカル)
- 達成AMP 103件の301転送(ローカル)
- 保留本番移行の判定MySQL実機・広告収益・サブドメイン未検証
- 誤判定目次表示の判定『合格』第三話で訂正。文字列を数えただけだった
全12工程中の達成
25%
3/12 工程を達成
12工程の内訳を見る
- 達成 現状調査(本番変更なし)(本番は読み取りのみ)
- 達成 ローカルの復元・検証環境の構築(ローカル)
- 達成 WATABOKORIのローカル検証に合格(PHP 7.4〜8.5・SEO主要項目・AMP転送)(ローカル)
- これから 本体をWordPress 7.1.4へ更新(本番)
- これから 本体をWATABOKORIへ切替(本番)
- これから 本体のGA4・AdSenseの本番確認(本番)
- これから 旧サブドメインの方針決定と本人承認(WATABOKORI統一)(判断)
- これから 旧サブドメイン用の試作・予行演習に合格(ローカル)
- これから chucosの公開停止(アクセス制限)(本番)
- これから uber・investorをWordPress 7.1.4+WATABOKORI簡易版へ移行(本番)
- これから PHP 8.5.12へ本番切替(本番)
- これから 切替後1週間のエラーログ監視(本番)
達成率は「全12工程のうち、達成した工程の数」を12で割ったものです。作業時間や難しさによる重みづけはしていません。上の戦果の項目は各話の出来事の記録で、工程の数とは別に数えています。
現在のプロジェクト全体(随時更新)
83.3%(10/12 工程)
2026-11-03 13:17 JST(本番実施記録の判定時点。原稿作成時点で確認できた最新の記録)
次回予告
決断は下った。古い城は捨て、新しい城へ移る。決行は翌日。ところが本番の城では、そっくり城で起きなかった出来事が待っていた。消えた目次、消えていなかったはずのキャッシュ。
――第三話『移行成功!……まだ終わらぬPHPの乱』
連載「AI時代・PHPの乱」