首先百度的抓取器会和网站的首页进行交互,拿到网站首页之后会对页面进行理解,理解包含(类型、价值计算),其次会把网站首页的所有超链接提取出来。
如上图所示,首页的超链接被称为“后链”,等到下一轮抓取的时候,抓取器会继续和这些超链接的页面进行交互,拿到页面进行提炼,依次不断一层一层的抓取,这就构成了抓取环路。
一、抓取友好性优化
1、URL规范
任何一个资源都是通过URL来抓取的,URL相对于网站的门牌号,那么URL的规划就非常重要了。尤其是如上图所示,“待抓URL”的环境,爬虫在首页的时候,并不知道URL是什么样子。
优秀的URL的特点是主流的、简单的,竟可能不要去做一些非主流的样式,让人看起来很直观的URL。
优秀URL示例:
如上图所示,第一条是百度知道的链接,整个链接分成三段,第一段是网站的站点,第二段是资源类型,第三段是资源的ID。这种就是非常简单,并且爬虫看起来非常优质的URL。
如上图所示,第三条相对百度知道多了一个段,首先第一段是网站的站点,第二段是站点的一级目录,第三段是站点的二级目录,最后一段是站点的内容ID。像这种的URL也是符合标准的。
不友好的URL示例:
如上图所示,这种链接一看就很长很复杂,有经验的站长都看得出,这种URL包含了字符,这个URL内包含了文章的标题,导致URL偏长,一个偏长的URL相对比简单的URL是不占优势的,百度站长平台的规则有明确的说到URL不能超过256字节,个人建议URL长度控制在100字节之内,100个字符足够展现出URL的资源了。
如上图所示,这段URL包含统计参数,可能会导致重复抓取,浪费站点权益,所以竟可能不使用参数,如果一定要使用参数,那么也可以保留必要参数,参数字符竟可能使用常规的连接符,比如“?”、“&”,避免非主流连接符。
2、合理发现链路
爬虫是从首页开始一层一层抓取的,所以就需要做好首页与资源页的URL关系。这样爬虫抓取相对而言比较省力。
如上图所示,从首页到具体内容的超链路径关系叫做发现链路,目前大多数移动站没有太注意发现链路的关系,所以导致爬虫无法抓取到内容页。
如上图所示,这两个站点是移动网站常见的建站方式,从发现链路的角度来讲,这两类站点是不友好。
Feed流推荐:
大多数做feed流的站点后台是有非常多的数据,用户不断的刷会有新的内容出现,但你刷新的次数再多,可能也只能刷到1%左右的内容,而爬虫相当于一个用户,爬虫不可能做到以这种方式将网站所有的内容都爬取到,所以就会导致一些页面爬虫不到,即使你有100万的内容,可能只能抓取到1-2万。
仅有搜索入口:
如上图所示,首页只有一个搜索框,用户需要输入关键词,才能找到对应的内容,但爬虫不可能做到输入关键词然后再去爬取,所以爬虫只能爬取到首页后,就没有后链了,自然抓取和收录就会不理想。
解决方案:
索引页下的内容按发布时间逆序排序的,这样做有一个好处,搜索引擎可以通过索引页即使的抓取到你网站最新的资源,另外新发布的资源要实时在索引页同步,很多纯静态的网页,内容更新了,但是首页(索引页)却没有出来,这样会导致搜索引擎通过索引页无法即使的抓取到最新的资源,第三个点是后链(最新文章)的URL需要直接在源码在露出,方便搜索引擎抓取,最后就是索引页不是越多越好,有少数优质的索引页就足够了,比如长城号,基本上只利用首页来做索引页。
最后这里和大家说一个更高效的解决方案,那就是直接通过百度站长资源平台去主动提交资源,这样搜索引擎可以绕过索引页直接抓取到最新资源,这里需要注意两个点。
Q:资源提交是不是越多越好?
A:收录效果的核心永远是内容质量,如果大量提交低质、泛滥资源会导致惩罚性打击。
Q:为什么提交了普通收录但没有抓?
A:资源提交只能加速资源发现,不能保证短时间内抓取,当然百度方面表示,算法在持续优化,让优质的内容更快得到抓取。
3、访问友好性
抓取器要和网站进行交互,要保证网站的稳定的,抓取器才能够正常的爬取。那么访问友好性主要包括以下几个方面。
访问速度优化:
加载时间建议控制在2S以内,那么无论是用户还是爬虫,对于打开速度更快的网站,都会更加青睐,其次是避免非必要的跳转,这种情况虽然是少部分,但依然有网站出现很多级的跳转,那么对于爬虫来讲,很有可能在多级跳转的同时就断开了。常见的有做了不带www的域名跳转到带WWW的域名上,然后带WWW的域名又要跳转到https上,最后更换新站,这种情况就出现了三四级的跳转。如果出现类似网站改版,建议直接全部跳转到新域名上。
规范http状态码:
我们常见的301/302的正确使用,以及404的正确使用,主要是常规的问题,用常规的方式来解决,比如遇到无效资源,那么就使用404来做,不要用一些特殊的返回状态码了。
访问稳定性优化:首先尽可能选择国内大型的DNS服务,以保证站点的稳定性,对于域名的DNS,实际上阿里云还是比较稳定靠谱的,那么其次是谨慎使用技术手段封禁爬虫抓取,如果说有特定资源不希望在百度上展现,那么可以采用robots来屏蔽,比如说网站的后台链接,大多数都是通过robots屏蔽的。如果说抓取频次太高,导致服务器压力过大,影响用户正常访问,那么可以通过资源平台的工具降低抓取频率。其次是避免防火墙误封禁爬虫抓取,那么这里建议大家可以把搜索引擎的UA加入到白名单。最后一点是服务器的稳定性,特别是在短时间内提交大量优质资源,这个时候一定要关注服务器稳定性,因为当你提交大量资源后,爬虫会随之增加,这个时候会不会导致你服务器压力过大而打不开,这个问题是需要站长关注的。
如上图所示,这三个例子就是第三方防火墙拦截的一个状态,当正常用户打开是这个状态的时候,搜索引擎抓取的时候,也会处于这个状态,所以如果遇到CC或者DDOS的时候,我们开启防火墙的前提,一定要放开搜索引擎的UA。
4、问答环节
Q:新站会不会有一个的抓取限制?
A:对于任何一个新站来讲,都没有抓取限制,不过去年开始,我们已经开始对新站有一个扶持,让你的网站,先在百度上收录起来。然后再进行一个价值判断,那么如何让百度知道你是一个新站,有两个捷径,第一个是去百度资源平台提交,第二个点是去工信部做ICP的备案,我们可以从工信部拿到ICP备案的数据,备案之后我们就知道有人建了一个新的站点,这样就可以给新站一个基础的流量扶持。
Q:每个站点蜘蛛抓取的配额都会有调整,大概多久调整一次?
A:确实会有调整,对于新资源会与你抓取频率相关,对于旧资源会与你内容质量相关,如果说新资源的质量有变化,那么抓取频率也会有变化,网站的规模有变化,那么抓取的频率也会有变化,如果说有很大的改版,那么抓取频率相对而言也会有变化。
Q:网站降权能不能恢复?
A:网站降权恢复的前提是我们会对网站进行重新评估,查看网站是不是有整改,如果有整改是不是做了404,并且有提交到资源平台,如果说完全符合要求后,搜索引擎会经过评估后,对没有违规的网站进行恢复。
Q:新站点是不是有考核期?
A:对我们来讲是没有一个考核期这么一个东西,我们前面也讲到了,竟可能会对新站的一个流量扶持,假设一个新站点流量扶持1-2个月以后,发现网站继续保持这种状态,那么就不会有一个太大的调整,当发现网站质量有明显的提升,那么我们也会相应的提升百度排名。
Q:百度对外国的服务器和国内的服务器有没有区别对待?
A:策略角度上来件,没有硬性区别对待,但是很多外国的服务器对国内部分区域封禁,以及国外服务器网站备案的角度上来讲,国内的服务器都具有优势。
Q:新站旧域名是不是更有优势?
A:如果说老域名和新站是相同的内容,确实在起步阶段有一定的优势,但仅仅是起步阶段,后期还是要看内容的质量,特别要注意的是,如果说老域名的行业和你新网站的内容不相关,即使是所谓高权重的老域名,也会适得其反。百度会认为你今天做这个,明天做那个,效果还不如重新做一个新域名。