rel="prev"/rel="next"必须置于内的标签中,href需为绝对url且返回200状态码,canonical须指向自身,google已不依赖其索引而bing仍要求链路闭合。

rel="prev"/rel="next"只能写在里,不能塞进标签
很多人一看到“上一页/下一页”,就顺手给标签加rel="prev"或rel="next",结果白配——浏览器和搜索引擎完全无视。这两个值是专属于<link>的语义标记,必须出现在中,格式为:
<link rel="prev" href="https://www.php.cn/link/64fbbe8cba26f3d665e8af33ae3ead71"><link rel="next" href="https://example.com/article/chapter-3">
写在<a></a>上不仅无效,还会污染语义;更糟的是,如果同时用了target="_blank"又漏了rel="noopener",反而埋下 XSS 风险。
href必须是绝对URL,且每页状态码得是200
相对路径如href="page2.html"或协议相对路径如href="//example.com/page2",都会被搜索引擎当作无效信号丢弃。必须用带协议的绝对URL,比如https://example.com/guide/ch2。
常见错误包括:
- 指向重定向页(301/302)——搜索引擎不跟随跳转,链路中断
- href写错导致404——整条prev/next链失效
- 动态生成的URL含用户态参数(如
?utm_source=share&sort=date)——应清洗后保留纯净路径
分页页之间canonical必须指向自身,不能全指首页
这是最容易引发重复内容降权的操作。如果所有分页页都设<link rel="canonical" href="https://example.com/reviews">,搜索引擎会认为它们是同一内容的不同副本,只索引第一页。
正确做法是:
-
/reviews?page=1的 canonical 是它自己 -
/reviews?page=2的 canonical 也必须是它自己,不是第一页,也不是聚合页 - 若你有聚合页(如
/reviews/all),想让分页页指向它,那就不该再用rel="prev"/rel="next"——二者逻辑冲突
Google已不依赖它做索引,Bing却要求链路闭合
自2019年起,Google明确表示不再用rel="prev"/rel="next"决定是否合并分页内容或分配权重。它现在只是辅助信号,实际起作用的是页面结构、内部链接锚文本、以及rel="canonical"设置。
但Bing仍部分依赖,且要求严格:
- 第一页不能有
rel="prev",最后一页不能有rel="next" - 中间页必须同时存在两个
<link>,缺一不可 - 整条链不能断(比如page3缺失)、不能循环(page5指向page1)、不能跨区域混用(/us/page2 指向 /ca/page3)
真正容易被忽略的是:你花时间配对了所有<link>,但如果分页本身是JS渲染、导航靠<button></button>触发、或者href是#或javascript:void(0),那这些rel标签从一开始就没机会被爬到。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











