入口页的内容、链接数量、更新频率常被反复讨论,但 head 区那几行指令往往没人认真看。canonical 和 noindex 写错时,页面照常可访问、链接照常在,问题却会延迟几周才在日志里显现出来。
一、先分清:canonical 管的是收录选择,不是抓取
canonical 是给搜索引擎的规范化建议,表达“这一组相似页面里,我认为哪个是主版本”。它不阻止抓取,也不切断链接发现,只影响索引时选谁作为代表。入口页常见两种写法:自引用适合希望入口页本身被当作独立页面收录;指向目标 URL 则相当于说入口页代表目标页,入口页自身往往会从索引中消失。
二、canonical 指向目标 URL 的几种后果
- 入口页被合并后长期不出现在结果里,但它上面的链接依然可被发现,前提是页面能被正常抓取。
- 多个入口页都 canonical 到同一个目标 URL,只是减少了重复索引,通常不会因此获得额外权重。
- 若 canonical 指向的 URL 返回 404、被 noindex、或处在重定向链中,搜索引擎会忽略这条建议,但这个判断过程需要时间。
换句话说,canonical 写得再“聪明”,也替代不了目标页面自身的内容质量与站内链接结构。
三、noindex 放在入口页上,链接还会被跟吗
noindex 的作用是“不要把这一页放进索引”,它不等于 nofollow。只要页面可抓取、链接能被解析,搜索蜘蛛仍可能顺着链接发现目标 URL。真正切断发现路径的是 robots.txt 的 Disallow、链接上的 nofollow,以及链接由 JavaScript 生成却未被渲染。
把入口页整体 noindex 而保留链接,理论上可行,但被 noindex 的页面在抓取预算分配上通常不受优待,状态频繁切换也容易让搜索引擎对该站点的指令一致性产生怀疑。
四、X-Robots-Tag 与 meta 冲突时以谁为准
当响应头里的 X-Robots-Tag 与 HTML 里的 meta robots 表达不一致时,搜索引擎通常采用更严格的那一条。meta 写 index,follow、响应头写 noindex,最终多半按 noindex 处理。改完页面内标签后,别忘了检查服务器或 CDN 是否附加了额外头部。
五、上线前的检查顺序
- 确认入口页返回 200,且 head 中没有意外的 noindex。
- 确定 canonical 策略是自引用还是指向目标 URL,并保持全站一致。
- 检查响应头是否残留测试环境的 X-Robots-Tag 或缓存规则。
- 查看渲染后的 HTML,确认目标链接是真实存在的 a 标签。
- 在日志中观察入口页与目标 URL 的抓取时间差,判断链路是否通畅。
六、几个容易踩的坑
- 分页入口页的第二、第三页若可抓取,不要把所有 canonical 都指向第一页。
- 同一页面同时出现 rel=canonical 与 rel=alternate,语义容易冲突。
- 被大量外链指向的页面若加了 noindex,链接价值基本被浪费。
- 站点改版或更换域名时,canonical 的批量替换最容易漏改。
canonical 与 noindex 都是表达意图的工具,不是提升抓取的手段。真正决定 URL 能否被稳定发现的,仍然是入口页的可访问性、链接结构的稳定,以及目标页面本身是否值得被抓取。把这些基础做扎实,比反复调整标签更有意义。