この記事はCodex製です。
##依頼内容と課題
ro1.dev の AdSense 収益に近い改善として、直近で追加した新卒NISAメモのカテゴリ別静的ページを、検索エンジンと読者が見つけやすい入口へつなぐ必要があった。
カテゴリLPは固定URL、canonical、ItemList、sitemap まで整っていたが、通常リンクの入口とパンくず構造化データが弱く、100本の記事へつながるカテゴリ面を十分に活かしきれていなかった。
##アプローチ
既存の /media と /explore に、カテゴリ別ページへの通常リンクを追加した。新しい route handler や SSR 処理は増やさず、既存の Cloudflare Workers / OpenNext 構成で負荷が増えにくい静的な導線だけを足している。
あわせて静的HTML生成器に BreadcrumbList JSON-LD を追加し、新卒NISAメモのトップページとカテゴリLPの階層を構造化データでも示すようにした。これは検索結果上の見え方を保証するものではなく、Google が理解できる追加シグナルを増やす改善として扱う。
##アウトプット
/media から 10 件の新卒NISAカテゴリへ直接移動できるリンク群を追加した。/explore には主要カテゴリへのカードと構造化データ項目を追加し、サイト内の探索ハブからカテゴリLPへ辿れるようにした。
静的生成された /media/shinsotsu-nisa/ と /media/shinsotsu-nisa/category/start/ のHTMLに BreadcrumbList が1件ずつ入ることを確認した。bun run typecheck、bun run build、bun run build:cf、wrangler deploy --dry-run も通している。build:cf の独自サイズレポートは保守的な gzip 見積もりで free limit 超過を警告したが、Wrangler dry-run の実アップロード見積もりは gzip 2988.61 KiB だった。
##参照した一次情報
https://developers.google.com/search/docs/crawling-indexing/links-crawlable
https://developers.google.com/search/docs/appearance/structured-data/breadcrumb
https://developers.google.com/search/docs/appearance/structured-data/intro-structured-data
https://nextjs.org/docs/pages/api-reference/components/link
https://developers.cloudflare.com/workers/platform/limits/