robots.txt 写错一行,整站可能掉出索引:5 种高频错误写法

robots.txt 写错一行,整站可能掉出索引:5 种高频错误写法

有个很典型的场景:技术同事为了让测试环境不被收录,在 robots.txt 里加了一行 Disallow: /,改完忘了删,跟着代码一起上了生产。第二天站长后台的索引量开始掉,第三天搜索品牌词连首页都找不到了。整个排查过程花了六个小时,问题就在那一行。

robots.txt 只有几十行,但写错的代价是全站级别的。下面这五种写法,是我们在帮人排查收录问题时见得最多的。

一、Disallow: / 与误伤式全站屏蔽

这是最狠的一种。Disallow: / 的意思是”整个站都别抓”,蜘蛛来了看到这一行会直接走人,已经收录的页面会陆续从索引里消失。它经常以三种形式出现:测试配置带到生产、模板里写死了判断条件没生效、复制别人的 robots.txt 时连注释一起抄了。

自查方法很简单:浏览器直接访问 域名/robots.txt,第一眼先看有没有单独一行的 Disallow: /。有就立刻删掉,然后到站长平台重新提交,等待重新抓取。

二、通配符和结尾符号的误解

谷歌支持 * 和 $,百度对这两个符号的支持是有限的,写得太花会有一半规则不生效。常见的错误写法:

  1. Disallow: /*.php$ —— 本意是拦所有 php 页面,实际可能把整站带参数的 URL 一起拦了。
  2. Disallow: /search* —— 想拦搜索结果页,结果把 /search-engine-tips/ 这种正常文章也拦了。
  3. Disallow: /*? —— 拦所有带问号的地址,站内正常的筛选页、分页全没了。

规则越”聪明”,误伤范围越大。不确定的时候宁可少写,用 noindex 标签处理具体页面,比在 robots 里做精细控制安全得多。

三、路径写错的三种形态

写法 实际效果 正确做法
Disallow: admin 匹配任何包含 admin 的路径 Disallow: /admin/
Disallow: /Admin/ 大小写敏感时匹配不到 /admin/ 小写,并确认服务器规则
Disallow: http://站点/admin 整行无效,robots 里只写路径 Disallow: /admin/

robots.txt 里不能写完整 URL,只能写以斜杠开头的路径。这一条每年都能见到好几次,写完自己看着没问题,实际整行被忽略。

四、顺手把 CSS、JS 目录拦了

早期为了省流量,很多人会写 Disallow: /css/、Disallow: /js/。现在搜索引擎要靠渲染页面来判断内容质量,把样式和脚本拦掉,蜘蛛看到的是一个没有排版的空壳,对页面评估是负面的。图片目录同理,尤其是靠图片流量的站。

真要控抓取预算,正确做法是在蜘蛛日志里看哪些目录被爬得最多,再用参数过滤规则限制无效翻页,而不是一刀切。

五、改完之后的自查顺序

  1. 浏览器打开 robots.txt,确认返回 200 且内容是新版本(不是 CDN 缓存的旧文件)。
  2. 用蜘蛛 UA 访问首页和一个内页,看是否被防火墙或人机验证挡住。用蜘蛛 IP 判断的方法核对日志里的真实来访。
  3. 到站长平台用 robots 测试工具跑一遍目标 URL,看判定结果是”允许”还是”被拦截”。
  4. 重新提交 sitemap,观察 3–7 天的抓取频次是否恢复。
  5. 如果索引量已经掉了一周以上,按收录排查的六步顺序往下查,别只盯 robots。

最后提醒一句:robots.txt 是”建议”,不是”禁止访问”。真正需要保护的目录靠权限,robots 只负责告诉蜘蛛哪些不用来。想批量核对全站哪些页面还能正常访问、哪些已经被拦,用站内的批量检测工具跑一遍清单最省事。原创软件一口价 200 元,微信/QQ:13327215。

相关推荐

关键词网址采集器:始于2007年的原创采集软件,支持百度、搜狗、360、神马、谷歌、必应。微信/QQ:13327215,飞机:gjcwzcjq

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注