建站后千万别忘记配置 robots.txt
爬虫规则,对于搜索引擎发现你的站点非常重要,除了主动到搜索引擎平台提交网站之外,也要主动告诉搜索引擎网站里都有哪些网页?哪些希望被抓取?哪些不希望被抓取?
robots.txt
是什么?robots.txt
是一个纯文本协议文件,放置在网站根目录(如 https://example.com/robots.txt
),用于指导搜索引擎爬虫(如 Googlebot、Baiduspider)的抓取行为,是站点级别规定哪些页面可被引擎爬虫抓取,哪些禁止抓取(当然还有页面级别的,这个有机会介绍)。用于声明网站中禁止或允许被爬虫访问的目录/文件,控制内容收录范围。此规范非强制命令,而是行业通行的约定。
/admin/
、用户后台); User-agent: [爬虫名称] # 指定目标爬虫(* 代表所有)
Disallow: [禁止路径] # 定义禁止访问的URL
Allow: [允许路径] # 定义例外规则(需在 Disallow 后使用)
Sitemap: [网站地图URL] # 提交 XML 站点地图(可选)
值得注意:
/
开头,#
后为注释。比如:Allow: /blog
与 Allow: /Blog
是不同的。Sitemap
指令是需要写全包含域名的全路径。Crawl-delay
表示抓取请求的频率,不过谷歌暂不支持。写法如:Crawl-delay: 15
表示爬虫抓取间隔不能小于15秒。比如 github 就有针对百度爬虫这样约束(https://github.com/robots.txt)User-agent: baidu
crawl-delay: 1
User-agent: Googlebot
Disallow: /login
Disallow: /*?guide*
User-agent: Baiduspider-render
Disallow: /login
Disallow: /*?guide*
User-agent: Baiduspider-image
Disallow: /login
Disallow: /*?guide*
User-agent: Sogou web spider
Allow: /tardis/sogou/
Disallow: /
User-Agent: *
Disallow: /
当然相同的爬取内容,可以同时指定多个爬虫,如上面可简写成:
User-agent: Googlebot
User-agent: Baiduspider-render
User-agent: Baiduspider-image
Disallow: /login
Disallow: /*?guide*
User-agent: Sogou web spider
Allow: /tardis/sogou/
Disallow: /
User-Agent: *
Disallow: /
指令 | 作用 | 示例 | 说明 |
---|---|---|---|
User-agent |
指定规则适用的爬虫(如 Googlebot 、* 表示通用规则) |
User-agent: Baiduspider |
针对百度爬虫生效 |
Disallow |
禁止爬虫访问的路径(支持目录或文件) | Disallow: /private/ |
禁止访问 /private/ 下所有内容 |
Allow |
在禁止范围内设置例外(优先级高于 Disallow ) |
Allow: /public/image.jpg |
允许抓取被禁目录中的特定文件 |
Sitemap |
声明 XML 站点地图位置(便于爬虫发现新页面) | Sitemap: https://xxx/sitemap.xml |
需填写完整 URL |
目录屏蔽:Disallow: /data/
→ 禁止访问 /data/
及其子目录(如 /data/file.html
);:
文件屏蔽:Disallow: /tmp/file.txt
→ 仅禁止特定文件;
通配符扩展
Disallow: /*.jpg$
→ 禁止抓取所有 JPG 文件; Disallow: /*?*
→ 屏蔽带问号参数的动态 URL(如 search?q=foo
)。必须位于网站根目录(如 https://domain.com/robots.txt
),子目录无效。比如:
https://example.com/robots.txt
# 生效:
https://example.com/
# 不生效:
https://other.example.com/
http://example.com/
https://www.example.com/robots.txt
# 生效:
https://www.example.com/
# 不生效:
https://example.com/
https://example.com:443/robots.txt
。标准端口号(HTTP 为 80,HTTPS 为 443,FTP 为 21)等同于其默认的主机名。所以以下都生效,# 生效:
https://example.com:443/
https://example.com/
仅接受全小写 robots.txt
,其他格式(如 Robots.TXT
)无效。所以先看某网站的爬虫配置可在域名后直接添加 robots.txt
访问。
若文件为空或不存在,默认允许爬虫抓取全站。
User-agent: *
Disallow: # 留空表示允许所有
User-agent: *
Disallow: / # 屏蔽根目录下所有内容
User-agent: *
Disallow: /admin/ # 屏蔽后台
Disallow: /tmp/ # 屏蔽缓存目录
Allow: /blog/ # 允许抓取被禁目录中的博客
Sitemap: https://example.com/sitemap.xml
User-agent: Googlebot # 仅对谷歌生效
Disallow: /ads/
User-agent: * # 其他爬虫规则
Disallow: /private/
robots.txt
,敏感内容需额外加密(如登录验证)。 /
)会导致规则失效。 Crawl-delay
设置抓取延迟)仅特定引擎支持。 noindex
)需在 HTML 中添加 <meta name="robots" content="noindex">
。robots.txt
是网站与搜索引擎沟通的基础协议,合理配置可平衡收录需求与隐私保护。重点遵循👉:
根目录放置 + 精准路径语法 + 定期规则校验