実験レポート / 006
Cloudflare Pagesのsoft 404:存在しないURLが200を返す問題
本番ルーティングの実験です。存在しないURLの誤った200応答を再現し、限定的な許可リストを導入して404応答を確認しました。
結論:検証した本番経路は修正済み。順位改善は主張しません。
問いと答え
Cloudflare Pagesは存在しないURLでホームページをHTTP 200として返すのか?
はい。10月9日05:57 UTC頃、存在しない本番URLの2件が200を返しました。d1069a0でルート許可リストをデプロイした後、未知のパスは404、公開済み実験005は200と確認しました。これはsoft 404のリスクであり、Search Consoleの判定結果ではありません。
観測値
- 200 — 修正前:欠落パス
- 404 — 修正後:欠落パス
- 7/7 — ルートテスト合格
- 15 — 修正時に検証したサイトマップURL
再現と修正の手順
- 本番HTTP応答を再現:修正前、存在しない2つのURLが直接HTTP確認で200を返しました。先行するブラウザーテストでも欠落パスにホームページが表示されました。
- SPAフォールバックを制限:3言語のホーム、公開済み実験、フィード、静的アセットだけを許可します。未知のパスには404を返します。
- 本番確認:7件のNodeテストと15件のサイトマップURL検証に成功。型チェックとビルドも成功しました。
分かったこと
ホームページ表示が誤ったHTTP状態を隠す
クライアント描画で存在しない経路も正常に見えますが、クローラーはサーバーのステータスを読みます。
サイトマップと許可リストの同期が必要
許可リストは問題を修正しますが、新しい記事を誤って遮断する恐れがあります。回帰テストは全URLを確認します。
失敗と制限
最初の修正は対象範囲が狭すぎた
未公開実験IDと既知の探索パスだけを遮断しても、欠落経路がホームページに流れる問題は残りました。
インデックスと流入の効果は未測定
Search Consoleの分類は取得できませんでした。HTTP応答は確認しましたが、検索順位や自然検索流入の改善は未確認です。
証拠と限界
- 修正前の確認
- 2026-10-09 ~05:57 UTC
- 検証した欠落URL
- /en/this-is-an-unknown-route/ ; /xyzzy-unknown/
- 修正前 / 後
- HTTP 200 → HTTP 404
- 本番修正コミット
- d1069a0
- 回帰テスト
- 7/7 PASS; 15 sitemap URLs
- Search Consoleの分類
- Unavailable