Robots.txt是网站与搜索引擎爬虫之间的基础通信文件,它告诉爬虫哪些页面可以抓取、哪些应该避开。正确编写这个文件能帮助搜索引擎更高效地收录有价值的内容,同时保护后台或重复页面不被索引。本文从基础语法到常见场景,提供可直接套用的写法。
一个标准的Robots.txt文件放在网站根目录下,例如 https://example.com/robots.txt。它由若干条记录组成,每条记录以 User-agent 开头,后面跟允许或禁止的规则。
最重要的指令是 Disallow 和 Allow。Disallow 指定不允许爬取的路由,Allow 在Disallow范围内开放特定路径。另外 Sitemap 指令用于向爬虫声明XML站点地图的位置。
一个最精简的示例:
User-agent: * Disallow:这表示对所有爬虫完全开放,不限制任何路径。若想禁止所有爬虫,则写为:
User-agent: * Disallow: /注意:Disallow 的路径以根目录开始,末尾不要随意加空格或多余字符。每行只能一个指令,空行表示一条记录结束。
网站后台或管理面板不应被搜索引擎收录,通用写法如下:
User-agent: * Disallow: /admin/ Disallow: /wp-admin/如果后台路径有自定义,务必替换为实际路径。例如网站后台位于 /cpanel/,则改为 Disallow: /cpanel/。
当你想屏蔽除某个目录外的所有内容,可以先全部禁止,再用 Allow 开放个别路径:
User-agent: * Disallow: / Allow: /public/ Allow: /articles/这里允许爬虫抓取 /public/ 和 /articles/ 下的内容,其余路径都会被禁止。
对于网站中包含的PDF、图片或视频文件,有时不希望被抓取以减少带宽消耗,可以使用通配符(大多数搜索引擎支持):
User-agent: * Disallow: /*.pdf$ Disallow: /*.zip$ Disallow: /*.mp4$$ 符号表示路径必须以该扩展名结尾。注意并非所有爬虫都支持正则,但主流的Google、Bing均已支持这种写法。
你可以为不同爬虫设定差异化的规则。例如禁止百度抓取测试页面,但允许Google:
User-agent: Baiduspider Disallow: /test/ User-agent: Googlebot Allow: /test/每条 User-agent 开头开始一条新的记录,顺序从上到下匹配。通常把更具体的爬虫放在前面,默认的 * 放在最后作为兜底规则。
常见搜索引擎的User-agent值:Googlebot(Google)、Bingbot(Bing)、Baiduspider(百度)、Slurp(Yahoo)、YandexBot(Yandex)。
在文件末尾加上站点地图路径有助于爬虫更快发现所有页面:
Sitemap: https://example.com/sitemap.xml Sitemap: https://example.com/news-sitemap.xml如果网站有多个sitemap,可以声明多行。注意URL必须是完整且可访问的,不能使用相对路径。
一个完整且功能清晰的Robots.txt示例如下:
User-agent: * Disallow: /private/ Disallow: /temp/ Allow: /public/ User-agent: Googlebot Disallow: /temp/ User-agent: Baiduspider Disallow: /private/ Disallow: /temp/ Disallow: /test/ Sitemap: https://example.com/sitemap_index.xml这个文件对普通爬虫禁止 /private/ 和 /temp/,但对Googlebot放宽了 /temp/ 的访问,同时为百度单独增加了禁止 /test/ 的规则。
搜索引擎会在下次抓取该文件时自动更新规则,通常需要几个小时到两天不等。你可以通过Google Search Console的“测试Robots.txt”工具验证当前文件是否解析正确。
不能。Robots.txt仅控制爬虫是否抓取,被禁止的页面仍可能通过外部链接被索引,只是不会抓取内容。要彻底阻止收录,应配合使用 noindex meta标签或HTTP响应头。
不会直接导致惩罚,但错误的规则可能屏蔽重要页面,导致收录减少或重要内容不被抓取。例如不小心禁止了整个根目录,会使网站完全从搜索结果中消失。因此修改文件后建议先通过工具测试,并监控搜索引擎的覆盖报告。
编写Robots.txt的关键是明确哪些内容值得抓取、哪些需要保护。常见的做法包括:为后台和管理路径设置Disallow、对敏感文件类型使用通配符、不同爬虫区别对待、并始终在文件末尾声明Sitemap位置。上线前务必用官方工具验证语法和路径准确性,避免因规则错误影响网站自然搜索表现。