Robots.txt生成器 - 在线生成网站爬虫协议文件
什么是Robots.txt?
Robots.txt是网站根目录下的一个文本文件,用于告诉搜索引擎爬虫哪些页面可以抓取、哪些页面禁止抓取。它是网站与搜索引擎之间最基本的爬虫协议,正确配置可以有效控制网站内容的收录范围,保护隐私页面不被索引。
一个配置得当的robots.txt文件,既能引导搜索引擎高效抓取有价值的内容,又能防止后台管理页面、临时文件、重复内容等被误收录。对于WordPress、Typecho、Discuz等主流CMS系统,更是有成熟的预设规则可以直接使用。
Robots.txt核心指令详解
- User-agent:指定规则适用的爬虫名称,*表示所有爬虫
- Disallow:禁止爬虫访问的路径,如 /admin/ 表示禁止抓取后台目录
- Allow:允许爬虫访问的路径,优先级高于Disallow
- Crawl-delay:设置爬虫的抓取间隔(秒),减轻服务器压力
- Sitemap:声明网站地图的URL,帮助爬虫发现更多页面
注意:robots.txt只是"建议"而非"强制"。遵守协议的搜索引擎会尊重规则,但恶意爬虫可能无视它。涉及敏感数据的页面应通过权限控制保护。
主流CMS预设规则
WordPress
屏蔽 /wp-admin/、/wp-includes/ 等系统目录,允许 /wp-content/uploads/ 下的媒体文件被抓取
Typecho
屏蔽 /admin/ 后台目录,禁止抓取 /feed/ 和评论分页等重复内容
Discuz
屏蔽 /admin.php、/uc_server/ 等管理入口,禁止抓取搜索页和用户列表页
如何使用Robots.txt生成器
- 选择你的CMS类型(WordPress/Typecho/Discuz),快速带出常见目录规则
- 补充你自己站点的后台目录、临时目录或需要公开的路径
- 确认Sitemap地址使用的是正式域名
- 点击生成,复制或下载robots.txt文件
- 将文件上传到网站根目录,访问 /robots.txt 自查确认
典型应用场景
- 保护后台安全:禁止搜索引擎索引 /admin/ 等管理页面,避免后台地址被公开
- 节省抓取配额:屏蔽无价值的分页、搜索结果页,让爬虫集中抓取重要内容
- 防止重复收录:禁止抓取打印版、移动版等重复内容页面
- 控制抓取频率:通过Crawl-delay限制爬虫速度,减轻服务器负载
- 引导内容发现:通过Sitemap声明帮助搜索引擎快速发现新页面
技术原理与注意事项
搜索引擎爬虫在访问网站时,会先请求 /robots.txt 文件,解析其中的规则后再决定抓取范围。规则按从上到下的顺序匹配,最先匹配的规则生效。
重要提醒:不要默认屏蔽CSS和JS文件,尤其是依赖前端渲染的页面,误封会影响搜索引擎理解页面内容。Crawl-delay的支持程度因爬虫而异,不应作为核心控制手段。
常见问题
写了robots.txt就等于页面保密了吗?
不是。robots.txt只是在告诉爬虫"不建议抓取",不等于权限控制。如果页面没有其他访问限制,通过直接输入URL仍然可以访问。敏感内容应配合登录验证等权限机制。
CSS和JS文件要不要屏蔽?
不建议默认全屏蔽。现代搜索引擎需要渲染页面来理解内容,如果屏蔽了CSS和JS,可能导致页面无法正确解析,影响收录效果。只屏蔽确实不需要被抓取的资源。
Crawl-delay一定有效吗?
不同爬虫对Crawl-delay的支持程度不同。Googlebot不支持此指令,Bingbot支持。它更适合作为辅助规则,不要把它当成核心控制手段。
robots.txt文件放在哪里?
必须放在网站根目录下,即通过 https://yourdomain.com/robots.txt 可以直接访问。放在子目录中无效。
如何验证robots.txt是否生效?
可以使用Google Search Console的"robots.txt测试工具"或Bing Webmaster Tools的类似功能,输入URL检查是否被允许或禁止抓取。
Disallow为空和写Disallow有什么区别?
Disallow为空(即"Disallow:"后面没有任何路径)表示允许抓取所有页面。不写Disallow则默认允许所有。两者效果相同,但显式写出更清晰。