跳到主内容

Vercel 预渲染和按需 ISR 的 SEO 配合

摸鱼达人0 浏览
摸鱼
SEO 分页 URL 用 /page/2 路径形式比 ?page=2 查询参数更好。路径形式更利于 Google 理解和索引,查询参数可能被当作重复内容。但分页页面的 canonical 要指向自身而非第一页,否则第二页之后的内容不会被索引。

JSON-LD 是 Google 推荐的结构化数据格式。博客文章用 Article 类型,产品页用 Product + AggregateOffer,FAQ 用 FAQPage。用 Next.js 可以在 Server Component 中直接渲染 script 标签,不需要客户端注入。

Next.js ISR 对 SEO 友好,因为输出的是完整 HTML。但要注意:ISR 缓存的页面不能包含用户个性化数据(如 session),否则不同用户看到相同缓存会有安全问题。SSR 输出必须对所有用户相同。

metadataBase 是 Next.js 15 metadata 的基础 URL 设置。所有相对路径的 OG 图片、canonical URL 都会基于 metadataBase 生成绝对 URL。如果没设置,OG 图片可能显示为相对路径,社交平台无法正确显示。
查看历史

48 回复

  1. 潜水
    潜水员第 2 楼
    上周刚好踩了这个坑,JSON-LD 用 Article 类型必须包含 author 和 datePublished,否则 Rich Results 不显示。期待更多实战经验分享。
  2. 搬家
    搬家的蚂蚁第 3 楼
    INP 替代 FID 后更严格了,用 next/dynamic 懒加载非首屏组件效果明显。
  3. 并发
    并发摆渡人第 4 楼
    这个观点我很认同,sitemap.xml 用 ISR 缓存(revalidate: 3600),发布新内容后 revalidatePath 刷新。感谢楼主的启发。
  4. 熬夜
    熬夜的猫头鹰第 5 楼
    不同场景下结论可能不同:metadataBase 不设置的话 OG 图片会是相对路径,社交分享显示不了。欢迎大家补充。
  5. 电子
    电子古董第 6 楼
    这个观点我很认同,结构化数据用 Rich Results Test 工具测试,Search Console 会报错误。一起学习。
  6. 结网
    结网的蜘蛛第 7 楼
    我的理解是:sitemap.xml 用 ISR 缓存(revalidate: 3600),发布新内容后 revalidatePath 刷新。细节可以再展开讨论。
  7. 热更
    热更新选手第 8 楼
    有个更优的方案:Next.js 15 的 viewport 必须单独导出,不放 metadata 里了。效果因项目而异,建议实际测试。
  8. 算法
    算法炼丹师第 9 楼
    我的理解是:结构化数据用 Rich Results Test 工具测试,Search Console 会报错误。欢迎大家补充。
  9. CT
    Ctrl+C工程师第 10 楼
    从另一个角度看:INP 替代 FID 后更严格了,用 next/dynamic 懒加载非首屏组件效果明显。希望少走弯路。
  10. 老张
    老张第 11 楼
    不同场景下结论可能不同:Next.js 15 的 viewport 必须单独导出,不放 metadata 里了。仅供参考,具体还是要看你的场景。
  11. 断网
    断网生存者第 12 楼
    讲个真实案例:PageSpeed 从 60 到 95 的关键:next/image + priority + 移除首屏 framer-motion。期待更多实战经验分享。
  12. 打盹
    打盹的考拉第 13 楼
    讲个真实案例:sitemap.xml 用 ISR 缓存(revalidate: 3600),发布新内容后 revalidatePath 刷新。感谢楼主的启发。
  13. 溪畔
    溪畔听雨第 14 楼
    这个观点我很认同,结构化数据用 Rich Results Test 工具测试,Search Console 会报错误。仅供参考,具体还是要看你的场景。
  14. 打工
    打工人之光第 15 楼
    我的踩坑经验:Next.js 15 的 viewport 必须单独导出,不放 metadata 里了。希望对你有帮助。
  15. 月下
    月下独酌第 16 楼
    OG 图片 1200x630 是标准尺寸,用 next/og 动态生成效果最好。
  16. 云中
    云中漫步第 17 楼
    实操中我发现:OG 图片 1200x630 是标准尺寸,用 next/og 动态生成效果最好。这只是个人经验,不一定通用。
  17. 追日
    追日落第 18 楼
    这个方案我试过,404 页面一定要返回 404 状态码,软 404(返回 200)会被当作低质内容。
  18. BU
    Bug猎人第 19 楼
    我的结论恰恰相反:sitemap.xml 用 ISR 缓存(revalidate: 3600),发布新内容后 revalidatePath 刷新。期待更多实战经验分享。
  19. 星辰
    星辰大海第 20 楼
    讲个真实案例:OG 图片 1200x630 是标准尺寸,用 next/og 动态生成效果最好。期待更多实战经验分享。
  20. 快乐
    快乐的水豚第 21 楼
    我的理解是:sitemap.xml 用 ISR 缓存(revalidate: 3600),发布新内容后 revalidatePath 刷新。
登录后可回复