很多站点在排查重复内容时,會把 canonical 标簽当成一個開關:只要頁面上寫了指向,就預設問题解决了。實际核對中更常见的失效原因,不是标簽寫错,而是标簽指向的那個地址本身狀態不對。所以收錄核對里有一件事值得單獨做一遍——顺着 canonical 指针走到目标地址,看它能不能承担“正本”這個角色。
canonical 是指针,不是结论
canonical 表達的是“這几份内容里,我認為哪一份是主版本”。它是给搜尋引擎的提示,不是强制指令,最终是否合並、合並到哪一份,仍由對方判断。既然如此,指针指向的地址如果自己都進不了索引,這次合並就等于把副本往一個空容器里送。
核對顺序建议是:先確認目标地址可訪問、可抓取、可索引,再看来源頁标簽寫得對不對。顺序反了,就容易出現“标簽全站都規范,收錄却不動”的情况。
顺着指针走一遍:六個检查点
- 狀態碼:目标地址返回 200 才算合格。301、302 會绕一圈,404、410 直接判死,5xx 属于临时不可信。
- 可抓取性:robots.txt 有没有拦住目标路径,頁面 meta robots 有没有寫 noindex,响應头里的 X-Robots-Tag 也要看一眼。
- 是否二次跳轉:目标頁自己又寫了一個 canonical 指向第三個地址,就形成鏈式指向;如果绕回原頁,就是环。两種情况都要收敛成指向唯一终点的直连寫法。
- 是否被争抢:多個主题不同的頁面都把 canonical 指向同一個地址,属于過度合並。目标頁和来源頁内容差得太遠时,這個指向基本無效,還可能让整批頁面都失去獨立入選的机會。
- 寫法是否归一:http 與 https、带 www 與不带、结尾斜杠、大小寫、跟踪參數,只要标簽里的地址和實际可訪問版本不是同一個字符串,就要统一。
- 目标頁自身质量:目标頁是不是空壳,是不是只有列表没有正文,是不是被模板挤到只剩几行字。指针指向一個内容單薄的頁面,合並後也撑不起一個好结果。
三類高频错法
指向一個已经消失的地址
改版、下线栏目、合並頁面时常见的遗留問题。来源頁還在,标簽還指着老地址,老地址已经 404。這種狀態下来源頁等于没有有效正本,核對时要優先處理。
指向一個被禁止索引的地址
目标頁某次調整时加了 noindex,来源頁的 canonical 没跟着改。结果是两邊都進不去,原本想保的那一份也被一起放弃。
环形與鏈式
A 指 B、B 指 C、C 又指回 A。這種情况系統通常直接忽略全部指向,按各自内容獨立判断,重复問题原样保留。
核對时怎么记
建议按来源頁分组记錄,每條至少保留四個字段:来源 URL、canonical 寫的目标、目标的實际狀態(狀態碼加是否可索引)、最终應该保留哪一份。只记一句“已加 canonical”没有意义,過两周再看還是不知道当时判断的是什么。
canonical 只解决“我想让谁当代表”的問题,不解决“代表頁自己够不够格”的問题。前者是标簽,後者是頁面本身。
改完之後再做什么
指针修正属于结构性調整,不會立刻反映在索引里。可以先把改動過的 URL 集中列出来,观察後續抓取是否正常、目标頁是否稳定留在索引中。如果一段時間後来源頁仍然出現在索引里,再回头检查是不是還有別的入口(内鏈、sitemap、外鏈、歷史提交)在持續把舊地址送出去。
顺序上,先把 canonical 指向修對,再去谈 sitemap 提交和抓取引導,比反過来省事得多。