蜘蛛池知识

蜘蛛池入口頁的 robots 與 canonical:哪些寫法會把蜘蛛挡在门外

蜘蛛池入口站能不能被蜘蛛抓取、抓到的頁面算谁的,很大程度上取决于 robots.txt 與 canonical 的寫法。本文按入口站、入口頁、目标頁三個层次,梳理整站 Disallow、noindex 誤用、canonical 指错方向、nofollow 過度使用這几類常见問题,並给出一份上线前的检查清單,方便逐項對照排查。

蜘蛛池知识

蜘蛛池入口頁的 robots 與 canonical:哪些寫法會把蜘蛛挡在门外

在蜘蛛池的實操里,robots.txt 和 canonical 属于平时不顯眼、出問题时又很难定位的那類設定。入口站的頁面能被蜘蛛發現,但蜘蛛抓不抓、抓完把信号算给谁,往往就卡在這两處。下面按入口站、入口頁、目标頁三個层次,把常见寫法和判断依據理一遍。

先分清两件事:能不能抓,和算谁

robots.txt 管的是抓取许可,它决定蜘蛛能不能訪問某個路径;canonical 和 meta robots 管的是頁面被怎么處理,决定抓到的這一頁被当作正式版本還是一次性副本、要不要進索引。這两者互相獨立,一個放行並不代表另一個没問题。不少“蜘蛛来了却没留下痕迹”的情况,最後查出来是入口頁被 noindex,或者 canonical 指到了別處。

入口站 robots.txt 的常见寫法問题

整站 Disallow 是最常见的自伤

有些入口站為了不让別人看到後台或临时目錄,直接寫了 User-agent: * 加 Disallow: /。這條規則對正規蜘蛛来说就是明确的拒绝,後面铺再多入口頁也不會被訪問。更隐蔽的是複製模板时,把測試环境的那份 robots.txt 一起带到了线上。

按路径屏蔽时要留出可抓的口子

  • 只屏蔽後台、站内搜尋參數頁、重复的排序頁,保留正常内容路径可抓;
  • 避免用通配符把带查询參數的正常内容頁一起屏蔽掉;
  • robots.txt 本身要能正常返回,返回異常狀態时不同蜘蛛的處理並不一致;
  • 改完不要指望立刻生效,蜘蛛有自己的重訪节奏。

meta robots 與 X-Robots-Tag:noindex 別用错地方

入口頁的定位是被發現、被訪問、把蜘蛛送出去,所以它需要能被抓取,通常也需要被索引,否則连被發現的机會都會變小。给入口頁加 noindex 是常见的反向操作:蜘蛛抓到了,但頁面進不了索引,長期看入口站自身的可见度會越来越低。

X-Robots-Tag 寫在响應头里,效果和 meta robots 類似,也最容易被忽略。如果服務器或 CDN 的預設配置里带了這條头,頁面源碼看起来完全正常,問题却出在响應头。排查时把响應头完整看一遍,別只盯着 HTML。

入口頁的 canonical 该指向哪

指向目标站

這样做等于告诉搜尋引擎“這一頁的正式版本在別人家”。短期看信号似乎集中到了目标頁,但入口頁自身會被当作副本處理,之後再想靠它铺量就缺少基础。除非你明确只想做一次性的跳板,否則不建议這么寫。

指向自己

入口頁的内容是自己组织的,canonical 指向自身是最常见也最稳妥的做法。注意寫法要和實际解析一致,带不带 www、结尾带不带斜杠,最好统一。

指向另一個入口頁

批量建站时,如果模板里寫死了同一個 canonical,會導致所有入口頁都指向同一頁。结果往往只有一個頁面被当作正式版本,其余頁面的抓取價值被大幅削弱。這類問题在铺量之後才被發現,返工成本很高。

出站連結要不要加 nofollow

從入口頁指向目标頁的連結,加不加 nofollow 需要分開看。nofollow 並不會阻止蜘蛛顺着連結走,它主要影响的是信号传递。如果通往目标頁的連結全部标成 nofollow,等于告诉搜尋引擎這些連結不背书,整條鏈路的引導意义會被削弱。反過来,如果入口頁混着大量無意义的導出連結,该處理的是那些連結,而不是一刀切全部加上。

上线前的检查清單

  1. 訪問入口站根目錄,確認 robots.txt 能正常返回,且規則符合预期;
  2. 抽查入口頁源碼,確認 meta robots 没有 noindex、canonical 指向自身;
  3. 查看完整响應头,確認没有意外的 X-Robots-Tag;
  4. 確認入口頁到目标頁的連結是普通 a 标簽、可直接訪問、不需要登入或驗證;
  5. 结合服務器訪問记錄,確認蜘蛛确實訪問了入口頁,而不是只讀了 robots.txt 就走了。
把 robots 和 canonical 当成一次性配置、上线後不再回看,是這類問题反复出現的根源。入口站一多,模板里的一行错誤就會被複製到所有站点上。

這两項設定本身不复杂,關键是和入口頁的用途保持一致:能被抓、能被索引、归属清楚、連結能被跟進。這四点稳住了,再去讨论更新频率、抓取深度和淘汰替換,才有比較的意义。