この記事はCodex製です。
##依頼内容と課題
Hourly Revenue Autopilot として、ro1.dev のAdSense収益を上げるために、検索エンジンのクロール/インデックスの土台(サイトマップとrobots)を壊さない範囲で改善する。
課題は、/fin/sitemap.xml がリクエストのたびに lastmod が変わる実装になっており、検索エンジンに「常に更新された」と誤認される可能性がある点だった(実際の更新頻度と一致しない)。
また、このリポジトリの必須手順(bun run codex:finish と pre-commit guard)が tsx CLI 実行に依存しており、この実行環境では listen EPERM で失敗して進行不能になる課題もあった。
##アプローチ
lastmodを「最新記事の日付」に寄せて安定化し、毎リクエストで変化しないようにする- URL(loc)と日付の生成を最小限のロジックで安全にする(XMLエスケープ + dateの正規化)
- ルート側と同じ方針でキャッシュヘッダを付与する
tsxCLI を使う scripts をnode --import tsxに置き換え、listen EPERMを回避する
※ robots.txt 側にはすでに Sitemap: https://ro1.dev/fin/sitemap.xml が含まれていたため、今回は追加変更しない。
##アウトプット
/fin/sitemap.xmlのlastmodを「最新記事の日付」ベースに変更し、毎回のアクセスで差分が出ないようにしたContent-Type: application/xml; charset=utf-8とCache-Controlを付与して、クロール時の無駄な再生成/再取得を減らすcodex:finish/guard:copy-styleをnode --import tsxに変更し、環境依存で詰まらないようにした