但这并不是唯一的问题。由于机器人被 robots.txt 阻止,因此存在爬行优先级形式的优先级冲突。当机器人爬行网络时,它会发现链接,并且必须优先考虑接下来要爬行的链接。假设 Google 找到 100 个链接并优先抓取前 50 个链接。然而,另一个机器人找到了相同的 100 个链接,但被 robots.txt 阻止爬行 50 个页面中的 10 个。相反,他们被迫围绕这些页面进行爬行,选择不同的 50 个页面进行爬行。当然,这组不同的爬网页面将返回一组不同的链接。在下一轮抓取中,Google不仅会拥有一组不同的允许其抓取的页面,而且该组本身也会有所不同,因为它之前抓取了不同的页面。
长话短说,就像众所周知的蝴蝶 萨尔瓦多 WhatsApp 数据 扇动翅膀最终引发飓风一样,对 robots.txt 的微小更改会阻止某些机器人并允许其他机器人最终导致与 Google 实际意图截然不同的结果。
你知道我不会让你悬着的。让我们做一些研究。让我们根据 Quantcast 分析互联网上排名前 1,000,000 个的网站,并确定哪些机器人被阻止、被阻止的频率以及可能产生的影响。
程序
该过程非常简单。
下载 Quantcast 百万富翁。
从所有排名前一百万的网站下载 robots.txt。
解析robots.txt以确定主页和其他页面是否可用。
收集与被阻止网站相关的链接数据。
收集与被阻止网站相关的网站上的总页面数。
报告爬虫之间的差异。
全部站点被屏蔽。
第一个也是最简单的报告指标是阻止单个爬虫(Moz、Majestic、Ahrefs)同时允许 Google 的网站数量。大多数阻止一个主要 SEO 爬虫的网站都会阻止所有这些爬虫。他们只是创建 robots.txt 来允许主要搜索引擎,同时阻止其他机器人流量。越低越好。
条形图显示 robots.txt 中阻止每个 SEO 工具的网站数量。
在分析的网站中,27,123 个屏蔽了 MJ12Bot (Majestic),32,982 个屏蔽了 Ahrefs,25,427 个屏蔽了 Moz。这意味着在业内主要的爬虫程序中,Moz 是最不可能拒绝允许 Googlebot 的网站的。但这到底意味着什么呢?