站点运营

站点运营:robots.txt 抓取規則自查,別让一行屏蔽挡住整站蜘蛛

robots.txt 只有几行,却可能影响全站抓取。本文梳理站点运营中常见的抓取規則誤配,包括整站屏蔽未解除、通配符與结尾符用错、屏蔽 CSS 與 JS 资源、屏蔽站点地图目錄等,並說明 robots 屏蔽與 noindex 的区別,给出修改前後的驗證流程與日常维護建议,帮你在改版和上线时少踩坑。

站点运营

站点运营:robots.txt 抓取規則自查,別让一行屏蔽挡住整站蜘蛛

為什么 robots.txt 值得單獨自查

robots.txt 是網站根目錄下的一份纯文本文件,用来告诉蜘蛛哪些路径可以抓、哪些不建议抓。它的特点是:寫起来只要几行,一旦寫错,影响范围却是全站。最常见的事故不是規則太少,而是上线新站或改版时把測試用的 Disallow: / 带到了正式环境,全站路径被整体屏蔽,而頁面本身仍然正常返回 200,從外部看几乎察觉不到。

另外要明确一点:robots.txt 只是协议层面的约定,它挡不住不遵守規則的采集程序,也不能替代登入、權限校驗或 IP 限制。把後台、备份文件、測試目錄的保護完全交给 robots.txt,本身就是一種誤用。

高频誤配與自查点

  • 整站屏蔽未解除:搜一遍文件里是否存在 Disallow: / 這類整站級規則,確認是有意為之還是測試残留。
  • 通配符與结尾符用错:星号匹配任意字符,美元符号表示结尾。Disallow: /*.pdfDisallow: /*.pdf$ 覆盖范围並不相同,寫之前先想清楚要拦的是整個目錄還是某類文件。
  • 把样式和脚本一起屏蔽:屏蔽 /css/、/js/、/assets/ 會让蜘蛛拿不到渲染所需资源,懒加载内容、移動端适配可能無法正常呈現。
  • 屏蔽了站点地图所在目錄:sitemap 文件如果落在被屏蔽的路径下,後續讀取和排查都會變得別扭。建议放在根目錄或獨立目錄並保持可訪問。
  • User-agent 分组寫乱:一條 User-agent 後面可以跟多條規則,換组时容易漏寫新的 User-agent,導致規則挂到上一组。每组之間留一個空行,會清晰很多。
  • 規則互相矛盾:同一路径既有 Allow 又有 Disallow,主流蜘蛛一般按最長匹配優先,長度相同时 Allow 優先。但這種寫法在後續维護中很容易被改错,能合並就合並。
  • 依赖 crawl-delay 控速:多數主流搜尋蜘蛛並不支持或已忽略该指令,真正有效的限速手段是控制頁面响應速度、减少重复入口,並使用站長平台里的抓取频率設定。

屏蔽與 noindex 不是一回事

被 robots.txt 屏蔽的 URL,蜘蛛通常不會抓取頁面内容,因此也看不到頁面上的 noindex 标记。结果可能是:URL 因為外鏈等原因仍出現在索引里,只是没有摘要。如果目标是让頁面彻底登出索引,正确顺序是先允许抓取、再靠 noindex 或 404/410 處理,而不是直接屏蔽。

自查时問自己一句:這條規則是“不想让它抓”,還是“不想让它出現”?两者的手段並不相同。

修改前後怎么做

  1. 改之前先备份目前文件,记下修改時間與修改人,方便回滚。
  2. 確認根域名、www 與非 www、http 與 https 各自的 robots.txt 是否都存在,避免只改了一個版本。
  3. 用搜尋引擎站長平台提供的 robots 測試工具驗證具体 URL 的匹配结果,不要只看文件本身。
  4. 上线後连續几天查看抓取日誌,观察被屏蔽路径的請求是否明顯下降,重点栏目的抓取量有没有異常波動。
  5. 把 robots.txt 纳入改版與上线清單,和 301 跳轉、站点地图、死鏈检查放在一起過一遍。

日常维護建议

robots.txt 不需要频繁改動,但需要定期看一眼。建议每季度或每次大改版後检查:文件是否可訪問、狀態碼是否為 200、有没有測試残留規則、是否還引用着已经下线的目錄。顺手把注释寫清楚,注明每條規則的用途和添加日期,交接时會省下很多沟通成本。

最後提醒一句:robots.txt 只是抓取环节中的一环,它不决定頁面能否被收錄,也不影响排名。把網站结构、内容质量、訪問速度和内鏈這些基础工作做好,抓取規則的作用只是別添乱。