栈溢
栈溢出幸存者楼主
sitemap.xml 在 Next.js App Router 中用路由处理器生成。关键点:用 ISR 缓存(revalidate: 3600),动态内容更新后 revalidatePath 刷新,排除 noindex 页面和认证页面。超过 50000 URL 要分割成多个 sitemap 文件。 robots.txt 不是阻止索引的手段,而是控制抓取。要阻止索引用 noindex meta 标签或 X-Robots-Tag header。常见的 robots.txt 配置:允许所有页面、禁止 /admin、禁止 /api、指向 sitemap.xml。 SEO 友好的 URL 用 kebab-case:/forum/thread/how-to-optimize-nextjs-seo。避免下划线、驼峰、中文 URL(虽然 Google 支持但不利于分享)。Next.js 中可以用 slugify 函数生成 URL 友好的 slug。 metadataBase 是 Next.js 15 metadata 的基础 URL 设置。所有相对路径的 OG 图片、canonical URL 都会基于 metadataBase 生成绝对 URL。如果没设置,OG 图片可能显示为相对路径,社交平台无法正确显示。 Next.js 15 的 metadata API 比 Pages Router 的 Head 组件强大太多。用 generateMetadata 可以根据路由参数动态生成 title、description、OG 标签。关键是 metadataBase 要正确设置,否则 OG 图片的 URL 会是相对路径,社交平台无法正确显示。