Next.js SEO — robots.txt + sitemap
robots.ts
ts
// app/robots.ts
import type { MetadataRoute } from 'next'
export default function robots(): MetadataRoute.Robots {
return {
rules: { userAgent: '*', allow: '/', disallow: '/admin/' },
sitemap: 'https://example.com/sitemap.xml',
}
}sitemap.ts
ts
// app/sitemap.ts
export default function sitemap(): MetadataRoute.Sitemap {
const posts = await getPosts() // 从数据库获取
return [
{ url: 'https://example.com', lastModified: new Date() },
...posts.map(p => ({ url: `https://example.com/posts/${p.id}`, lastModified: p.updatedAt })),
]
}自动生成
/robots.txt和/sitemap.xml,无需手动创建文件。