robots.txt是一个位于网站根目录下的纯文本文件,用于指导搜索引擎爬虫(也称为网络机器人或蜘蛛)哪些页面可以抓取、哪些页面不应抓取。它遵循Robots Exclusion Protocol标准,是网站与搜索引擎之间的"君子协议"。
虽然robots.txt对恶意爬虫没有强制约束力,但对正规的搜索引擎(如Google、Bing、百度)来说是必须遵守的指令。正确使用robots.txt可以保护敏感信息、优化搜索引擎抓取效率、避免重复内容被索引。
User-agent:指定规则适用的搜索引擎爬虫名称。使用 * 表示所有爬虫,或指定具体爬虫如 Googlebot、Bingbot 等。
Disallow:禁止爬虫访问的路径。例如 Disallow: /admin/ 会阻止爬虫访问 /admin/ 目录下的所有内容。
Allow:允许爬虫访问的路径。当某目录被Disallow后,可以用Allow放行其中的特定文件或子目录。
Sitemap:声明网站的XML站点地图URL,帮助搜索引擎更快发现和索引网站内容。
Crawl-delay:设置爬虫两次请求之间的等待时间(秒)。注意Google不推荐使用此指令。
本robots.txt生成器操作简单,只需几步即可生成符合标准的robots.txt文件:
步骤一:选择预设模板。工具提供了WordPress、Shopify、Next.js、Vue、React等常见平台的预设模板。点击对应按钮即可快速加载该平台推荐的robots.txt规则。例如选择WordPress模板,会自动屏蔽/wp-admin/、/wp-includes/等敏感目录,同时放行上传目录和媒体文件。
步骤二:自定义规则。如果预设模板不能完全满足需求,可以手动添加、删除或修改规则。每条规则由"允许/禁止"类型和"路径"组成。点击"添加规则"按钮增加新规则,或使用"删除"按钮移除不需要的规则。路径支持通配符(如 /*.pdf$ 匹配所有PDF文件)。
步骤三:配置Sitemap。在"Sitemap URL"输入框中填写网站的XML站点地图地址(如 https://example.com/sitemap.xml)。这会让搜索引擎更快发现你网站的所有页面。大多数建站工具(如WordPress的Yoast SEO插件)会自动生成sitemap。
步骤四:预览与导出。所有设置会实时反映在右侧预览框中。确认无误后,点击"复制内容"按钮将robots.txt内容复制到剪贴板,或点击"下载"按钮直接下载文件。最后将文件上传到网站根目录即可生效。
保护后台管理页面:几乎所有网站都有后台管理入口(如 /admin/、/wp-admin/、/dashboard/ 等)。通过robots.txt阻止搜索引擎索引这些页面,可以防止敏感信息泄露,同时避免后台URL出现在搜索结果中,降低被暴力破解的风险。
防止重复内容:电商网站的筛选页面(如 ?sort=price&page=2)、博客的标签/分类页面往往会产生大量相似内容。这些内容对SEO不利,可以通过robots.txt屏蔽,让搜索引擎只抓取核心页面,提升网站整体质量评分。
控制抓取频率:对于内容更新不频繁的网站(如企业官网、个人作品集),可以通过Crawl-delay降低爬虫抓取频率,减少服务器资源消耗。对于大型网站,合理的robots.txt配置可以确保搜索引擎优先抓取高价值页面。
多语言/多地区网站:对于拥有多个语言版本或地区版本的网站,可以通过robots.txt精确控制每个搜索引擎抓取对应的内容。例如,可以用User-agent区分Googlebot(全球)和Baidu Spider(中国),为不同爬虫设置不同的抓取规则。
robots.txt vs meta robots:robots.txt用于控制整个URL路径的抓取,而meta robots标签(如 <meta name="robots" content="noindex">)用于控制单个页面的索引行为。关键区别是:被robots.txt阻止的页面搜索引擎可能仍会建立索引(只是不抓取内容),而meta noindex则明确告诉搜索引擎不要索引该页面。对于真正不想被索引的内容,建议同时使用两者。
Robots Exclusion Protocol标准:1994年由Martijn Koster提出,1997年被主要搜索引擎采纳。2020年Google将其作为官方标准发布。标准规定了User-agent、Disallow、Allow、Sitemap、Crawl-delay等核心指令的语法和行为。虽然名为"协议",但它不是强制性的法律标准,而是搜索引擎自愿遵守的行业惯例。
常见误区:1)认为robots.txt可以阻止所有人访问页面——它只影响搜索引擎爬虫,不影响普通用户和恶意爬虫;2)用robots.txt隐藏敏感信息——敏感内容应使用服务器端访问控制;3)忽略大小写——虽然大多数搜索引擎不区分大小写,但规范建议路径大小写一致;4)路径格式错误——必须以 / 开头,指向网站根目录的相对路径。
robots.txt是一个文本文件,位于网站根目录下,用于告知搜索引擎爬虫哪些页面可以抓取、哪些页面不应抓取。它是网站与搜索引擎之间的协议文件,遵循Robots Exclusion Protocol标准。
不能。robots.txt只是对搜索引擎爬虫的建议,而不是强制的访问控制。恶意爬虫可能忽略robots.txt。如需真正阻止访问,应使用HTTP身份验证或服务器端访问控制。
robots.txt必须放在网站的根目录下,例如https://example.com/robots.txt。搜索引擎会自动在域名根路径查找此文件。
在robots.txt中添加Sitemap声明可以告诉搜索引擎网站的XML站点地图位置,帮助搜索引擎更快发现和索引网站内容。格式为:Sitemap: https://example.com/sitemap.xml
可以。robots.txt按照从上到下的顺序匹配规则,先匹配到的规则优先。例如可以先Disallow整个目录,再Allow其中的特定文件。但不同搜索引擎对规则的解析可能存在细微差异。
Crawl-delay用于指定爬虫两次请求之间的等待时间(秒)。但Google不推荐使用此指令,建议使用Google Search Console中的抓取速度设置。Bing等搜索引擎支持此指令。
常见原因包括:1)文件不在网站根目录;2)文件名拼写错误(必须是robots.txt);3)格式错误(如缺少User-agent行);4)搜索引擎缓存(更改后可能需要几天才能生效);5)使用了通配符但搜索引擎不支持。
可以。通过指定不同的User-agent,可以为不同搜索引擎设置不同规则。例如User-agent: Googlebot针对Google,User-agent: Bingbot针对Bing。使用User-agent: *表示适用于所有搜索引擎。