多端蜘蛛权限
某资讯站同时被百度、谷歌、必应抓取,但百度收录的旧版频道(如 /news/old/)图片已失效,谷歌和必应仍在正常抓取。站长需要为百度单独屏蔽该目录,同时保留其他蜘蛛访问权限。本工具在 User-agent 规则中逐条指定蜘蛛名称与 Disallow 路径,避免用一条通用规则误伤其他搜索引擎的抓取,保证各端收录正常。
提交网站到搜索引擎前,先检查 `robots.txt` 是否误封了关键路径。这个工具让输入多组 User-Agent 规则和 Sitemap 地址,实时校验指令冲突与语法错误,并高亮被 Disallow 屏蔽的 URL。规则解析在你浏览器本地完成,规则内容不会上传服务器。
某资讯站同时被百度、谷歌、必应抓取,但百度收录的旧版频道(如 /news/old/)图片已失效,谷歌和必应仍在正常抓取。站长需要为百度单独屏蔽该目录,同时保留其他蜘蛛访问权限。本工具在 User-agent 规则中逐条指定蜘蛛名称与 Disallow 路径,避免用一条通用规则误伤其他搜索引擎的抓取,保证各端收录正常。
一个电商站从 /shop/v1/ 迁移到 /shop/v2/,旧版页面已停止更新,但仍有外链和收录。站长需要将旧版所有页面标记为禁止抓取,同时在新版 Sitemap 中提交新 URL。本工具在 Disallow 中锁定 /shop/v1/ 所有子路径,并在 Sitemap 字段填入新版 XML 地址,实现新旧版本无缝切换,避免搜索引擎同时收录两套内容导致重复惩罚。
某电商平台在双十一结束后,活动页(/promo/2024/)仍被百度索引,用户点击后看到已过期的商品信息,投诉增加。运营需要立即阻止搜索引擎继续抓取该页面,但保留其他正常目录的收录。本工具为该目录单独设置 Disallow 规则,并保留其他路径的 Allow 状态,活动下线后 24 小时内停止收录,不影响主站权重。
一个 CMS 建站的后台登录路径(/admin/)被搜索引擎意外收录,暴露了管理界面入口,存在安全风险。站长需要立即禁止所有蜘蛛访问该目录,但前台内容(/article/、/product/)正常抓取。本工具在 User-agent: * 下添加 Disallow: /admin/,同时保留其他目录的 Allow 规则,防止后台路径被索引,降低被攻击面。
一个中文站同时提供英文版(/en/)和日文版(/ja/),但百度只收录中文内容,谷歌需要同时抓取英文和日文。站长需要为百度仅开放中文目录,为谷歌开放所有语言路径。本工具分别为 baiduspider 和 Googlebot 编写独立规则组,精确控制每个蜘蛛的抓取范围,避免百度误抓外语页面导致低质收录,同时保证谷歌全量索引。
| 输入 | 输出 | 说明 |
|---|---|---|
| User-agent: * Disallow: /wp-admin/ Disallow: /wp-includes/ Allow: /wp-admin/admin-ajax.php Sitemap: https://example.com/sitemap.xml | User-agent: * Disallow: /wp-admin/ Disallow: /wp-includes/ Allow: /wp-admin/admin-ajax.php Sitemap: https://example.com/sitemap.xml 校验结果:规则通过。Allow 指令在 Disallow 之后,对 /wp-admin/admin-ajax.php 生效。 | 常规:WordPress 站点标准配置,验证工具对 Allow/Disallow 优先级及 Sitemap 字段的识别。 |
| User-agent: Googlebot Disallow: /private/ User-agent: Bingbot Disallow: /temp/ User-agent: * Disallow: / | User-agent: Googlebot Disallow: /private/ User-agent: Bingbot Disallow: /temp/ User-agent: * Disallow: / 校验结果:规则通过。多 UA 分组,Googlebot 仅限制 /private/,Bingbot 仅限制 /temp/,其余全部禁止。 | 常规:多 UA 规则分组,验证工具正确处理不同爬虫的独立规则块。 |
| User-agent: * Disallow: / | User-agent: * Disallow: / 校验结果:规则通过。全部禁止抓取。 | 边界:最简封锁规则,验证工具能处理仅两条指令的极端输入。 |
| User-agent: * Disallow: Sitemap: https://example.com/sitemap.xml | User-agent: * Disallow: Sitemap: https://example.com/sitemap.xml 校验结果:警告:Disallow 值为空,表示允许所有路径,与意图可能不符。 | 边界:空 Disallow 值(允许所有)与无 Disallow 行含义相同,工具应给出警告而非静默通过。 |
| User-agent: * Disallow: /data/ Sitemap: sitemap.xml | User-agent: * Disallow: /data/ Sitemap: sitemap.xml 校验结果:警告:Sitemap 值应为完整 URL(含协议),当前为相对路径。 | 易错:Sitemap 字段要求绝对 URL,相对路径是常见错误,工具应检测并提示。 |
| User-agent: * Disallow: /admin Disallow: /admin/ | User-agent: * Disallow: /admin Disallow: /admin/ 校验结果:规则通过。注意:/admin 会匹配 /adminPage,/admin/ 仅匹配 /admin/ 目录。 | 易错:路径末尾有无斜杠含义不同,/admin 匹配前缀,/admin/ 仅匹配目录,用户常混淆。 |
| User-agent: * Disallow: /private Disallow: /private | User-agent: * Disallow: /private Disallow: /private 校验结果:警告:存在重复的 Disallow 行(/private),建议合并。 | 易错:重复规则不报错但冗余,工具应检测重复并给出优化建议。 |
1.User-agent 字段写成了完整 URL 或 IP
User-agent: https://www.example.com/spiderUser-agent: GooglebotUser-agent 只认爬虫名称(如 Baiduspider、Googlebot),不是 URL 或 IP。写错会导致整条规则不生效,爬虫忽略该指令。
2.Allow 和 Disallow 顺序写反,以为 Allow 优先
Disallow: /private/
Allow: /private/public/Allow: /private/public/
Disallow: /private/robots.txt 按匹配长度优先,不是按指令顺序。更具体的路径优先匹配,所以长路径的 Allow 应写在前面才能生效。
3.Disallow 路径末尾漏了斜杠,意外禁止了整个目录
Disallow: /adminDisallow: /admin/缺少末尾斜杠时,/admin 会匹配 /admin.html、/administer 等以 admin 开头的所有路径。加上斜杠才精确限制 /admin/ 目录。
4.Sitemap 字段写了多个 URL 但没分行
Sitemap: https://example.com/sitemap.xml https://example.com/sitemap2.xmlSitemap: https://example.com/sitemap.xml
Sitemap: https://example.com/sitemap2.xml每个 Sitemap 字段只能放一个 URL,多个 URL 必须各占一行。否则爬虫只解析第一个,后面的会被忽略。
5.Crawl-delay 单位写成了秒以外的值
Crawl-delay: 1000Crawl-delay: 10Crawl-delay 单位是秒,不是毫秒。写 1000 表示爬虫每 1000 秒才能抓一次,相当于 16 分钟,会严重拖慢收录。
6.通配符 * 用在了路径中间,以为能匹配任意字符
Disallow: /category/*/pageDisallow: /category/robots.txt 标准只支持末尾通配符 *(匹配任意后缀),不支持中间通配。写 /category/*/page 实际只匹配字面路径,不会匹配 /category/abc/page。
7.多个 User-agent 块之间缺少空行,导致规则合并
User-agent: Googlebot
Disallow: /private/
User-agent: Baiduspider
Disallow: /temp/User-agent: Googlebot
Disallow: /private/
User-agent: Baiduspider
Disallow: /temp/robots.txt 用空行分隔不同 User-agent 块。没有空行时,Baiduspider 会继承 Googlebot 的规则,导致 /private/ 也被禁止。
8.注释符号 # 写在了指令行中间
Disallow: /temp/ # 临时目录Disallow: /temp/
# 临时目录注释 # 只能单独占一行,不能写在指令行末尾。写在行尾时,爬虫会把 # 及之后内容当作路径的一部分,导致路径错误。
robots.txt 规则匹配优先级 = 最长路径前缀匹配 + 通配符精确度
User-agent指定爬虫名称,* 表示所有Disallow禁止访问的路径前缀Allow允许访问的路径前缀SitemapXML 站点地图完整 URL场景:禁止 Googlebot 访问 /admin/,但允许 /admin/public/。规则:User-agent: Googlebot\nDisallow: /admin/\nAllow: /admin/public/\nSitemap: https://example.com/sitemap.xml。推导:爬虫请求 /admin/public/page.html 时,匹配到两条规则,Allow 路径更长(/admin/public/ 比 /admin/ 多 8 字符),按最长前缀优先原则,最终允许访问。Sitemap 字段独立于规则,直接指向站点地图 URL。
搜索引擎爬虫会先匹配最具体的 User-agent。如果 Googlebot 同时匹配了 * 和 Googlebot 两条规则,则 Googlebot 那条的指令(Disallow/Allow)会覆盖 * 的规则。本工具在生成时,会自动将具体 UA 的规则放在通用规则之后,确保最终文件符合搜索引擎的解析顺序。如果手动调整顺序,建议把通用规则放在文件末尾。
Sitemap 字段必须填写完整的绝对 URL,包括协议(https://)、域名和路径,并且必须指向 XML 格式的 Sitemap 文件。例如:`Sitemap: https://www.example.com/sitemap.xml`。本工具在输入 Sitemap 地址时,如果忘记加 `https://`,生成时会自动补全,但建议自行确认 XML 文件是否真实存在且可访问。
区别非常大。`Disallow: /` 表示禁止爬虫抓取整个网站的任何路径,等于网站完全对搜索引擎关闭。而 `Disallow:`(冒号后面留空)则表示没有任何路径被禁止,爬虫可以抓取全站。本工具在添加规则时,如果只输入 `/` 作为路径,会在生成结果中明确显示为 `Disallow: /`;如果留空路径输入框,则不会生成该 Disallow 行。
对于同一个爬虫,Allow 指令的优先级高于 Disallow。例如 `Disallow: /private/` 和 `Allow: /private/public.html` 同时存在时,爬虫会允许抓取 `/private/public.html`。本工具在添加规则时,如果检测到同一个 UA 下同时存在冲突的 Allow 和 Disallow 规则,会在界面下方给出提示,但不强制修改,因为某些高级场景确实需要这种配置。
可以,但需要注意两个前提。第一,本工具生成的是纯文本文件,复制后请确保文件名为 `robots.txt`(全小写),并上传到网站的根目录(即通过 `https://你的域名/robots.txt` 能直接访问)。第二,生成内容里没有包含本工具的广告或额外注释,复制后可直接使用。建议上传后用浏览器访问该文件检查是否生效。
robots.txt 是请求爬虫不要抓取,而不是强制阻止。如果该页面有外部链接指向它,或者之前已经被抓取并索引,Google 仍然可能展示该页面(只是不抓取更新)。本工具生成的规则只能控制爬虫未来的抓取行为,无法删除已存在的搜索结果。要彻底移除已索引的页面,需要在 Google Search Console 中提交删除请求。
不能。robots.txt 中的路径规则只识别 URL 中 # 号之前的部分,因为 # 后面的内容是浏览器端锚点,不会被发送到服务器。要屏蔽这类页面,应该在页面的 HTML 头部添加 `<meta name="robots" content="noindex">` 标签。本工具目前只处理 robots.txt 规则,不涉及 meta robots 标签的生成。
隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。