Robots.txt 可以这样写?

977人阅读

Robots.txt是什么?

Robots.txt是一个文本文件,其中包含对搜索引擎爬虫的说明。它定义了允许爬虫搜索网站的哪些区域。然而,robots.txt文件并没有明确地命名这些区域。在网站的某些区目录、路径我们是不允许被搜索引擎搜索的。使用这个简单的文本文件,你可以很容易地将整个网站、完整的目录、一个或多个子目录或单个文件从搜索引擎抓取中排除。
Robots.txt存储在网站的根目录中。因此,它是爬虫访问您的网站时打开的第一个文件。然而,该文件不仅控制蜘蛛爬行。您还可以把您的网站地图xml链接加到Robots中,这样有利于你的网站链接及时被搜索引擎发现

robots.txt是如何工作的?

1994年,发布了一个名为REP(Robots Exclusion Standard Protocol)的协议。这个协议规定,所有的搜索引擎爬虫(用户代理)必须先搜索你网站根目录下的robots.txt文件,并阅读其中的说明。只有这样,机器人才能开始对你的网页进行索引。该文件必须直接位于你的网站的根目录下,而且必须用小写字母,因为机器人读取robots.txt文件及其指令是区分大小写的。不幸的是,不是所有的搜索引擎机器人都遵循这些规则。至少搜索引擎如百度、Bing、Yahoo和Google都会遵循这个协议。他们的搜索蜘蛛严格遵循rep和robots.txt指令。

在实践中,robots.txt可以用于不同类型的文件。如果你把它用于图片文件,它就会防止这些文件出现在谷歌的搜索结果中。不重要的资源文件,如脚本、样式和图像文件,也可以用robots.txt轻松阻止。此外,你还可以使用适当的命令来排除动态生成的网页的抓取。例如,内部搜索功能的结果页面、带有会话ID的页面或用户操作(如购物车)都可以被阻止。您还可以通过使用文本文件控制爬虫对其他非图像文件(网页)的访问。从而可以避免以下情况的发生。

  • 蜘蛛会抓取大量类似或不重要的网页。

  • 带宽、流量被无谓地浪费了

  • 服务器被爬虫侵占了


然而,在这种情况下,请注意robots.txt并不能保证你的网站或个别子页面不被索引。它只控制你网站的抓取,但不控制索引。如果网页不被搜索引擎索引,你必须在网页的头部设置以下元标签。

<meta name="robots" content="noindex">

但是,你不应该屏蔽那些对搜索机器人来说相关性很高的文件。需要注意的是,CSS和JavaScript文件也应该被解封,因为这些文件是适用于手机版搜索引擎抓取的。

robots.txt中可以使用哪些指令?

你的robots.txt必须以UTF-8或ASCII文本文件的形式保存在你的网页的根目录下。这个文件必须只有一个名字。它包含一个或多个规则集,以清晰可读的格式结构。这些规则(指令)从上到下进行处理,其中大写和小写字母是有区别的。

在robots.txt文件中使用以下指令:
 
  • user-agent: 表示爬虫的名称(名称可以在蜘蛛数据库中找到)

  • disallow: 防止抓取某些文件、目录或网页。

  • allow: 覆盖disallow,允许抓取文件、网页和目录。

  • sitemap (可选): 显示网站地图的位置

  • *: 代表任何数量的字符

  • $: 代表结尾

robots.txt中的指令总是由两部分组成。在第一部分,定义以下指令适用于哪些机器人(user-agents)。第二部分包含指令(disallow or allow)。
举个例子给大家就懂了:"user-agent: Google-Bot"和指令 "disallow: /clients/",表示不允许Google机器人搜索目录/clients/

例如,网站https://www.example.com/ 的 robots.txt 文件可以是这样的:

User-agent: *

Disallow: /login/

Disallow: /card/

Disallow: /fotos/

Disallow: /temp/

Disallow: /search/

Disallow: /*.pdf$


Sitemap: https://www.example.com/sitemap.xml

 

robots.txt在搜索引擎优化中起到什么作用?

robots.txt文件中的指令对SEO(搜索引擎优化)有很大的影响,因为该文件允许你控制搜索机器人。然而,如果user agents被disallow指令限制太多,这对你的网站排名有负面影响。你也要考虑到,你在robots.txt中通过disallow排除的网页是不会有排名的。另一方面,如果没有或几乎没有任何disallow限制,可能会发生内容重复的网页被索引,这对这些网页的排名也有负面影响。

在将文件保存到网站根目录之前,应该检查一下语法。即使是微小的错误也会导致搜索机器人无视不允许规则,抓取不应该被索引的网站。这样的错误也会导致搜索机器人无法再访问页面,整个URL因为disallow而无法被索引。你可以使用百度站长平台检查你的robots.txt的正确性。在 "当前状态 "和 "抓取错误 "下,你会发现所有被disallow指令阻止的页面。

通过正确使用robots.txt,你可以确保你网站的所有重要部分都被搜索机器人抓取。因此,你的整个页面内容都会被谷歌和其他搜索引擎收录。