2.2 SEO Ajax

2020-04-13      作者:小鱼在线小编

如果你的网站也是面向海外用户的,你肯定会和 Google 有很多的交集,特别是在 Google SEO的流量导流优化方面。

通常对于一个处在发展早期的网站来说,尤其是跨境服务网站,都会非常依赖从 Google SEO渠道获取的所谓免费流量导流。所以很多大中型网站建立独立的页面SEO优化组织,长期持续地优化网站页面,来保障页面面向Google爬虫时是非常友好的,从而帮助爬虫更好地理解所抓取页面的内容。通过这种持续优化跟踪,来持续增加该网站在Google搜索结果里的排名,从而增加Google SEO渠道流量。

但随着业务的发展,页面的建设开发维护很有可能还会持续向SEO妥协,虽然保持了对爬虫的友好,但相对真实用户的性能体验却在下降。遇到这样的问题,该如何选择,或者有其他两全其美的方案吗?

2.2.1 挑战和困难

针对SEO页面的性能优化,会遇到什么问题呢?

● 针对爬虫爬取收录的页面,页面内容必须同步展示。

● HTML 代码和实际展现的内容要保证一定程度的一致性,否则有被认作作弊页面的风险。

在同步展示的要求上面,服务端要在一次请求过程中,把整个页面所有的内容都计算完毕,这就导致了页面在服务端的响应会消耗很多时间。同时一致性的要求,使得在浏览器端方面,我们也不能轻举妄动,极大地限制了各种优化方案的使用。

在必须保障SEO渠道流量不受影响的前提下,针对SEO页面的性能优化一度处于举步维艰的境地。

2.2.2 解决方案

Google官方提供了一个称为Ajax crawlable scheme 的Ajax爬行方案,是Google为了帮助爬虫抓取网络上越来越多的富应用页面产生的内容。

1.Ajax crawlable scheme细节概括

简单地说,整个解决方案是这样工作的。爬虫在页面中发现pretty Ajax URL(基于约定,URL中包括一个“#!”这样的锚点)。接着爬虫会对这个URL做简单的修改,来表明意图:我是来抓取快照的。然后请求服务器。这个时候服务器返回一个包含全部内容的页面快照,由爬虫进行处理。而在搜索引擎结果中,只会展示原先的pretty Ajax URL。

方案如图2-5所示。

12.jpg

图2-5

在实际方案运用中,会有两种不同的实现步骤:

● 通过改造URL,向爬虫表明页面实现了Ajax crawlable scheme。

● 通过页面meta标签,向爬虫表明页面实现了Ajax crawlable scheme。

2.改造URL

改造URL的方案,比较适合原本就是富应用实现的页面,或者希望改造页面使其对爬虫更友好的情况。富应用页面中的很多内容都是通过Ajax异步请求的方式来动态生成的。

所以通过改造URL,让爬虫在抓取原页面内容时,转去抓取页面同步快照。

如果富应用页面URL本身就已经使用了Hash来构造浏览器端的queryString:

www.example.com/info.html#name=mp3

那么通过简单的改造,爬虫就可以知道该页面实现了Ajax crawlable scheme:

www.example.com/info.html#!name=mp3

而当爬虫在抓取页面的过程中遇到上面的URL时,则会将其转换成:

www.example.com/info.html?_escaped_fragment_=name=mp3

在服务端要做的就是,针对转换过的URL请求,返回包含全部内容的页面快照。

这里所谓的“页面快照”可以理解为,应该包含页面中 JavaScript 代码执行完以后出现在页面中的所有内容。

3.页面meta

对于没有Hash的页面,或者不想修改网站的URL结构,担心SEO在老的URL权重建设上归零的站点来说,笔者也提供了另一种方案。

例如,页面原本的URL是这样的:

www.example.com/info/mp3.html

在页面的head标签中,添加如下meta标签内容:

当爬虫在抓取页面过程中遇到上面的URL时,则同样会将其转换成:

www.example.com/info.mp3.html?_escaped_fragment_=

同样,在服务端要做的就是针对转换过的URL请求,返回包含全部内容的页面快照。

如果Google提供的方案可行,它将会带来很大价值:

● 可以放心使用Ajax异步化方案,而不用担心影响SEO。

● 可以基于此方案,进行更深入的前台和后台优化。

● 采用此方案后,针对终端用户的响应和爬虫的抓取响应,可以在后台架构上做分离。在架构分离的前提下,针对终端用户,提供实时信息的响应;针对爬虫,提供一定时间缓存版本的响应。从而提高对爬虫的响应速度,最终减小来自爬虫的抓取压力。

作为网站的管理员,不管所在网站来自Google SEO的导流是大还是小,都需要承担应用新方案所带来的风险。所以明白它所带来的风险,从而循序渐进地测试方案,直到全量铺开,才是正确的方法。

4.风险

Google官方博客表明,他们会相似地对待采用此类方案的Ajax页面,就像对待其他Web传统页面一样,只获取爬虫通过爬行方案提供的方式抓取到此类Ajax页面的完整内容,但不保证此类页面在搜索结果中的排序。一切取决于内容。

Google没有明确表示网站使用该方案可能产生的影响,如果网站非常依赖Google SEO渠道流量的导流,此部分流量的丢失对网站会有很大影响。

所以笔者带着下面的疑问去尝试和实验,进而控制风险:

● 方案是否为Google实验性方案,能否投入生产环境中。

● 对于页面SEO引流效果的影响的未知。

最后笔者经过半年的实验,验证了方案的可行性。并且在实验过程中,方案的应用还增加了SEO渠道的流量。


Copyright © 2009-2024 北京小鱼在线科技有限公司 All Rights Reserved   京ICP备14005856号-1   京公网安备11011402054166
友情链接:北京网站建设公司  北京网站制作公司  北京网站设计公司  北京网站开发公司  信托  信托产品  沙特签证