Skip to content

feat: 検索エンジン向けに sitemap.xml と robots.txt を返す - #180

Merged
Tatsu723 merged 1 commit into
mainfrom
feat/sitemap
Nov 1, 2026
Merged

Tatsu723 merged 1 commit into
mainfrom
feat/sitemap

Conversation

@Tatsu723

@Tatsu723 Tatsu723 commented Nov 1, 2026

Copy link
Copy Markdown
Contributor

概要

Google などのクローラ向けに /sitemap.xml と /robots.txt を返すリソースルートを追加しました。

  • /sitemap.xml: 未ログインで閲覧できる /・/login・/signup を載せる
  • /robots.txt: /api/・/history・/learn・/my-notebooks・/invite/ を Disallow にし、sitemap の場所を Sitemap: 行で示す
  • URL のオリジンは OGP 画像と同じく BETTER_AUTH_URL を使う
  • XML/テキストの組み立ては app/lib/shared/sitemap.ts の純粋関数にし、単体テストを追加

載せていないもの

  • /learn 以下: ログイン必須でクローラが読めないため
  • 公開単語帳 /share/:id: 「リンクを知っている人向け」の共有なので、検索結果に出さない

デプロイ後

Google Search Console で https://<本番ドメイン>/sitemap.xml を送信する。

確認

  • npm run lint / npm run typecheck / npm test が通ることを確認
  • dev サーバーで両方のパスが 200 と期待どおりの中身を返すことを確認

🤖 Generated with Claude Code

未ログインで見られる / ・/login・/signup を sitemap に載せ、
API とログイン必須のパスは robots.txt で除外する。
公開単語帳(/share)はリンクを知る人向けの共有なので載せない。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Nov 1, 2026

Copy link
Copy Markdown

Coverage Report

Status Category Percentage Covered / Total
🔵 Lines 49.46% 1659 / 3354
🔵 Statements 48.89% 1856 / 3796
🔵 Functions 37.61% 366 / 973
🔵 Branches 36.2% 844 / 2331
File Coverage
File Stmts Branches Functions Lines Uncovered Lines
Changed Files
app/lib/shared/sitemap.ts 100% 100% 100% 100%
Generated in workflow #73 for commit 74ec932 by the Vitest Coverage Report Action

@Tatsu723
Tatsu723 merged commit 11d6b1f into main Nov 1, 2026
8 checks passed
@Tatsu723
Tatsu723 deleted the feat/sitemap branch November 1, 2026 09:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant