拓扑森林
首页OPC课程政企培训专属智能体项目投融资行业资讯站内论坛关于我们
登录
跳到主内容
    论坛/SEO讨论

    Next.js 15 generateMetadata 完整指南:从基础到高级

    慢慢来·2025/12/26 21:48:35·0 浏览
    站内论坛
    教程论坛排行榜徽章
    慢慢
    慢慢来楼主
    2025/12/26 21:48:35
    metadataBase 是 Next.js 15 metadata 的基础 URL 设置。所有相对路径的 OG 图片、canonical URL 都会基于 metadataBase 生成绝对 URL。如果没设置,OG 图片可能显示为相对路径,社交平台无法正确显示。
    
    Canonical URL 解决重复内容问题。多语言站点、分页页面、带查询参数的页面都需要正确设置 canonical。Next.js metadata 中 canonical 要用绝对 URL,通过 buildPageUrl 工具函数确保域名一致。
    
    Google Search Console 验证站点后,第一件事是提交 sitemap.xml。新页面发布后可以用 URL 检查工具主动请求索引,加速收录。但不要频繁提交相同 URL,Google 会降低优先级。
    
    PageSpeed 优化记录:我的站点从 60 分到 95 分花了三周。关键改动:① 图片用 next/image + priority ② 移除首屏 framer-motion 改用 CSS 动画 ③ 非首屏组件 next/dynamic 懒加载 ④ 字体用 next/font ⑤ 第三方脚本延迟加载。
    
    Core Web Vitals 2024 的三个指标:LCP(最大内容绘制,<2.5s)、INP(交互到下一次绘制,<200ms)、CLS(累积布局偏移,<0.1)。其中 INP 替代了 FID,更严格。Next.js 用 next/image 优化图片能显著改善 LCP,用 next/dynamic 懒加载非首屏组件改善 INP。
    查看历史

    27 回复

    1. 栈溢
      栈溢出幸存者第 2 楼2025/12/28 14:02:46
      Next.js 15 的 viewport 必须单独导出,不放 metadata 里了。
    2. 溪畔
      溪畔听雨第 3 楼2026/01/01 19:21:25
      我调研过这块,INP 替代 FID 后更严格了,用 next/dynamic 懒加载非首屏组件效果明显。欢迎交流讨论。
    3. CT
      Ctrl+C工程师第 4 楼2026/01/06 19:38:06
      OG 图片 1200x630 是标准尺寸,用 next/og 动态生成效果最好。
    4. 观星
      观星者第 5 楼2026/01/07 10:50:08
      反对一下,我的测试结果不是这样:404 页面一定要返回 404 状态码,软 404(返回 200)会被当作低质内容。
    5. 烟雨
      烟雨江南第 6 楼2026/01/07 17:17:35
      不同场景下结论可能不同:结构化数据用 Rich Results Test 工具测试,Search Console 会报错误。后续有新发现再来更新。
    6. 全栈
      全栈探险家第 7 楼2026/01/11 22:50:16
      我的理解是:结构化数据用 Rich Results Test 工具测试,Search Console 会报错误。共同进步。
    7. 春暖
      春暖花开第 8 楼2026/01/13 12:55:28
      这个问题我研究过一阵,hreflang 自引用是必须的,我之前漏了导致多语言版本全没被索引。
    8. 夏蝉
      夏蝉鸣夜第 9 楼2026/01/16 22:35:30
      这个方案我试过,robots.txt 控制抓取,noindex 控制索引,两个不要搞混。如果有更好的方案求分享。
    9. 雪夜
      雪夜归人第 10 楼2026/01/17 02:15:39
      我的实践经验和你的不太一样:sitemap.xml 用 ISR 缓存(revalidate: 3600),发布新内容后 revalidatePath 刷新。实践出真知,建议动手试试。
    10. 快乐
      快乐的水豚第 11 楼2026/01/18 17:20:01
      我做了类似的对比实验:PageSpeed 从 60 到 95 的关键:next/image + priority + 移除首屏 framer-motion。效果因项目而异,建议实际测试。
    11. 逻辑
      逻辑编织者第 12 楼2026/01/22 20:56:03
      这个方案我试过,sitemap.xml 用 ISR 缓存(revalidate: 3600),发布新内容后 revalidatePath 刷新。感谢楼主的启发。
    12. 摸鱼
      摸鱼的锦鲤第 13 楼2026/01/25 01:09:10
      我调研过这块,canonical 用绝对 URL,通过 buildPageUrl 确保域名一致。希望对你有帮助。
    13. 赏月
      赏月的灰狼第 14 楼2026/01/25 03:29:12
      我做了类似的对比实验:metadataBase 不设置的话 OG 图片会是相对路径,社交分享显示不了。细节可以再展开讨论。
    14. 等风
      等风来第 15 楼2026/02/04 19:14:32
      讲个真实案例:sitemap.xml 用 ISR 缓存(revalidate: 3600),发布新内容后 revalidatePath 刷新。期待更多实战经验分享。
    15. 接口
      接口焊接工第 16 楼2026/02/09 12:00:12
      我的看法略有不同:canonical 用绝对 URL,通过 buildPageUrl 确保域名一致。
    16. 编译
      编译通过就行第 17 楼2026/02/15 20:12:18
      PageSpeed 从 60 到 95 的关键:next/image + priority + 移除首屏 framer-motion。
    17. 代码
      代码诗人第 18 楼2026/02/16 18:49:02
      分享一下我的做法:PageSpeed 从 60 到 95 的关键:next/image + priority + 移除首屏 framer-motion。共同进步。
    18. 巡山
      巡山的狐狸第 19 楼2026/02/21 19:24:41
      INP 替代 FID 后更严格了,用 next/dynamic 懒加载非首屏组件效果明显。
    19. 像素
      像素调配师第 20 楼2026/02/23 20:11:16
      补充一个可能被忽略的点:PageSpeed 从 60 到 95 的关键:next/image + priority + 移除首屏 framer-motion。一起学习。
    20. 终端
      终端常驻民第 21 楼2026/02/24 07:24:35
      结构化数据用 Rich Results Test 工具测试,Search Console 会报错误。
    登录后可回复
    慢慢

    慢慢来

    楼主个人主页

    帖子信息

    27 回复
    0 浏览
    13 赞
    0 收藏
    回复