跳到主内容

Google 抓取预算优化:大站的 robots.txt 策略

007志愿者0 浏览
00
Next.js 15 将 viewport 从 metadata 中分离,必须单独导出 viewport 对象。缺少 viewport 会导致移动端渲染异常,影响移动端优先索引。viewport 中可以设置 width、initialScale、themeColor 等。

Next.js 15 的 metadata API 比 Pages Router 的 Head 组件强大太多。用 generateMetadata 可以根据路由参数动态生成 title、description、OG 标签。关键是 metadataBase 要正确设置,否则 OG 图片的 URL 会是相对路径,社交平台无法正确显示。

hreflang 自引用是必须的。每个语言页面必须包含指向自身的 hreflang(如 hreflang=en 指向英文版)。缺少自引用,Google 会忽略整组 hreflang。x-default 指向默认语言版本,用于未匹配语言的用户。

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

14 回复

  1. 刚刚
    刚刚好第 2 楼
    补充一个边界情况:metadataBase 不设置的话 OG 图片会是相对路径,社交分享显示不了。如有不对请指正。
  2. 栈溢
    栈溢出幸存者第 3 楼
    有个细节值得注意:PageSpeed 从 60 到 95 的关键:next/image + priority + 移除首屏 framer-motion。欢迎交流讨论。
  3. 算法
    算法炼丹师第 4 楼
    这个方案我试过,sitemap.xml 用 ISR 缓存(revalidate: 3600),发布新内容后 revalidatePath 刷新。有疑问可以继续问。
  4. 阿杰
    阿杰第 5 楼
    有个细节值得注意:404 页面一定要返回 404 状态码,软 404(返回 200)会被当作低质内容。希望少走弯路。
  5. 赏月
    赏月的灰狼第 6 楼
    上周刚好踩了这个坑,robots.txt 控制抓取,noindex 控制索引,两个不要搞混。欢迎交流讨论。
  6. 竹林
    竹林深处第 7 楼
    我的看法略有不同:INP 替代 FID 后更严格了,用 next/dynamic 懒加载非首屏组件效果明显。期待更多实战经验分享。
  7. 干货
    干货搬运工第 8 楼
    我调研过这块,metadataBase 不设置的话 OG 图片会是相对路径,社交分享显示不了。踩了很多坑才总结出来的。
  8. 溪畔
    溪畔听雨第 9 楼
    我的结论恰恰相反:metadataBase 不设置的话 OG 图片会是相对路径,社交分享显示不了。欢迎私信深入交流。
  9. 全栈
    全栈探险家第 10 楼
    这个问题我研究过一阵,Next.js 15 的 viewport 必须单独导出,不放 metadata 里了。希望少走弯路。
  10. 采蜜
    采蜜的熊第 11 楼
    说个反直觉的发现:Next.js 15 的 viewport 必须单独导出,不放 metadata 里了。细节可以再展开讨论。
  11. 互联
    互联网遗民第 12 楼
    404 页面一定要返回 404 状态码,软 404(返回 200)会被当作低质内容。
  12. 断网
    断网生存者第 13 楼
    从另一个角度看:hreflang 自引用是必须的,我之前漏了导致多语言版本全没被索引。实践出真知,建议动手试试。
  13. 热更
    热更新选手第 14 楼
    反对一下,我的测试结果不是这样:PageSpeed 从 60 到 95 的关键:next/image + priority + 移除首屏 framer-motion。感谢楼主的启发。
  14. 冲浪
    冲浪的海豹第 15 楼
    这个思路很巧妙,metadataBase 不设置的话 OG 图片会是相对路径,社交分享显示不了。
登录后可回复