这两个东西经常被当成一个东西用。实际上它们解决的是不同问题,用错了不但无效,还会制造新问题。
简单说:301是搬家,canonical是声明。搬家之后旧地址不存在了,声明只是告诉搜索引擎「以这个为准」,旧地址还能访问。
页面永久不存在了,或者内容整体迁移到新地址,用301。比如改版换了URL结构、合并两个重复页面、域名迁移。
301会把权重和流量一起带过去,这是它的价值。但它有代价:旧URL彻底失效,用户的书签和外链都会跳转。不可逆,所以要确认是真的不需要旧地址了。
同一份内容有多个可访问的URL,但你希望保留这些URL。典型场景是带参数的URL、打印版页面、商品筛选产生的组合页。
比如 /product?id=123 和 /product/123 都能访问同一件商品,用canonical指向其中一个,比301更合适,因为带参数的URL可能还有别的用途,比如广告跟踪。
这种错误我见过不止一次。A页面的canonical指向B,B又301到C。搜索引擎爬到A,读到canonical去B,B又跳C,最后到底以谁为准,谁也说不清。
规则很简单:canonical指向的必须是一个可直接访问、返回200的最终地址。链式跳转要清理干净。
列表页第二页、第三页,很多人用canonical指回第一页。这个做法有争议,我的建议是不要。
分页的每一页内容不同,用户也需要访问,canonical指回第一页等于告诉搜索引擎后面几页不用收录,那些页面上的产品就失去了被发现的机会。更好的做法是让每页自指canonical,加上清晰的分页导航。
这一点经常被误解。canonical是建议,搜索引擎可以忽略。如果站内信号矛盾,比如canonical说以A为准,但内链全指向B,搜索引擎很可能按内链来判断。
所以用canonical的时候,要保证信号一致:内链、站点地图、canonical指向同一个地址。三处不一致,等于白设。
我的判断顺序是:内容是否还需要保留?不需要,301。需要,看是否有多个URL指向同一内容?有,canonical。只有一个URL但内容重复于别的页面?那要考虑合并,而不是加标签。
把这个顺序记住,大部分场景不会选错。先想清楚要什么结果,再选工具,别反过来。
301配错是常见事故,尤其是批量规则写错的时候。上线前一定要抽样测二十条,覆盖各种参数组合。
真出问题了,先把错误规则撤掉,恢复原状,再重新设计。不要在线上一边改一边试,搜索引擎会记住这些反复的信号。
来源:闫宝龙,GEO优化专家、企业AI搜索增长顾问,专注帮助企业通过GEO优化和AI搜索优化获得精准客户。主营服务:GEO优化|AI搜索优化|SEO增长|企业官网优化|AI内容营销|海外数字营销