蜘蛛池知识

蜘蛛池入口頁的 robots 與 meta 指令:哪些設定會把蜘蛛劝退

蜘蛛池入口頁的 robots.txt、meta robots、canonical 等指令,多半是從模板里複製過来的,一處寫错就可能把蜘蛛挡在门外。本文梳理入口頁该不该被索引、robots 常见寫法错誤、noindex 與 nofollow 的搭配關系,以及 canonical 指向目标頁带来的隐患,並给出上线前的检查清單。

蜘蛛池知识

蜘蛛池入口頁的 robots 與 meta 指令:哪些設定會把蜘蛛劝退

蜘蛛池的入口頁做得再快、數量再多,只要一行配置寫错,蜘蛛可能连门都不進。robots.txt、meta robots、X-Robots-Tag、nofollow、canonical 這几類指令,通常是從模板里複製過来的,一旦带上了“禁止”的意思,後面所有铺量工作都會被抵消。這里把常见的配置坑和相對稳妥的做法梳理一遍。

一、先想清楚:入口頁到底要不要被索引

這是所有指令設定的起点。入口頁的作用是让蜘蛛發現連結、顺着爬向中間頁和目标頁,它本身是否被收錄,不同做法有不同取舍。

  • 允许索引:入口頁可以积累一点点頁面质量,蜘蛛下次更愿意来,代價是消耗一部分抓取和索引资源。
  • 禁止索引:用 noindex 让入口頁不進索引,理论上把资源留给目标頁,但要注意 noindex 的頁面依然可能被抓取,頁面上的連結通常也仍會被跟随。

最常见的問题是两者混着用:模板里寫着 noindex,連結上又挂着 nofollow,最後既没索引也没传递,蜘蛛来一趟什么也没带走。

二、robots.txt 最容易犯的三個错

蜘蛛池往往有成百上千個域名,每個域名根目錄下的 robots.txt 都是獨立生效的。批量部署时,容易出問题的地方有這几處。

  1. 整站 Disallow。測試环境用的 Disallow: / 被一起同步到线上,蜘蛛看到就直接放弃整個域名。
  2. 把生成器、後台、模板目錄暴露出来。這些路径没必要给蜘蛛看,屏蔽掉可以省下抓取预算。
  3. 寫法不嚴谨。路径大小寫、通配符、结尾斜杠處理不当,規則可能匹配到不该匹配的目錄。

建议上线前用搜尋引擎官方提供的 robots 測試工具跑一遍,確認“允许”和“禁止”的结果符合预期,而不是凭感觉判断。

三、meta robots 與 X-Robots-Tag

meta robots 寫在頁面 head 里,X-Robots-Tag 寫在 HTTP 响應头里,效果類似,後者更适合對非 HTML 文件(比如 PDF、图片)统一控制。

noindex 和 nofollow 別一起用

如果决定入口頁不進索引,加 noindex 就够了,連結上不要顺手加 nofollow。noindex 管的是“這個頁面別收錄”,nofollow 管的是“別跟着這些連結走”,两者叠加等于把入口頁的價值全部清零。

注意缓存和 CDN 改寫的响應头

X-Robots-Tag 如果被 CDN 或反向代理统一加上,可能连目标頁也一起中招。排查时不要只看源站,也要看實际返回给蜘蛛的响應头。

四、canonical 用错會自伤

入口頁之間高度相似时,有人會用 canonical 指向目标頁,试图“合並權重”。但 canonical 的语义是“目前頁面是另一頁的副本”,一旦指出去,搜尋引擎很可能就不再單獨索引入口頁,入口頁自身积累的信号也被轉移或忽略。

更稳妥的思路是让入口頁保持自指 canonical,通過内容差异和連結结构来控制相似度,而不是用 canonical 一刀切。

五、常见誤区與上线检查清單

  • 把測試环境的屏蔽規則带到了正式域名。
  • 入口頁同时 noindex 加 nofollow,什么都没传出去。
  • canonical 指向目标頁,導致入口頁不被單獨處理。
  • 只在源站检查指令,忽略了 CDN 或 WAF 改寫的响應头。
  • 全站連結统一加 nofollow,蜘蛛照爬但價值不再传递。

上线前可以固定跑一遍這几項:

  1. 訪問 域名/robots.txt,確認没有整站屏蔽。
  2. 查看頁面的 meta 與响應头,確認 noindex、nofollow 是否符合预期。
  3. 確認 canonical 的指向,入口頁優先自指。
  4. 抽查几個連結,看蜘蛛是否能顺着走到中間頁。
指令配置的目标不是“看起来規范”,而是让蜘蛛能進来、能顺着走、不被無谓地拦住。配置對了只是不拖後腿,最终效果還要看抓取、解析和頁面质量這一整條鏈路。