综合 robots.txt 的写法及用法

2024-11-19 01:44:21 +0800 CST views 519

robots.txt 的写法及用法

什么是 robots.txt?

robots.txt 是一个协议,而不是命令。它是搜索引擎在访问网站时查看的第一个文件,告诉搜索引擎蜘蛛程序在服务器上哪些文件可以被查看。百度官方建议,只有在网站中有不希望被搜索引擎收录的内容时,才需要使用 robots.txt 文件。如果希望搜索引擎收录网站上的所有内容,请勿建立 robots.txt 文件。

重要注意事项:

  • robots.txt 必须放置在站点的根目录下,文件名必须全部小写。
  • 如果站点没有 robots.txt 文件,所有搜索蜘蛛将能够访问网站上所有未被口令保护的页面。

robots.txt 的语法

robots.txt 文件使用两条规则:

  • User-Agent: 适用于下列规则的漫游器。
  • Disallow: 要拦截的网页。

如果其他网站链接了您 robots.txt 文件中禁止收录的网页,那么这些网页仍可能会出现在百度的搜索结果中,但您的网页内容不会被抓取、建入索引和显示。

robots.txt 在 SEO 中的作用

通过 robots.txt 文件,网站可以声明不想被搜索引擎访问的部分。每个网站都可以自主控制网站是否愿意被搜索引擎收录,或者指定搜索引擎只收录指定的内容。

格式:

  • User-agent: 定义搜索引擎的类型。
  • Disallow: 定义禁止搜索引擎收录的地址。
  • Allow: 定义允许搜索引擎收录的地址。

常用搜索引擎类型:

  • Google: Googlebot
  • 百度: Baiduspider
  • Yahoo: Yahoo!slurp
  • Bing: MSNbot
  • Yandex: YandexBot

robots.txt 文件的写法

  • User-agent: *:* 代表所有搜索引擎种类。
  • Disallow: /admin/:禁止爬取 admin 目录下的所有内容。
  • Disallow: /cgi-bin/*.htm:禁止访问 /cgi-bin/ 目录下所有以 .htm 为后缀的 URL。
  • Allow: .htm$:仅允许访问以 .htm 为后缀的 URL。

robots.txt 文件用法举例

例 1: 禁止所有搜索引擎访问网站的任何部分

User-agent: *
Disallow: /

例 2: 允许所有搜索引擎访问

User-agent: *
Allow: /

例 3: 禁止特定搜索引擎访问

User-agent: Baiduspider
Disallow: /

例 4: 允许特定搜索引擎访问

User-agent: Baiduspider
Allow: /

例 5: 禁止访问特定目录

User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /~joe/

例 6: 允许访问特定目录中的部分 URL

User-agent: *
Allow: /cgi-bin/see
Allow: /tmp/hi
Allow: /~joe/look

例 7: 使用 * 限制访问 URL

禁止访问 /cgi-bin/ 目录下所有以 .htm 为后缀的 URL:

User-agent: *
Disallow: /cgi-bin/*.htm

例 8: 使用 $ 限制访问 URL

仅允许访问以 .htm 为后缀的 URL:

User-agent: *
Allow: /.htm$

例 9: 禁止访问所有动态页面

User-agent: *
Disallow: /*?*

例 10: 禁止特定格式的图片抓取

禁止 Baiduspider 抓取 .jpg 格式的图片:

User-agent: Baiduspider
Disallow: /*.jpg$

Robots Meta 标签

robots.txt 文件主要是限制整个站点或目录的搜索引擎访问情况,而 Robots Meta 标签则主要针对具体页面。它用于告诉搜索引擎蜘蛛如何抓取该页内容。

Robots Meta 标签的指令:

  • index:抓取该页面。
  • noindex:不抓取该页面。
  • follow:沿着该页面上的链接继续抓取。
  • nofollow:不沿着该页面上的链接抓取。

注意事项:

  • robots.txt 和 Robots Meta 标签只是规定,需要搜索引擎机器人的配合才能生效。

robots.txt 使用误区

误区一:所有文件都需要被蜘蛛抓取

误解:如果网站上的所有文件都需要被抓取,则不需要 robots.txt 文件。

误区二:设置所有文件可抓取以增加收录率

误解:设置所有文件都可抓取不会增加收录率,反而可能浪费服务器资源。

误区三:禁止所有搜索蜘蛛抓取

误解:这样会导致整个网站不能被搜索引擎收录。

robots.txt 使用技巧

文件

  1. 每当搜索蜘蛛来寻找并不存在的 robots.txt 文件时,服务器会记录 404 错误,所以应该在网站中添加一个 robots.txt
  2. 合理使用 robots.txt 文件可以避免访问时出错,比如防止搜索者直接进入购物车页面。
  3. robots.txt 文件里可以包括 sitemap 文件的链接,例如:
Sitemap: http://www.example.com/sitemap.xml

robots.txt 文件字符编码

  • 建议: 使用 ANSI 格式编码或 UTF-8 编码格式,空出首行。

robots.txt 文件生效时间

  • 生效时间: 7-15 天。

robots.txt 文件用法总结

  • 例 1: 禁止所有搜索引擎访问网站的任何部分
User-agent: *
Disallow: /
  • 例 2: 允许所有搜索引擎访问
User-agent: *
Allow: /
  • 例 3: 禁止特定搜索引擎访问
User-agent: Baiduspider
Disallow: /
  • 例 4: 禁止访问特定目录
User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /~joe/

images

推荐文章

php常用的正则表达式
2024-11-19 03:48:35 +0800 CST
Redis和Memcached有什么区别?
2024-11-18 17:57:13 +0800 CST
使用Vue 3实现无刷新数据加载
2024-11-18 17:48:20 +0800 CST
四舍五入五成双
2024-11-17 05:01:29 +0800 CST
Go 语言实现 API 限流的最佳实践
2024-11-19 01:51:21 +0800 CST
一键压缩图片代码
2024-11-19 00:41:25 +0800 CST
内网穿透技术详解与工具对比
2025-04-01 22:12:02 +0800 CST
JavaScript 异步编程入门
2024-11-19 07:07:43 +0800 CST
pycm:一个强大的混淆矩阵库
2024-11-18 16:17:54 +0800 CST
设置mysql支持emoji表情
2024-11-17 04:59:45 +0800 CST
PHP中获取某个月份的天数
2024-11-18 11:28:47 +0800 CST
Golang中国地址生成扩展包
2024-11-19 06:01:16 +0800 CST
java MySQL如何获取唯一订单编号?
2024-11-18 18:51:44 +0800 CST
JavaScript 实现访问本地文件夹
2024-11-18 23:12:47 +0800 CST
php指定版本安装php扩展
2024-11-19 04:10:55 +0800 CST
Nginx 反向代理 Redis 服务
2024-11-19 09:41:21 +0800 CST
MySQL死锁 - 更新插入导致死锁
2024-11-19 05:53:50 +0800 CST
Vue 中如何处理父子组件通信?
2024-11-17 04:35:13 +0800 CST
ElasticSearch 结构
2024-11-18 10:05:24 +0800 CST
程序员茄子在线接单