网站收录

canonical 指向了别的页面:收录归并前要确认的几件事

canonical 不是收录开关,而是把内容相同或相近的 URL 归并到一个主版本的信号。本文区分自引用和跨页指向的差别,列出常见的错误写法,并给出上线前后的检查顺序,避免主版本没被收录、被指向的页面反而从索引里淡出。

网站收录

canonical 指向了别的页面:收录归并前要确认的几件事

canonical 这个标签经常被当成让页面被收录的工具,但它实际做的事情只有一件:在一组内容相同或高度相似的 URL 里,指明哪一个才是主版本。搜索引擎会把索引和排名信号尽量集中到这个地址上。它不承诺收录,也不负责提升页面本身的质量。

归并信号,不是收录开关

一个页面能不能进索引,取决于内容质量、能否被抓取、是否被规则挡住等一串条件。canonical 只在这些 URL 已经进入候选范围之后才起作用,作用是帮搜索引擎少做一次选择。

如果主版本自己没被抓取、被 robots.txt 挡住,或者内容过于单薄,那么 canonical 写得再规范也没有意义。反过来,把 canonical 指向一个不该当主版本的地址,可能让原本有排名的页面被合并掉,流量跟着一起走。

判断一条 canonical 是否合理,先问一句:这些 URL 对用户来说是不是同一个页面。

常见写错的几种情况

  • 自引用写成了别的地址:页面本该指向自己,却在套模板时指向了栏目页或首页,等于告诉搜索引擎我不是主版本。
  • 跨页错误指向:详情页的 canonical 指向列表页,在带参数或分页的页面没有单独处理时尤其容易发生。
  • A 指 B、B 又指 A:互相指向形成循环,搜索引擎无法判断谁是主版本,只能自己挑一个。
  • 指向 404 或重定向地址:主版本不存在或者会跳走,归并信号等于落空。
  • 多语言、多分站混用:不同语言的版本互相 canonical,可能导致某个语言版本无法单独出现在索引里。

自引用 canonical 的价值

给每个正常页面加一条指向自己的 canonical,看上去多余,但能减少动态参数、大小写、结尾斜杠等变体带来的干扰。在参数多、同一内容能通过多个地址访问的站点上,自引用是比较稳妥的默认做法。

前提是这个页面本身希望被收录。如果某个页面只是筛选条件的组合结果,不希望它单独出现在索引里,更合适的做法通常是 noindex 或 robots 规则,而不是把 canonical 指向别的页面。

上线前后的检查顺序

  1. 确认主版本 URL 自己能返回 200,且没有被 robots.txt 或 noindex 挡在外面。
  2. 列出所有指向同一内容的 URL 变体,看它们的 canonical 是否统一指向同一个主版本。
  3. 检查是否存在互相指向和链式指向,例如 A 指 B、B 指 C,尽量收成一层。
  4. 用抓取工具查看渲染后的 HTML,确认 canonical 不是靠脚本后插入才出现。
  5. 观察一段时间内索引里留下的是哪个地址,如果和预期不一致,再回头调整。

归并之后要留意什么

canonical 生效后,被归并的 URL 可能逐渐从索引里淡出,这属于正常现象。真正需要盯的是主版本是否稳定被抓取、排名有没有明显下滑。如果主版本自己的收录就不稳,先去解决它的可抓取性和内容问题,再谈归并。

还要记住,canonical 是建议而不是强制指令,搜索引擎可能因为其他信号选择忽略它。把它当成整理 URL 的工具,而不是决定收录的手段,很多判断会清楚得多。