Robots.txt与站点地图-谁在冲突中获胜


8

如果我阻止了robots.txt中的目录/ foo,但是我的xml站点地图包含带有/ foo的网址,那么站点地图中的网址是否会被Google和其他搜索引擎获取?换句话说,站点地图是否胜过robots.txt?我认为是,但不确定。

Answers:


12

没有机器人排除协议兼容的搜索引擎可以抓取任何 robots.txt中禁止的URL,无论身在何处否则可能会被列出。

但是,Google不一定必须对您的URL 进行爬网以建立索引。 如果他们认为自己有足够的证据表明该URL上确实存在一个页面(并且站点地图列出了很可能算作此类证据),那么他们可以简单地决定将URL添加到其索引中而没有任何内容。引用Google网站站长工具帮助页面

“尽管Google不会抓取或索引robots.txt阻止的页面的内容,但如果我们在网络上的其他页面上找到了这些URL,我们仍然可以为这些URL编制索引。因此,该页面的URL以及可能的其他URL公开可用的信息,例如网站链接中的锚文本或Open Directory Project(www.dmoz.org)的标题,都可以显示在Google搜索结果中。”

这样的页面可以作为搜索结果出现,例如针对URL本身中包含的单词或指向该页面的链接中使用的单词。

因此,如果您都在站点地图中列出了一个页面,并且在robots.txt中不允许该页面,则Google很有可能对该页面的URL进行索引,但不会为其内容建立索引。


这样一来,您的回答将是“是”而不是“否”,不是吗?:)因为尽管目录在robots.txt中被阻止,但它仍会拾取URL,您似乎对此表示同意。
亨里克·埃兰森

3

Robots.txt定义了允许或不允许请求哪些符合条件的漫游器。即使站点地图中存在特定链接,但如果robots.txt不允许,则不允许漫游器请求该链接。

请记住,站点地图不是必需的,即使提供了站点地图,爬网程序也可能会忽略URL,而不会爬网URL。如果可以在Google网站站长工具中看到此信息,则表明并非所有站点地图中的URL都会被抓取,并且某些URL是自动的


3

Itai的答案是正确的,因此除了回答您的特定问题外,没有什么要增加的主要内容了……

站点地图不能胜过robots.txt,站点地图不为网站上的抓取工具提供任何说明/指令。他们甚至没有可比性。如果您指示机器人不要访问/跟随,/foo则任何遵循您的机器人指令的机器人都将根本不会访问该目录,无论它们到达那里的路径是什么(站点地图或其他方式)。


嗯...这就是Google在其文档中关于如何处理抓取的说法。[absoluteURL]指向站点地图,站点地图索引文件或等效URL。该URL不必与robots.txt文件位于同一主机上。可能存在多个站点地图条目。作为非组成员记录,这些记录不与任何特定的用户代理相关联,并且所有爬网程序都可以遵循这些记录,前提是不允许这样做
zigojacko

3
当Google可以正确处理robots.txt文件时,站点地图文件中提到的网址将永远不会在robots.txt文件中胜过有效的禁止指令。禁止抓取的网址不会被Googlebot抓取。
John Mueller

0

在Google网站管理员中:显示XML网站地图中的错误:“您在robots.txt文件中放置了防止抓取的链接。Google首选robots.txt文件而不是Sitemap。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.