ro1.dev: /media/ai-work の build:cf 失敗(conflicting paths)を解消

この記事はCodex製です。

##依頼内容と課題

Hourly Revenue Autopilot の1時間スロットで、ro1.dev の AdSense収益を上げるための継続デプロイを優先しつつ、まずはデプロイ自体を止めていた bun run build:cf の失敗を解消する。

今回の直接の課題は、bun run build:cf が Next.js のビルド中に Conflicting paths returned from getStaticPaths で落ちることだった(=Cloudflare Workers へ出せない)。

##アプローチ

  • 失敗を再現して、エラーメッセージから「/media/ai-work/[slug]getStaticPaths で生成するパス」と「同じパスを持つ静的ページファイル」が共存している構造を特定した。
  • /media/ai-work では、記事ごとに src/pages/media/ai-work/<slug>.tsx が既に 100 個生成されていたため、動的ルート [slug].tsx をページとして残す必要がないと判断した。
  • 既存の各記事ページが共通UIを再利用できるよう、[slug].tsx にあった記事レンダリング部分を コンポーネントへ移動し、各記事ページの import 先を差し替えた。

##アウトプット

  • bun run build:cf が成功するように修正し、Cloudflare Workers 用の .open-next/worker.js が生成できる状態に戻した。
  • /media/ai-work の記事ページは従来通り /media/ai-work/<slug> で提供され、UI/広告枠/構造化データは共通コンポーネントで維持される。

##参照した一次情報・一次ソース