在蜘蛛池里,入口頁承担的是“让蜘蛛找到並顺着連結繼續走”的任務。很多人在配置 robots 时容易走两個极端:要么完全不设,要么直接把整站 Disallow 掉。前者可能让不希望被展示的頁面進入索引,後者則可能让蜘蛛连入口頁都不再訪問。要理清這個問题,先要区分“抓取”和“索引”是两件事。
一、robots.txt:控制抓取,不等于控制收錄
robots.txt 是放在站点根目錄的纯文本文件,用来告诉蜘蛛哪些路径可以抓、哪些不建议抓。它只影响抓取行為,不保證頁面一定不出現搜尋结果里。如果某個 URL 已经被其他站点引用,即使 robots.txt 里 Disallow,它仍可能以“僅連結”的形式出現在结果中。
對蜘蛛池入口頁来说,通常不建议在 robots.txt 里大面积 Disallow。入口頁本身需要被蜘蛛訪問,目标頁也需要通過入口頁上的連結被發現。比較稳妥的做法是只屏蔽明顯不需要抓取的路径,比如後台、临时文件、參數重复的篩選頁,而不是把入口頁目錄整体關掉。
Robots.txt 是公開可讀的,不要把不希望別人看到的信息寫進注释里。
二、meta robots 與 X-Robots-Tag:頁面級的精细控制
如果只想對某個頁面單獨設定,可以用 HTML 里的 meta robots,或者通過 HTTP 响應头里的 X-Robots-Tag。两者常用指令差不多:
- noindex:允许抓取,但不希望该頁出現在索引中。
- nofollow:不跟踪頁面上的連結。對蜘蛛池入口頁要谨慎,因為這會切断通往目标頁的路径。
- noarchive:不提供網頁快照。
- nosnippet:不展示摘要。
X-Robots-Tag 的優势是可以针對非 HTML 文件(比如 PDF、图片)設定,也可以在服務器或 CDN 层面统一加,不需要改頁面模板。缺点是如果配置寫错,比如把 noindex 寫成 noindexx,蜘蛛會忽略,你以為屏蔽了其實没有。
三、入口頁的常见组合怎么選
入口頁的诉求不同,组合也不同:
- 希望入口頁被索引、並传递連結權重:不加 noindex,也不加 nofollow,保持預設。
- 不希望入口頁出現在搜尋结果,但希望蜘蛛繼續跟踪目标頁:用 noindex, follow。注意 noindex 需要頁面被蜘蛛抓取後才能看到,所以不要同时用 robots.txt 屏蔽该頁抓取,否則 noindex 永遠不會生效。
- 入口頁只是临时跳轉或測試頁:可以考虑 noindex, nofollow,但要接受蜘蛛可能不再深入。
- 整站不想被抓:robots.txt 寫 Disallow: /,但這通常不是蜘蛛池入口頁想要的狀態。
四、容易踩的几個坑
- 用 robots.txt 屏蔽後再加 noindex:蜘蛛抓不到頁面,就看不到 noindex,頁面仍可能被索引。
- 入口頁用了 nofollow:蜘蛛可能不再顺着入口頁連結走,目标頁的發現路径變窄。
- X-Robots-Tag 多個值冲突:比如同时寫 index 和 noindex,蜘蛛通常會取更嚴格的那個,但不同引擎處理可能有差异,最好只保留一個明确值。
- 忽略大小寫和拼寫:指令值一般不区分大小寫,但拼错就等于没寫。
五、怎么確認指令真的生效
改完 robots 配置後,不要只看文件本身。可以用抓取工具查看响應头,確認 X-Robots-Tag 是否正确返回;再观察服務器日誌里蜘蛛是否仍在訪問入口頁。如果發現蜘蛛来訪次數明顯下降,要回头检查是不是 robots.txt 或响應头誤伤了入口頁。必要时先在一個子目錄或少量域名上測試,確認路径通畅再批量應用。
總的来说,蜘蛛池入口頁的 robots 配置原則是:让蜘蛛能抓到入口頁,让連結能繼續往下走,只在确實不想展示的頁面上做限制。把抓取控制和索引控制分開理解,比直接照搬某個模板更可靠。