SEO基础知识:了解robots.txt
什么是 robots.txt
robots.txt 是一个文本文件,放置在网站的根目录下。它就像一份说明书,告诉搜索引擎的爬虫(也叫机器人)哪些页面可以访问,哪些页面不能访问。简单来说,它就是用来控制搜索引擎如何抓取和索引你网站内容的。
通常可以通过输入主页的完整 URL,然后添加 /robots.txt 来查看任何给定网站的 robots.txt 文件,例如 https://www.cloudflare.com/robots.txt。该文件未链接到网站上的任何其他位置,因此用户不太可能会偶然发现该文件,但是大多数网页爬网程序机器人都会在抓取该网站的其余部分之前先查找该文件。
虽然robots.txt文件提供了有关机器人的规范,但实际上并不能执行这些规范。良性的机器人(例如网页爬网程序或新闻提要机器人)将先尝试访问robots.txt文件,然后再查看域中的任何其他页面,并将按照说明进行操作。恶意的机器人忽略robots.txt文件或对其进行处理,以查找被禁止的网页。
网页爬网程序机器人将遵循robots.txt文件中最具体的指示集。如果文件中有矛盾的命令,则机器人将遵循更细化的命令。
要注意的一件事是,所有子域都需要有自己的robots.txt文件1。
为什么需要 robots.txt
- 保护隐私: 隐藏不想公开的页面,比如后台管理页面、测试页面等。
- 管理流量: 限制搜索引擎爬虫的访问频率,减轻服务器压力,尤其对于资源有限的小型网站。
- 优化搜索结果: 指导搜索引擎优先抓取重要的页面,从而影响搜索结果排名。
robots.txt 的基本结构
一个典型的 robots.txt 文件包含以下几部分:
- User-agent: 指定这条规则适用于哪个搜索引擎。例如:Googlebot、Bingbot 等。
- Disallow: 禁止搜索引擎访问指定的目录或文件。
- Allow: 允许搜索引擎访问指定的目录或文件。
- Sitemap: 指向网站的站点地图文件,帮助搜索引擎更全面地了解网站结构。
示例:
User-agent: Googlebot
Disallow: /admin/
Allow: /images/
Sitemap: https://www.example.com/sitemap.xml
这段代码表示:
- 允许 Googlebot 访问网站的 images 目录。
- 禁止 Googlebot 访问 admin 目录。
- 网站的站点地图文件位于 https://www.example.com/sitemap.xml。
如何使用 robots.txt
- 创建文本文件: 使用记事本、Sublime Text 等文本编辑器创建一个名为 robots.txt 的文件。
- 编写规则: 根据需要,在文件中添加 Disallow 和 Allow 规则。
- 上传到根目录: 将文件上传到网站的根目录下。
robots.txt 的常见用法
-
禁止搜索引擎访问整个网站:
User-agent: * Disallow: /
注意:这会阻止所有搜索引擎访问你的网站。
-
允许部分搜索引擎访问:
User-agent: Googlebot Allow: / User-agent: Bingbot Disallow: /
只允许 Googlebot 访问,禁止 Bingbot 访问。
-
禁止访问特定目录或文件:
User-agent: * Disallow: /private/ Disallow: /old/index.html
禁止访问 private 目录和 old/index.html 文件。
-
使用通配符:
User-agent: * Disallow: /*.php
禁止访问所有 .php 文件。
-
常见搜索引擎的爬虫代号:
搜索引擎的爬虫(蜘蛛)通常有特定的代号,用于在访问网站时被服务器识别。以下是一些主流和知名的搜索引擎爬虫代号:
-
Google
- Googlebot
- Googlebot-Mobile(针对移动版网站)
- Googlebot-Image(图片搜索)
- Googlebot-News(新闻搜索)
- Googlebot-Video(视频搜索)
-
Bing
- Bingbot
-
Baidu
- Baiduspider
- Baiduspider-image(图片搜索)
- Baiduspider-video(视频搜索)
- Baiduspider-news(新闻搜索)
-
Yandex
- YandexBot
-
Bing
- Bingbot
-
Yahoo
- Yahoo! Slurp
-
DuckDuckGo
- DuckDuckBot
-
Yandex
- YandexBot
-
Exalead
- Exabot
-
Sogou
- Sogou spider
-
Qwant
- Qwantify
-
Aol
- AOLBot
-
Ask
- Teoma
-
InfoSeek
- InfoSeek
-
Lycos
- Lycos_
-
MSN
- msnbot
-
AltaVista
- Scooter
-
Seznam
- SeznamBot
-
Tencent
- TencentTraveler
-
eBay
- eBayots
-
Apple
- Applebot(用于Apple News,App Store等)
-
Flipboard
- FlipboardProxy
-
Facebook
- FacebookExternalHit(用于抓取Facebook外的内容)
-
Pinterest
- Pinterestbot
-
LinkedIn
- LinkedInBot
-
Twitter
- Twitterbot
-
Instagram
- Instagrambot
-
Walmart
- Jetslide(Walmart的搜索引擎)
-
ia_archiver
- Alexa Internet Archiver
-
注意
- robots.txt 不是万能的: 它只能告诉搜索引擎不要抓取,但不能保证搜索引擎一定不会抓取。
- 语法严格: 一点小错误都可能导致规则无效。
- 定期更新: 网站结构变化时,及时更新 robots.txt 文件。
- 结合其他工具: robots.txt 可以和 noindex 标签、meta robots 标签等一起使用,实现更精细的控制。
推荐文章:
感谢阅读!
- 感谢你赐予我前进的力量