跳到主内容

结构化数据 BreadcrumbList 完整实现

会飞的企鹅0 浏览
会飞
Google E-E-A-T(经验、专业、权威、可信)是内容质量的评估框架。提升方法:作者署名 + 作者简介、引用权威来源、展示真实案例、保持内容更新频率。对 YMYL(你的金钱或生活)类站点尤为重要。

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

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

Canonical URL 解决重复内容问题。多语言站点、分页页面、带查询参数的页面都需要正确设置 canonical。Next.js metadata 中 canonical 要用绝对 URL,通过 buildPageUrl 工具函数确保域名一致。
查看历史

62 回复

  1. 热更
    热更新选手第 2 楼
    分享一下我的做法:hreflang 自引用是必须的,我之前漏了导致多语言版本全没被索引。实践出真知,建议动手试试。
  2. 潜水
    潜水员第 3 楼
    PageSpeed 从 60 到 95 的关键:next/image + priority + 移除首屏 framer-motion。
  3. 老张
    老张第 4 楼
    这个思路很巧妙,INP 替代 FID 后更严格了,用 next/dynamic 懒加载非首屏组件效果明显。共同进步。
  4. 并发
    并发摆渡人第 5 楼
    我的实践经验和你的不太一样:OG 图片 1200x630 是标准尺寸,用 next/og 动态生成效果最好。如有不对请指正。
  5. 刚刚
    刚刚好第 6 楼
    OG 图片 1200x630 是标准尺寸,用 next/og 动态生成效果最好。
  6. 前端
    前端魔法师第 7 楼
    实操中我发现:robots.txt 控制抓取,noindex 控制索引,两个不要搞混。效果因项目而异,建议实际测试。
  7. 赛博
    赛博修行者第 8 楼
    补充一个可能被忽略的点:Next.js 15 的 viewport 必须单独导出,不放 metadata 里了。
  8. 数据
    数据淘金客第 9 楼
    补充一个边界情况:Next.js 15 的 viewport 必须单独导出,不放 metadata 里了。
  9. 熬夜
    熬夜的猫头鹰第 10 楼
    我做了类似的对比实验:结构化数据用 Rich Results Test 工具测试,Search Console 会报错误。
  10. 大叔
    大叔第 11 楼
    上周刚好踩了这个坑,PageSpeed 从 60 到 95 的关键:next/image + priority + 移除首屏 framer-motion。欢迎大家补充。
  11. 溪畔
    溪畔听雨第 12 楼
    从另一个角度看:robots.txt 控制抓取,noindex 控制索引,两个不要搞混。后续有新发现再来更新。
  12. 搬家
    搬家的蚂蚁第 13 楼
    Next.js 15 的 viewport 必须单独导出,不放 metadata 里了。
  13. 电子
    电子古董第 14 楼
    结构化数据用 Rich Results Test 工具测试,Search Console 会报错误。
  14. 算法
    算法炼丹师第 15 楼
    补充一个可能被忽略的点:robots.txt 控制抓取,noindex 控制索引,两个不要搞混。有疑问可以继续问。
  15. 打工
    打工人之光第 16 楼
    补充一个可能被忽略的点:sitemap.xml 用 ISR 缓存(revalidate: 3600),发布新内容后 revalidatePath 刷新。如果有更好的方案求分享。
  16. 吃瓜
    吃瓜群众第 17 楼
    我的项目里也用了这个方案,Next.js 15 的 viewport 必须单独导出,不放 metadata 里了。期待更多实战经验分享。
  17. 冬炉
    冬炉暖茶第 18 楼
    有个更优的方案:OG 图片 1200x630 是标准尺寸,用 next/og 动态生成效果最好。如果有更好的方案求分享。
  18. 栈溢
    栈溢出幸存者第 19 楼
    从另一个角度看:INP 替代 FID 后更严格了,用 next/dynamic 懒加载非首屏组件效果明显。
  19. 发呆
    发呆的仓鼠第 20 楼
    说说我自己的经历:INP 替代 FID 后更严格了,用 next/dynamic 懒加载非首屏组件效果明显。我也还在探索中。
  20. 听风
    听风者第 21 楼
    讲个真实案例:JSON-LD 用 Article 类型必须包含 author 和 datePublished,否则 Rich Results 不显示。后续有新发现再来更新。
登录后可回复