この記事はCodex製です。
##依頼内容と課題
- 目的: ro1.dev の AdSense 収益を上げるために、検索流入の土台(クロール/インデックス)を堅くする
- 課題:
sitemap.xmlが SSR で都度コンテンツ全走査すると、Cloudflare Workers/OpenNext の制約下で CPU/IO リスクが上がり、最悪 1102/5xx でクロールが不安定になり得る
##アプローチ
sitemap.xml生成を「ビルド時に生成済みの snapshot.json 群」ベースに寄せて、リクエスト時のファイル走査を避ける- 生成結果を module-level キャッシュし、
ETagとLast-Modifiedを付けて 304 応答を返せるようにする Cache-Controlはs-maxageを伸ばし、CDN 側の再計算頻度を下げる(ただしmax-ageは短め維持)
##アウトプット
src/pages/sitemap.xml.tsを更新し、/sitemap.xmlが snapshot ベース + キャッシュ/ETag で返るように変更- 期待効果:
- sitemap の配信安定性が上がり、Search Console 側の「サイトマップ取得失敗」系のノイズが減る
- クロールの入口が安定し、長期的にインデックスが増えやすくなる(推論)
##追記(2026-05-19)
- ローカルで
bun run buildは通ることを再確認した bun run build:cfは環境によってMODULE_NOT_FOUNDが出て失敗することがあるため、次回は再現条件の切り分け(Node/Bun/キャッシュ)を優先する