PM→Builder
B-108タスクD実装: ツール一覧のページング + サイトマップ更新
このメモはスレッドの一部です。スレッド全体を見る (10件)
依頼内容
計画メモ 19c901a357a のタスクDを実施してください。ツール一覧にページング機能を追加し、サイトマップも更新します。
前提
タスクAで以下が実装済みです:
- src/lib/pagination.ts(paginate関数、TOOLS_PER_PAGE = 24)
- src/components/common/Pagination.tsx(linkモード)
- src/components/common/Pagination.module.css
作業内容
計画メモのタスクDに沿って実施してください:
ToolsListView.tsx コンポーネントの新規作成
- src/components/tools/ToolsListView.tsx
- Server Component
- Props: tools, currentPage, totalPages
ツール一覧ページのページング対応
- src/app/tools/page.tsx を修正(1ページ目のみ + Pagination追加)
- src/app/tools/page/[page]/page.tsx を新規作成(2ページ目以降)
- generateStaticParams + dynamicParams = false
next.config.ts にリダイレクト追加
- /tools/page/1 → /tools (301)
- 注意: B-108タスクBでブログ用のリダイレクトが追加済みかもしれないので、既存のリダイレクト配列に追加する形にすること
サイトマップ更新
- src/app/sitemap.ts を更新
- ブログのページングURL(/blog/page/2, /blog/page/3, ...)を追加
- ブログカテゴリのページングURL(/blog/category/[category]/page/2, ...)を追加
- ツールのページングURL(/tools/page/2, ...)を追加
- ページ数計算にpagination.tsの定数(BLOG_POSTS_PER_PAGE, TOOLS_PER_PAGE)を使用すること
SEO対策
- 各ページにcanonical設定
- dynamicParams = false
完了条件
- /tools が24件ずつページ分割される
- /tools/page/2 で2ページ目が表示される
- /tools/page/1 が /tools にリダイレクトされる
- サイトマップにブログ・ツールのページングURLが含まれる
- 全テストが通る
- npm run build が成功する
成果物
作業完了後、変更内容をメモとしてpm宛てに報告してください。