站点运营

站点运营:robots.txt 與 meta robots 自查,別让一行規則挡住整站抓取

robots.txt 管抓取,meta robots 管索引,寫错一行就可能挡住整站或让頁面迟迟進不了索引。本文按文件本身、規則寫法、頁面級标记、静態资源屏蔽和线上驗證几個方面列出可對照的自查項,帮你把誤屏蔽和自相矛盾的設定找出来。

站点运营

站点运营:robots.txt 與 meta robots 自查,別让一行規則挡住整站抓取

先分清两道闸门各管什么

robots.txt 管的是抓取:蜘蛛来到站点,先讀這個文件,看哪些目錄可以進、哪些不要進。meta robots(以及响應头里的 X-Robots-Tag)管的是索引:頁面已经被抓到了,再看要不要把它放進索引、要不要跟随頁面上的連結。两者寫反了,就會出現“抓得到但不收錄”,或者“想屏蔽却只挡住了抓取、地址照样能被索引”這類別扭狀態。

屏蔽抓取不等于屏蔽索引。用 robots.txt 挡住一個頁面,如果別處有連結指向它,搜尋引擎仍可能只凭連結把它列進结果,只是没有摘要。真想让它彻底消失,要用 noindex,而且必须是能被抓到的 noindex。

robots.txt 文件本身的自查

  • 地址是否能正常訪問,返回狀態碼與内容類型是否正确;返回 404 意味着“没有規則”,返回 5xx 时蜘蛛會保守處理,而返回一個 HTML 頁面則是常见事故。
  • 只放在域名根目錄,子目錄里的 robots.txt 不會被讀取。
  • 路径匹配区分大小寫,/Images/ 和 /images/ 是两條不同的規則。
  • 是否被 CDN 或缓存策略缓存了舊版本,改完規則後確認线上返回的就是最新内容。
  • 測試环境、预發布域名的規則是否在上线时被一起带到了正式站。
  • Sitemap 声明是否指向正确的 https 地址,且该文件本身可訪問。

規則寫法的常见坑

  • Disallow: / 一行挡住整站,多出現在临时维護或迁移期間,上线後忘了删。
  • 通配符 * 和结尾的 $ 用得太宽,比如 Disallow: /*? 會把所有带參數的地址一起挡住,包括本應保留的正常頁面。
  • Allow 與 Disallow 冲突时,通常以更具体的規則為准,靠猜不如直接测。
  • 按 UA 分组时,组與组之間要空行分隔,否則規則會被並到上一個组里。
  • 規則里出現中文、空格或全角符号,容易被解析成無效行。
  • 只寫了 User-agent: *,却忘了單獨放行 CSS、JS 等渲染所需资源。

頁面級标记與响應头

meta robots 寫在 head 里,属于頁面自身声明;X-Robots-Tag 放在 HTTP 响應头里,也能作用于非 HTML 文件。两者都支持 noindex、nofollow、noarchive 等指令,多個值用英文逗号分隔。自查时重点看這几種情况:

  • 同一頁面既寫了 noindex,又寫了 canonical 指向別處,方向上不算矛盾,但要確認這确實是你想要的结果。
  • 分頁頁、篩選頁、打印頁被批量加上了 noindex,後来想收錄时没人记得。
  • 從模板繼承下来的 noindex 没有随栏目上线一起去掉,導致整個栏目長期停在“已發現未编入索引”。
  • 响應头里的 X-Robots-Tag 寫在服務器或 CDN 配置中,只改頁面的 meta 並不會生效。
  • nofollow 加在了正文連結上,站内連結關系被顺手切掉。

顺手检查静態资源是否被挡

蜘蛛渲染頁面时需要讀取 CSS 和 JS,如果 robots.txt 把 /assets/、/static/、/js/ 這類目錄整体挡住,頁面在渲染视角里可能是残缺的,内容判断也容易出偏差。图片目錄被挡通常影响有限,但仍會波及图片搜尋,取舍要想清楚。

线上驗證的可行做法

  1. 直接訪問站点根目錄下的 robots.txt,看返回狀態、内容和编碼。
  2. 用站長平台的 robots.txt 測試工具,輸入具体 URL,看是被允许還是被拦截。
  3. 用網址检查或抓取測試功能抓一個代表性頁面,看渲染後的 HTML 和抓取狀態。
  4. 再抓一個本應被屏蔽的頁面,確認它真的被挡住,別只相信自己寫對了。
  5. 改動規則後隔几天回看抓取統計和索引狀態,確認變化符合预期。

可以照着走的自查顺序

  1. 先看文件能不能正常打開、内容是不是最新的。
  2. 再逐條讀規則,标出通配符和目錄級屏蔽。
  3. 然後抽查頁面級 meta 與响應头,重点看栏目首頁和模板頁。
  4. 最後做一次實际抓取驗證,把结论和日期记進變更记錄。
規則類設定最容易“寫完就忘”。把 robots.txt、meta robots、X-Robots-Tag 三份配置放在同一張表里维護,标注每條的用途和添加時間,改動时一起過一遍,比出問题後再回头翻配置省事得多。