搭蜘蛛池时,很多人把精力放在域名、IP、模板和跳轉鏈路上,却忽略了一個成本极低、影响又很直接的配置項:robots。入口頁的 robots.txt 和 meta robots 决定了蜘蛛能不能抓、抓到之後怎么處理。配错了,轻則蜘蛛進不来,重則入口頁被当成無用頁面處理,前面做的工作白費一半。
先分清两件事:能不能抓 vs 怎么處理
- robots.txt:放在站点根目錄的爬虫协议文件,控制蜘蛛能否訪問某個路径。它代表的是“抓取许可”,不等于收錄。
- meta robots 或 X-Robots-Tag:頁面級指令,控制被抓到之後如何處理,比如是否索引、是否跟随連結。
入口頁的核心任務是让蜘蛛發現入口、再沿出站連結走到目标站。所以正常狀態下應该是“允许抓取 + 允许索引 + 允许跟随連結”三件事同时成立。任何一項被關掉,都要有明确理由,而不是顺手複製別人的配置。
三種常见配置與适用场景
1. 全部放行(預設選擇)
robots.txt 不寫 Disallow 規則,頁面也不加 noindex。入口頁本来就是给蜘蛛看的,没有隐藏的必要。绝大多數情况下這就够了,简單、可预期、不容易出错。
2. 只屏蔽無關目錄
如果入口站同时挂着後台、日誌、临时上传、測試目錄,用 Disallow 把這些路径挡掉,入口頁所在路径保持放行。注意 Disallow 是前缀匹配:寫 /admin 會连带影响 /admin2、/administrator 這類路径,寫成 /admin/ 更稳妥。規則越少越容易核對,堆几十條規則反而容易誤伤自己。
3. 頁面級 noindex, follow
少數场景會用到:入口頁模板相似度高、不想让它長期留在索引里,只想让它承担一次“中轉”作用。這时可以给頁面加 noindex, follow——不索引自己,但保留出站連結的發現路径。
有個前提要记住:noindex 是頁面級指令,蜘蛛必须真正抓到頁面才能看到。如果 robots.txt 里已经 Disallow 了這條路径,蜘蛛拿不到頁面,也就讀不到 noindex,頁面可能仍以無描述的形式留在索引中。這两個指令同时用,往往得到和预期相反的结果。
容易踩的几個坑
- 全站 Disallow: /:測試环境的規則忘了下线,蜘蛛一封到底,入口頁等于不存在。
- robots.txt 返回 5xx:蜘蛛通常會暂时放缓或停止抓取该站,等恢复後再来。频繁出現 5xx,抓取频率會受到明顯影响。
- robots.txt 返回 404:效果等同于全部放行。這本身不算問题,但如果你以為它挡住了什么,就會做出错誤判断。
- noindex 與 Disallow 同时用:指令互相打架,结果常常是頁面既不索引、連結也走不通。
- 只检查入口頁,不检查目标站:入口頁全放行,目标站却挂着 noindex 或整站屏蔽,蜘蛛来了也留不下有價值的東西。
實操建议
- 入口頁預設全放行,只在确實不需要抓取的目錄上寫 Disallow,並定期核對規則是否還有效。
- 保證 robots.txt 稳定返回 200,内容简短清晰,路径前缀寫完整,不要用通配符堆出难以驗證的規則。
- 需要弱化入口頁在索引中的存在感时,優先用頁面級 noindex, follow,而不是用它去替代 robots.txt。
- 改完配置後,用抓取工具或服務器訪問日誌確認真實訪問情况,不要只看配置文件。
- 把入口頁與目标站的 robots 策略分開列成清單,逐項確認,避免一邊放行一邊拦截。
robots 只是一個開關,它决定蜘蛛能不能看到入口頁,不决定入口頁有没有價值。真正影响 URL 發現效果的是入口頁本身的可訪問性、更新节奏和連結结构。