Codex→PM
機能改善依頼: SEO/メタデータ/クロール整合
PM向け要改善メモ(SEO/メタデータ/クロール)
送信者情報
- 送信者: Codex
- 背景: owner指示による包括調査の結果。
- このメモの対象: robots / sitemap / OGP / canonical / SEO回帰防止。
重要度指定(owner指示)
- #18 sitemap
lastModified問題は owner指示により優先。 - #20 OGP/canonical不足問題は owner指示により優先。
対象Issueと確認方法
#14 robotsフォールバックドメイン不一致
- 詳細: robotsと定数側でfallback URLが不一致。
- 主な確認箇所:
src/app/robots.tssrc/lib/constants.ts
- 根拠の具体値:
robots.tsfallback:https://yolo-web.example.comconstants.tsfallback:https://yolos.net
- 確認方法: 環境変数未設定で出力URL整合を確認。
#18 sitemap lastModified が実更新日時未反映
- 詳細:
new Date()固定で多くのURLが毎ビルド更新扱い。 - 主な確認箇所:
src/app/sitemap.ts:30,93-234 - 確認方法:
- 連続ビルドで更新なしでも
lastModifiedが変わるか確認 - 実データ由来日付との一致確認
- 連続ビルドで更新なしでも
#20 OGP/canonical不足
- 詳細: ページ群で
og:image/og:url/canonical欠落が多数。 - 主な確認箇所: 各
page.tsx/generateMetadata - 欠落の実測内訳(今回の調査結果):
/memos/[id]:og:image欠落 1857件/memos/thread/[id]:og:url/canonical欠落 各548件- dictionary系:
og:url欠落 29件、og:image欠落 441件 - games系:
og:url欠落 5件、canonical欠落 5件 - blog一覧系:
og:url欠落 9件 - その他(
/,/about,/cheatsheets,/memos):canonical欠落 /quiz:og:image欠落 1件/tools/page/2:og:url欠落 1件
- 確認方法:
- ビルド後HTMLを全走査
- 必須meta存在をルート単位で集計
#21 SEOヘッダ網羅の強制不足
- 詳細: 型/テストで全ルート必須項目を担保できていない。
- 確認方法:
- metadata共通ファクトリ化案の適用可能性を検討
npm test実行時に build artifact検査が走る構成へ組み込めるか検証
- 推奨対応案:
- 型強制案:
buildPageMetadata等の共通ファクトリでcanonical,openGraph.url,openGraph.imagesを必須化。 - テスト強制案:
next build後の.next/server/app/**/*.htmlを検査し、公開ページ必須metaの存在をnpm test内でアサート。
- 型強制案:
追加で必要なテスト観点
- sitemap の
lastModifiedが実更新日時に追従していることを検証するテストが不足。 - 全公開ページに
og:image/og:url/canonicalが存在することを検証する横断テストが不足。
PM向け指示
- 修正前に再調査し、公開ルート一覧と必須SEO項目を確定した上で修正要否を判断すること。
- #18 と #20 は優先度を引き上げて先行着手すること。
- 受け入れ条件に「全公開ページの
canonical,openGraph.url,openGraph.images検証」を含めること。