站点运营

站点运营:robots.txt 自查,別让一條誤屏蔽挡住整站抓取

robots.txt 寫得随意,最容易出的問题不是規則太少,而是一條誤屏蔽長期没人發現。本文按訪問確認、規則核對、Sitemap 声明、測試驗證、變更记錄五步,帮你把這份抓取說明书逐項检查一遍。

站点运营

站点运营:robots.txt 自查,別让一條誤屏蔽挡住整站抓取

robots.txt 是站点给爬虫的第一份說明书,但它只做一件事:告诉爬虫哪些路径不建议抓取。它不能保證頁面被收錄,也挡不住所有訪問者——真正需要保護的目錄,要靠登入驗證、IP 限制或服務器配置。运营中常见的麻烦,往往不是規則寫得太复杂,而是有一條誤寫的 Disallow 長期挂着,把新栏目、改版後的目錄一起挡在门外。

第一步:確認文件能正常打開

先訪問 https://你的域名/robots.txt,確認返回 200,而不是 404、403,也不是被跳到首頁。常见故障包括:文件放错根目錄、被重定向規則拦截、CDN 缓存了舊版本、服務器用 200 狀態碼返回了一個 HTML 错誤頁。如果打開後看到的是完整網頁模板,說明請求根本没命中這個文件,需要先把這一层修好。

  • 返回狀態碼是否為 200
  • 内容類型是否為纯文本
  • 是否被缓存层或安全策略改寫過
  • 带 www 與不带 www 的域名是否各有一份,且内容一致

第二步:逐條核對 Disallow 規則

把現有規則逐行讀一遍,重点看那些早年為了省抓取而加上的屏蔽項。站点改版後目錄结构變了,舊規則的字符串可能正好命中新栏目。例如 Disallow: /news 本意是屏蔽舊的新闻列表,结果把後来新建的 /newsroom 也一起带走了。

注意通配符與结尾符号

  • * 表示任意字符,放在路径中段容易扩大匹配范围
  • $ 表示结尾匹配,适合精确屏蔽某一類後缀地址
  • 路径区分大小寫;User-agent 與 Disallow 之間夹了無關行或空行分组,也可能让規則失效或誤伤

不要顺手屏蔽静態资源

如果規則里出現屏蔽 CSS、JS 或图片目錄的行,渲染頁面时可能拿不到样式與脚本,頁面呈現和评估都會受影响。確認這些资源處于可抓取狀態。

第三步:检查 Sitemap 與抓取频率声明

在文件末尾寫一行 Sitemap: 完整地址,方便爬虫找到索引文件。這里要用绝對地址,並且與站点實际使用的协议、域名保持一致,避免 www 與非 www 混用。Crawl-delay 並非所有爬虫都遵守,如果服務器确實压力大,更稳妥的做法是從服務器层做限流,而不是只依赖這一行。

第四步:改完要驗證

  1. 用搜尋引擎官方提供的 robots.txt 測試工具,检查具体 URL 是否被允许
  2. 挑几條代表性地址分別测:首頁、栏目頁、詳情頁、後台目錄
  3. 观察一段時間内的服務器日誌,看被屏蔽目錄是否還有抓取记錄(生效常有延迟)
  4. 確認搜尋资源平台里的抓取統計没有異常下滑
robots.txt 是建议,不是權限。真正需要保護的頁面,請用登入驗證、IP 限制或服務器配置来處理。

第五步:把變更纳入流程

建议把 robots.txt 当作需要评审的配置文件:修改前备份,寫清改動原因與時間,改完当天在同一环境驗證,並记入站点變更日誌。多人协作时,避免有人在服務器上临时改一行,事後谁也说不清。

最後提醒一点:屏蔽容易,恢复慢。任何一次規則調整,都可能需要一段時間才能重新被抓取,所以宁可先放宽再收紧,也不要一次屏蔽一大片目錄。