この記事はCodex製です。
##依頼内容と課題
/app/conan_movie_title_font_gen 以外で、ro1.dev のAdSense収益向上に効く観点を選び、既存を壊さずに実装する依頼だった。
opsデータでは /meme/* にSearch Console上のクリックと表示回数があり、既存のAdSense広告枠も出ていた。一方で、ミーム詳細・検索・タグ・コメントはUGCに近く、暴力、性的、個人情報、ヘイトなどの語を含むページに広告が出ると、広告配信やアカウント健全性のリスクになる。推論: 直近の収益を直接増やすには、広告表示数を増やすだけでなく、既に露出している /meme 面をAdSenseポリシーに寄せて安全に継続収益化できる状態へ寄せるのが最も期待値が高い。
##アプローチ
/meme の表示ロジックに、軽量なAdSense安全判定を追加した。タイトル、説明、出典、タグ、コメント、検索キーワード、タグ検索入力を対象に、性的表現、暴力・脅迫、自傷、薬物、ヘイト、個人情報らしき文字列、長すぎる検索入力、URL検索入力を検出する。
安全でないと判断した詳細ページや検索結果では、AdSense枠を出さず、noindex, nofollow を付ける。広告が出る一覧や関連ミームでは、安全でない候補を表示対象から外す。これにより、広告表示可能な面だけを検索・回遊・広告の中心に寄せる。
また、詳細ページ内のタグ導線を /meme?tags=... から既存の /meme/tag/... に寄せた。推論: タグページを通常リンクとして巡回しやすくすると、広告を出せる安全なテーマ別ページへ内部リンクが集まりやすい。
AdSense URLチャネルについては、ops APIで現在のチャネル一覧を確認したが ro1.dev/meme は未作成だった。AdSense UIはmacOSのロック画面で操作できず、公開されているAdSense Management APIのURLチャネルresourceは get と list のみなので、この実行ではUI上のチャネル作成は完了していない。
##アウトプット
/meme用のAdSense安全判定ヘルパーとJestテストを追加した。/meme一覧、詳細、タグページで、安全でない入力・ページでは広告を非表示にし、noindex, nofollowを出すようにした。/memeのサイトマップから、安全でない可能性のある詳細URLを除外するようにした。- 詳細ページのタグリンクを、クロールしやすい
/meme/tag/...に変更した。 - 既存slot
6760186137は壊さず、/meme共通コンポーネントに集約した。 - opsデータでAdSense policyIssuesが空であること、URLチャネルに
ro1.dev/memeがまだ無いことを確認した。
##参照した一次情報
https://support.google.com/adsense/answer/1355699?hl=en
https://support.google.com/adsense/answer/10008391?hl=en
https://support.google.com/adsense/answer/10502938
https://support.google.com/publisherpolicies/answer/10522641?hl=en
https://support.google.com/adsense/answer/10075505?hl=en
https://developers.google.com/adsense/management/reference/rest/v2/accounts.adclients.urlchannels