网站内部优化做了很多天,终于开放给爬虫看了。今天改模板改累死,到现在才大体改得差不多(用户体验还不行),过来写篇和爬虫效率有关的文章。
加快爬虫抓取效率在SEO之中是一件比较重要的事情,尤其对于中大型网站而言,应该将多半的精力都放在让爬虫抓取的更多更准上面(“准”指的主要是不要让它抓到无意义页面)。
首先robots文件是个很强的利器,当网站上面拥有重复内容、无意义页面等(需要屏蔽的主要是拥有重复内容或无内容的无意义页面,其他的,黑帽做法可以留下,你懂的。),就可以果断的屏蔽掉。
具体的书写方法不说了,这个网上实在是一搜一大把。只是顺带提示两点。
一,robots可以用通配符写,书写是比较自由的。
二,可以把xml格式的sitemap路径放在robots中,供搜索引擎寻找。
此外有类似屏蔽效果的还有meta robots等,这种是个因为SEO诞生的元标记。具体写法也懒得写,但也顺带一提的是,其中的nofollow可以让百度不抓取页面上的所有链接(rel="nofollow"不能阻止百度爬虫抓取),noindex可以让搜索引擎不把当前网页置入索引库,但是上面有的链接,爬虫都会去分析。若要屏蔽链接,把nofollow加上。另外之前提到过的rel=”nofollow”属性是个非常好的东西。这个是用在a标签里面的,比如:<a href=http://www.chinaz.com/Webbiz/Seo/"http://www.abc.com/" rel="nofollow">…</a>
它的意思是,让搜索引擎不要为这个链接传递权值(可以简单视为PR)。在Google等搜索引擎上,使用了这个标签的链接不会被爬,Google帮助里面提到的。而对于百度,不仅会爬这个链接,还会传递锚文本效果(这会提升对应网页的相关性,虽然不提升权重)。后者是个人的发现,前段时间把一段字指向Google首页,用了nofollow,加了一个莫名奇妙的锚文本。过了段时间,用这个字符串搜索(还是加了引号的精确匹配)时,Google排在了第一位,由此可见度娘对于nofollow的莫名暧昧(或者是对于谷“哥”的暧昧= =)。
总之不管如何,最重要的是PR这种东西不会再传递了。之前在我的文章里面有提到过,一个网页如果重要的话,它将会有很高的引用数量,就是有一堆链接连向它。而网站上面,经常会有“联系我们”之类的页面被其他所有的页面所链接,然后获得了高的PR值,爬虫就常常去光顾这些页面。显然这是不必要的,此时nofollow阻止下权重的传递就能省下爬虫大量的在无意义页面上面耗的时间。
貌似按照正常篇幅习惯的话,怎么都写不完提升爬虫效率,那么就分两篇算了,这篇再唠叨下静态,动态和伪静态。
动态url:当无意生成什么爬虫陷阱(无限循环型,比如被人说烂的例子,日历程序的“下一月”无限存在。),爬虫往往可以靠参数分析出哪些有可能是陷阱,就此逃掉。好处是,如果没注意过爬虫陷阱这个问题,动态url能帮一把。但可能会有极少数情况,好好的页面被错误判断了。
但现在搜索引擎的技术对于动态url已经没什么显著问题了,只要后面不跟着一串sessionid就好。
伪静态:它的主要好处是,url看着爽。其他的就不太多了。因为搜索引擎技术的日益完善,多数情况下对于动态的url分析不会有什么问题,最早要伪静态是因为当时搜索引擎太弱而已。
缺点主要有二,一是伪静态的本质是从动态url重定向,这个比较拖累服务器速度,也会略微拖慢爬虫抓取效率。二是当生成之前所说的无限循环页面时,因为url没有参数什么的,看上去和正常页面一摸一样,爬虫就可能会死在里面浪费大量时间。
静态:诸如WP这种程序,本身功能太强大导致反应速度慢,静态缓存就是个很好的选择。大致上就是先生成个html文件,用户请求时直接返回html的,而不需要服务器重新运算。如果是WP,可以用Super Cache之类的插件,虽然不是完全意义上的静态(复杂的问题不多讲了。),但要的效果基本达到了。
而对于网站流量超级巨大的网站,静态化也是必须的,不然要多配个几倍的服务器。但依然有缺点,比如会生成大量文件、网站更新不灵活等等,对于某些限制文件数量的空间就没法做静态缓存。
纯SEO角度上,最好是选择静态缓存的方式,这对于提升爬虫效率是改观非常大的(尤其像WP这种)。除此之外,个人推荐小型网站用伪静态,中大型网站用动态。
最后再顺带一提,开启Gzip大概是提升爬虫效率的最省事的方式吧,效果也几乎是最显著的。这里不多写了,因为我也不熟悉,我的空间是默认开启Gzip的。WP有一键开启Gzip的插件,很是省心。
本文由www.0755315.net原创,欢迎大家批评指正!
感谢 防伪系统 的投稿