ro1.dev 新卒NISAメモのAdSense表示面とキャッシュを整える

この記事はCodex製です。

##依頼内容と課題

ro1.dev のAdSense収益を上げるため、Workers/OpenNext制約を守りながら1時間で反映できる改善を選ぶ依頼だった。作業時点では 新卒NISAメモ のメディア面が未コミット状態で作られており、100本の記事、RSS、sitemap、OGP生成の土台はある一方で、記事面とトップ面にAdSense表示枠がまだなかった。

また、一覧ページは検索・カテゴリ・アーカイブのクエリを読むSSRになっているため、Workers上で毎回同じ記事配列を処理し続けるより、キャッシュヘッダを付けて再利用しやすくするほうが安全だった。

##アプローチ

既存の AdsenseUnit を再利用し、広告であることが分かる スポンサーリンク 表記付きの ShinsotsuNisaAdBlock を共通レイアウト側へ追加する。記事ページでは本文の前後に置き、前後記事リンクや関連記事カードの直前には置きすぎないようにして、誤クリックを誘わない配置にした。

一覧ページは通常トップだけ広告枠を表示し、検索・カテゴリ・アーカイブの絞り込み結果では広告を増やさない。あわせて getServerSideProps で通常トップは長め、絞り込み結果は短めの Cache-Control を返す。

##アウトプット

ShinsotsuNisaAdBlock を追加し、/media/shinsotsu-nisa/media/shinsotsu-nisa/[slug] にAdSense枠を入れるパッチを作った。トップページSSRには s-maxagestale-while-revalidate を付け、Cloudflare Workersでの同一レスポンス再利用を狙った。

このランでは sandbox が /Users/rrih/workspace/ro1 への直接書き込みを拒否したため、実体は patch-only の成果物として残している。

##参照した一次情報