你有没有遇到过这种情况:网站上线很久,首页偶尔有访问,但内页一直不被收录。技术人员查了一圈,发现 robots.txt 文件里写着一行 Disallow: / —— 意思是“所有页面都不允许抓取”。而写这行的人可能只是想屏蔽某个临时目录,却不小心把整个网站关在了搜索引擎门外。
robots.txt 是一个功能强大但容易被误用的文件。写对了,可以帮助搜索引擎更高效地抓取;写错了,轻则导致重要页面不被收录,重则整个网站从搜索结果中消失。
以下从实际案例出发,说明 robots.txt 的正确写法、常见错误,以及如何检查你网站当前的 robots.txt 是否正常。
robots.txt 的全称是“机器人排除协议”,它给搜索引擎爬虫提出建议:哪些页面可以访问,哪些不要访问。但需要明确两点:
它是一个公开文件:任何人都可以访问 https://你的域名/robots.txt 查看你的规则。
它并非强制:遵守 robots.txt 是搜索引擎的自律行为。正规搜索引擎(百度、谷歌、必应等)都会遵守,但恶意爬虫或垃圾邮件机器人不会理会。
robots.txt 主要用于:
屏蔽搜索引擎抓取无意义的页面(如后台登录页、打印版本、预览版本)
避免抓取重复内容(如排序参数、筛选条件生成的相似URL)
节省服务器资源,引导爬虫优先抓取重要页面
它不应该用于:隐藏敏感信息(如后台地址)、替代密码保护、阻止所有搜索引擎(除非网站正在开发中且未上线)。
这是最严重也是最常见的错误。完整规则如下:
User-agent: *
Disallow: /
含义:所有搜索引擎,不允许抓取任何页面。
后果:整个网站将从搜索结果中逐步消失。首页可能在几周后也不见踪影。
何时应该这样写:仅限两种情况——网站尚未上线(正在本地或临时域名开发),或者你明确希望该网站不被任何搜索引擎收录(如内部使用系统)。
错误的路径写法举例:
Disallow: /admin 缺少结尾斜杠,可能只屏蔽 /admin 这个文件,而不屏蔽 /admin/ 目录下的所有文件。
Disallow: admin 没有前导斜杠,搜索引擎可能理解为任意路径中包含 admin 的URL,但实际执行可能不准确。
Disallow: /wp-admin/ 正确写法应该以斜杠结尾。
正确规则:
屏蔽整个目录:Disallow: /admin/
屏蔽特定文件类型:Disallow: /*.pdf$(某些搜索引擎支持通配符,但不是全部。建议具体列出文件路径)
建议只使用最简单的路径格式,不依赖通配符,以保证最大兼容性。
robots.txt 的指令是大小写敏感的。例如 User-agent 不能写成 user-agent,Disallow 不能写成 disallow。有些编辑器会自动首字母大写,需要手动改正。
另外,每行只能有一个指令。正确格式:
User-agent: Baiduspider
Disallow: /temp/
误解:有人以为 robots.txt 可以阻止其他网站引用自己的图片。实际不能。robots.txt 只影响搜索引擎抓取,不影响用户或第三方直接访问。想防盗链需要通过服务器配置。
如果网站开发期间加了屏蔽规则,上线后忘记删除或修改,后果很严重。建议上线前最后一步检查 robots.txt。
对于大多数企业展示型网站,以下配置是安全且合理的:
User-agent: *
Allow: /
Disallow: /admin/
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /temp/
Disallow: /backup/
Disallow: /includes/
Disallow: /logs/
Sitemap: https://www.dcweb.com.cn/sitemap/sitemap.xml
说明:
User-agent: * 适用于所有搜索引擎
Allow: / 允许抓取根目录(但后面 Disallow 优先级更高,会排除特定目录)
屏蔽后台目录(/admin/)、临时文件目录(/tmp/)、备份目录(/backup/)等无抓取价值的路径
最后一行指明 Sitemap 位置,方便搜索引擎发现网站地图
如果你的网站不需要屏蔽任何目录,最简单的 robots.txt 可以是:
Allow: /
Sitemap: https://www.dcweb.com.cn/sitemap/sitemap.xml
或者甚至不需要 robots.txt 文件(也不会出错)。
在浏览器地址栏输入 https://你的域名/robots.txt(注意是根目录)。如果显示404,说明网站没有这个文件——这不是错误,搜索引擎会默认允许抓取所有页面。
如果显示了内容,检查是否有 Disallow: / 这一行且没有后续 Allow 覆盖。如果有,则需要立即修改。
百度搜索资源平台:进入“抓取诊断”或“Robots工具”,可以测试你的 robots.txt 规则,百度会模拟抓取并给出哪些URL被允许或禁止。
谷歌Search Console:有专门的 robots.txt 测试工具,可验证规则有效性。
假设你的网站首页是 https://example.com,产品页是 https://example.com/products/。用站长工具分别测试这两个URL,看是否显示“允许”。如果被禁止,就需要修改规则。
修改后不需要重启服务器,文件保存后立即生效。
搜索引擎不会立刻重新抓取。已经禁止的页面不会马上从搜索结果中消失,需要等待搜索引擎重新抓取时发现新规则,逐步删除索引。可以通过站长工具提交“死链”或“URL删除”加速。
谨慎添加新的 Disallow 规则。如果你不确定某个目录是否应该被屏蔽,先设为 Allow,观察一段时间再调整。
虽然大多数网站希望被收录,但也有例外:
开发或测试环境:如果网站放在公开域名下(如 test.yourdomain.com),建议用 robots.txt 屏蔽全站,避免测试内容被搜索引擎收录。
会员专区或内部系统:不希望登录后的内容出现在搜索结果中。但注意,robots.txt 只能防止抓取,不能防止已登录用户分享链接导致页面被公开访问。真正敏感的内容应使用登录验证。
对于临时屏蔽,也可以使用 noindex 元标签(每个页面单独设置),而不是依赖 robots.txt。
robots.txt 是一个小文件,但写错了可能带来大麻烦。建议每个网站运维人员都清楚自己网站的 robots.txt 内容,并定期检查。一个简单有效的习惯:每次网站上线或改版后,手动访问一次 robots.txt 文件,确认没有 Disallow: / 等错误规则。
东辰科技在网站建设交付时,会为客户网站配置默认的 robots.txt 文件,并在交付清单中提醒客户检查。如果你不确定自己的 robots.txt 是否正确,或者发现网站收录异常怀疑与此有关,欢迎留言提供域名,我们可以协助查看并给出修改建议。
用作品证明实力,网站建设行业排名前列