網站收錄

canonical 标簽寫错之後:收錄會归到哪一版,怎么自查

同一個頁面往往有好几個入口地址,canonical 用来声明希望被当作規范的那一版。本文說明自引用、同站合並、跨域声明三種常见用法,以及指向 301、與 noindex 冲突、分頁全指首頁等容易踩的坑,並给出按顺序自查的步骤,帮你把重复地址收敛到一個版本。

網站收錄

canonical 标簽寫错之後:收錄會归到哪一版,怎么自查

canonical 想解决的是什么問题

同一個内容经常長出好几個 URL:商品頁带篩選參數、文章頁带追踪參數、列表頁有排序參數、舊路径還留着 301。這时頁面可以自己声明一個“規范版本”,也就是 canonical,作用是告诉搜尋引擎:在這一组地址里,我希望你把它当成同一個頁面来處理。

但要说清楚,它只是建议,不是命令。搜尋引擎會综合内鏈、外鏈、sitemap、頁面之間的相似度来判断哪一版更该留下,canonical 只是其中比較重要的一個信号。寫對了能减少干扰,寫错了也可能把本来该獨立的頁面合並掉。

三種常见的 canonical 用法

自引用:自己指向自己

大多數正常頁面都應该這样做。缺少 canonical,或者模板里把 canonical 寫死成首頁地址,是最常见的批量事故。尤其是复用同一套模板、靠變量拼 URL 的站点,上线前最好抽几個頁面看源碼確認。

同站多版本合並

带追踪參數、排序參數、打印版的頁面,可以 canonical 到不带參數的原始地址。前提是两個版本内容确實一样。如果内容有明顯差別,比如篩選後只剩少量商品,硬合並反而會让這些頁面失去被單獨看待的机會。

跨域 canonical

多個域名發布同一篇内容时,可以用 canonical 指向主站。它能表達意图,但跨域的信号强度比同站弱,搜尋引擎仍會參考各站自身的權重、連結和訪問情况,不能指望一句声明就完成合並。

容易寫错的几種情况

  • canonical 指向一個 301 或 404 的地址。最好直接指向最终可訪問的 URL,少一层跳轉。
  • canonical 和 noindex 同时出現。两者目的相反,容易得到模糊结果,通常只保留一個。
  • 形成鏈條或环:A 指向 B,B 指向 C,或者互相指。鏈條越長信号越弱,最好一步到位指向最终版本。
  • 分頁頁全部 canonical 到第一頁。這样第 2 頁之後的頁面基本不會被單獨看待,如果它們有獨立價值,需要重新考虑。
  • canonical 與 sitemap、内鏈给出的首選版本互相矛盾。几路信号打架时,结果往往不稳定。
  • HTML 里寫了一個 canonical,脚本渲染後又改成另一個。搜尋引擎可能只看到其中一個,最好由服務端直接輸出,保持前後一致。

自查时按這個顺序看

  1. 打開頁面源碼,確認 canonical 里的地址能正常訪問,返回 200。
  2. 對比 canonical 地址和實际訪問的 URL,差异是否只在參數、大小寫、末尾斜杠這類形式上。
  3. 检查同一组頁面的内鏈、sitemap、canonical 是否都指向同一個版本。
  4. 抽查几個被合並掉的頁面,確認它們在内容上确實重复,而不是碰巧模板相似。
  5. 改版、換模板或調整參數規則之後,重新检查一遍 canonical 有没有被批量寫错。

放平预期

canonical 寫對之後,收錄和排名不會马上發生變化。它更像是减少干扰的基础工作:把重复地址收敛到一個版本,让後續的抓取和索引有明确的落点。

如果一组頁面長期没有收錄,先排查抓取是否正常、内容本身是否有價值,再回头看 canonical。規范标簽解决的是“哪一版算數”,解决不了“這一版值不值得收錄”。