机器人放牧和蜘蛛争霸的终极指南 - 第二部分 2017-07-13 04:14:22

$888.88
所属分类 :奇闻

在我们的三部分系列的第一部分中,我们了解了机器人是什么以及为什么爬行预算很重要让我们来看看如何让搜索引擎知道什么是重要的以及一些常见的编码问题当机器人抓取您的网站时,有一个通过你的文件引导它的提示数量像人类一样,机器人按照链接来了解你网站上的信息但他们也在查看你的代码和目录中的特定文件,标签和元素让我们来看看一个数字机器人文档文件对于复杂的站点,机器人文件文件是必不可少的对于只有少量页面的小型站点,机器人文件文件可能没有必要 - 没有它,搜索引擎机器人只会抓取您网站上的所有内容有两种主要方法可以使用您的robotstxt文件引导机器人1首先,您可以使用“disallow”指令这将指示机器人忽略特定的统一资源定位器(URL s),文件,文件扩展名,甚至是网站的整个部分:用户代理:Googlebot Disallow:/ example /虽然disallow指令会阻止机器人抓取您网站的特定部分(因此节省了抓取预算),但它会不一定会阻止页面被编入索引并显示在搜索结果中,例如可以在这里看到:隐藏且无用的“此页面没有可用信息”消息不是您希望在搜索列表中看到的内容上面的例子是因为censusgov / robotstxt中的这个disallow指令:User-agent:Googlebot Crawl-delay:3 Disallow:/ cgi-bin / 2另一种方法是使用noindex指令Noindexing某个页面或文件不会阻止它然而,从被抓取开始,它将阻止它被索引(或从索引中删除)这个robotstxt指令由Google非正式支持,并且Bing完全不支持(所以一定要有User-agent:* Bingbot和Bing的一套禁令除Googlebot之外的其他机器人):用户代理:Googlebot Noindex:/ example / User-agent:* Disallow:/ example /显然,由于这些页面仍在被抓取,它们仍将用尽您的抓取预算这是一个问题经常被遗漏:disallow指令实际上将撤消元机器人noindex标签的工作这是因为disallow阻止机器人访问页面的内容,从而防止查看和遵守元标记另一个警告使用robotstxt文件到群体机器人并不是所有机器人都表现良好,有些甚至会忽略你的指令(尤其是寻找漏洞的恶意机器人)有关这方面的更详细的概述,请查看更深入的了解Robotstxt XML站点地图帮助机器人了解其底层结构您的网站重要的是要注意机器人使用您的站点地图作为线索,而不是权威指南,如何索引您的站点机器人还考虑其他因素(如您的内部链接结构)来弄清楚什么您的网站是关于您的可扩展标记语言(XML)站点地图最重要的事情是确保您发送给搜索引擎的消息与您的robotstxt文件一致不要将机器人发送到您阻止它们的页面;考虑您的抓取预算,特别是如果您决定使用自动生成的站点地图您不希望意外地为抓取工具提供数千页精简内容进行排序如果您这样做,他们可能永远无法访问您最重要的页面第二重要事情是确保您的XML站点地图仅包含规范网址,因为Google将您的XML站点地图视为规范化信号如果您的网站上有重复的内容(您不应该这样做),那么rel =“canonical”链接元素会告诉机器人应该将哪个URL视为主版本要注意这一点的一个关键位置是您的主页许多人都没有意识到他们的网站可能在不同的URL中存放同一页面的多个副本如果搜索引擎尝试索引这些页面,那么他们会冒重复内容过滤器的风险,或者至少稀释你的链接资产注意,添加规范链接元素不会阻止机器人抓取重复的页面以下是Google多次索引此类主页的示例:正确设置rel =“next”和rel =“prev”链接元素非常棘手,很多人都在努力做到正确 如果您正在运营一个每个类别包含大量产品的电子商务网站,那么rel = next和rel = prev是必不可少的,如果您想避免陷入谷歌的重复内容过滤器想象您有一个销售滑雪板的网站说您有50种不同的型号在主类别页面上,用户可以查看前10个产品,每个产品都有产品名称和缩略图

然后,他们可以点击第2页以查看接下来的10个结果,依此类推具有相同或非常相似的标题,元描述和页面内容,因此主类别页面应该在超文本标记语言的头部中具有rel =“next”(没有rel =“prev”,因为它是第一页) HTML)将rel =“next”和rel =“prev”链接元素添加到每个后续页面告诉抓取工具您要将这些页面用作序列

或者,如果您有“查看全部”页面,则可以规范化为所有paginat上的“查看全部”页面离开页面并完全跳过rel = prev / next其缺点是“查看全部”页面可能会显示在搜索结果中如果页面加载时间过长,则搜索的跳出率访问者会很高,如果没有rel =“canonical”,“rel =”next“和rel =”prev“链接元素,这些页面将相互竞争排名,并且您冒着重复内容过滤器的风险,这不是一件好事正确实施,rel = prev / next将指示Google将序列视为一个页面,或者rel = canonical将所有值分配给“查看全部”页面如果您想要有机排名,那么干净的代码很重要不幸的是,小错误可以混淆爬虫并导致搜索结果出现严重障碍以下是一些需要注意的基本内容:1无限空间(又称蜘蛛陷阱)编码不良有时会无意中导致“无限空间”或“蜘蛛陷阱”问题如无尽的URL指向同样的内容,或以多种方式呈现相同信息的页面(例如,对产品列表进行排序的数十种方式),或包含无限日期的日历,可能导致蜘蛛卡在可以循环的循环中快速耗尽爬行预算错误地在您的超文本传输​​协议中提供200状态代码404错误页面的安全(HTTP)标头是向机器人呈现没有有限界限的另一种方式依靠Googlebot正确确定所有“软” 404s“是一个危险的游戏,可以用你的爬行预算当一个机器人遇到大量的精简或重复的内容时,它最终会放弃,这可能意味着它永远不会达到你最好的内容,而你最终会陷入一堆无用的境地索引中的页面查找蜘蛛陷阱有时可能很困难,但使用上述日志分析程序或像Deep Crawl这样的第三方爬虫是一个很好的起点您正在寻找的是不应该发生的机器人访问ning,不存在的URL或没有任何意义的子串另一个线索可能是具有无限重复元素的URL,例如:examplecom / shop / shop / shop / shop / shop / shop / shop / shop / shop / ... 2嵌入式内容如果您希望有效地抓取您的网站,最好保持简单Bots经常遇到JavaScript,框架,Flash和异步JavaScript和XML(AJAX)的问题尽管Google在抓取Javascript和AJAX等格式方面做得越来越好,但它是最安全的是坚持使用老式的HTML你可以使用无限滚动的一个常见例子虽然它可能会提高你的可用性,但它可能使搜索引擎难以正确地抓取你的内容并将其编入索引确保你的每一篇文章都是如此或产品页面具有唯一的URL并通过传统的链接结构连接,即使它是以滚动格式呈现在本系列的下一个和最后一部分中,我们将看看机器人如何看待您的移动页面,讨论你是否应该阻止坏机器人,并深入了解本地化和hreflang标签敬请期待!本文中表达的观点是客座作者的观点,不一定是搜索引擎土地工作人员的作者在此列出