Next.js App Router tích hợp native sitemap và robots.txt với TypeScript type-safety — không cần plugin hay static files.
Sitemap: tạo app/sitemap.ts export default function trả về mảng MetadataRoute.Sitemap. Mỗi item có url, lastModified, changeFrequency, priority. Có thể fetch data từ DB/CMS để generate dynamic URLs. Cho website lớn: tạo app/sitemap/[id]/route.ts để generate multiple sitemaps (sitemap index).
robots.txt: tạo app/robots.ts export default function trả về MetadataRoute.Robots object với rules (User-Agent, allow, disallow) và sitemap URL.
Ví dụ: { rules: { userAgent: '*', allow: '/', disallow: '/admin/' }, sitemap: 'https://example.com/sitemap.xml' }. Cả 2 đều type-safe với TypeScript, auto-generate tại build time.
Next.js App Router has native sitemap and robots.txt support with TypeScript type-safety — no plugins or static files needed.
Sitemap: create app/sitemap.ts with a default export function returning a MetadataRoute.Sitemap array. Each item includes url, lastModified, changeFrequency, and priority. Fetch from DB or CMS for dynamic URLs. For large sites: create app/sitemap/[id]/route.ts for multiple sitemaps (sitemap index).
robots.txt: create app/robots.ts with a default export function returning a MetadataRoute.Robots object with rules (User-Agent, allow, disallow) and a sitemap URL.
Example: { rules: { userAgent: '*', allow: '/', disallow: '/admin/' }, sitemap: 'https://example.com/sitemap.xml' }. Both are TypeScript type-safe, auto-generated at build time.