Google爬虫怎么抓取JavaScript。

Google爬虫怎么抓取JavaScript?工程师测试了谷歌爬虫是如何抓取JavaScript,下面就是我们从中学习到的知识。

认为Google不能处理JavaScript?再想想吧。Audette Audette分享了一系列测试结果,他和他同事测试了什么类型的JavaScript功能会被Google抓取和收录。

长话短说

1.我们进行了一系列测试,已证实Google能以多种方式执行和收录JavaScript。我们也确认Google能渲染整个页面并读取DOM,由此能收录动态生成的内容。

2.DOM中的SEO信号(页面标题、meta描述、canonical标签、meta robots标签等)都被关注到。动态插入DOM的内容都也能被抓取和收录。此外,在某些案例中,DOM甚至可能比HTML源码语句更优先。虽然这需要做更多的工作,但这是我们好几个测试中的一个。

引言:Google执行JavaScript&读取DOM

早在2008年,Google就成功抓取JavaScript,但很可能局限于某种方式。

而在今天,可以明确的是,Google不仅能制定出他们抓取和收录的JavaScript类型,而且在渲染整个web页面上取得了显著进步(特别在最近的12到18个月)。

在Merkle,我们的SEO技术团队想更好地理解谷歌爬虫能抓取和收录什么类型的JavaSscript事件。经过研究,我们发现令人瞠目的结果,并已证实Google不仅能执行各种JavaScript事件,而且能收录动态生成的内容。怎么样做到的?Google能读取DOM。

DOM是什么?

很多搞SEO的都不理解什么是Document Object Model(DOM)。

Google爬虫怎么抓取JavaScript?

当浏览器请求页面时会发生什么,而DOM又是如何参与进来的。

当用于web浏览器,DOM本质上是一个应用程序的接口,或API,用于标记和构造数据(如HTML和XML)。该接口允许web浏览器将它们进行组合而构成文档。

DOM也定义了如何对结构进行获取和操作。虽然DOM是与语言无关的API(不是捆绑在特定编程语言或库),但它普遍应用于web应用程序的JavaScript和动态内容。

DOM代表了接口,或“桥梁”,将web页面与编程语言连接起来。解析HTML和执行JavaScript的结果就是DOM。web页面的内容不(不仅)是源码,是DOM。这使它变得非常重要。

Google爬虫怎么抓取JavaScript?

JavaScript是如何通过DOM接口工作的。

我们兴奋地发现Google能够读取DOM,并能解析信号和动态插入的内容,例如title标签、页面文本、head标签和meta注解(如:rel=canonical)。可阅读其中的完整细节。

这一系列测试和结果

因为想知道什么样的JavaScript功能会被抓取和收录,我们单独对谷歌爬虫创建一系列测试。通过创建控件,确保URL活动能被独立理解。下面,让我们详细划分出一些有趣的测试结果。它们被分为5类:

JavaScript重定向

JavaScript链接

动态插入内容

动态插入Meta数据和页面元素

一个带有rel=“nofollow”的重要例子

Google爬虫怎么抓取JavaScript?

例子:一个用来测试谷歌爬虫理解JavaScript能力的页面。

1.JavaScript重定向

我们首先测试了常见的JavaScript重定向,用不同方式表示的URL会有什么样结果呢?我们选择了window.location对象进行两个测试:Test A以绝对路径URL调用window.location,而Test B使用相对路径。

结果:该重定向很快被Google跟踪。从收录来看,它们被解释为301-最终状态的URL取代了Google收录里的重定向URL。

在随后的测试中,我们在一个权威网页上,利用完全相同的内容,完成一次利用JavaScript重定向到同一个站点的新页面。而原始URL是排在Google热门查询的首页。

结果:果然,重定向被Google跟踪,而原始页面并没有被收录。而新URL被收录了,并立刻排在相同查询页面内的相同位置。这让我们很惊喜,以排名的角度上看,视乎表明了JavaScript重定向行为(有时)很像永久性的301重定向。

下次,你的客户想要为他们的网站完成JavaScript重定向移动,你可能不需要回答,或回答:“请不要”。因为这似乎有一个转让排名信号的关系。支持这一结论是引用了Google指南:

使用JavaScript为用户进行重定向,可能是一个合法的做法。例如,如果你将已登录用户重定向到一个内部页面,你可以使用JavaScript完成这一操作。当仔细检查JavaScript或其他重定向方法时,以确保你的站点遵循我们的指南,并考虑到其意图。记住301重定向跳转到你网站下是最好的,但如果你没有权限访问你网站服务器,你可以为此使用JavaScript重定向。

2.JavaScript链接

我们用多种编码方式测试了不同类型的JS链接。

我们测试下拉菜单的链接。历史上的搜素引擎一直不能跟踪这类型的链接。我们想确定onchange事件处理器是否会被跟踪。重要的是,这只是执行特定的类型,而我们需要是:其它改动后的影响,而不像上面JavaScript重定向的强制操作。

Google爬虫怎么抓取JavaScript?

例子:Google Work页面的语言选择下拉菜单。

结果:链接被完整地抓取和跟踪。

我们也测试了常见的JavaScript链接。下面是最常见类型的JavaScript链接,而传统的SEO则推荐纯文本。这些测试包括JavaScript链接代码:

作用于外部href键-值对(AVP),但在一个标签内(“onClick”)

作用href内部AVP(“javascript:window.location”)

作用于a标签外部,但在href内调用AVP(“javascript:openlink()”)

等等

结果:链接被完整抓取和跟踪。

我们下一个测试是更进一步地测试事件处理器,如上面测试的onchange。具体地说,我们希望利用鼠标移动的事件处理器,然后隐藏URL变量,该变量只在事件处理函数(在该案例是onmousedown和onmouseout)被触发时执行。

结果:链接被完整抓取和跟踪。

构造链接:我们知道Google能执行JavaScript,但想确认它们是否能读取代码里的变量。所以在该测试中,我们连接能构造URL字符串的字符。

结果:链接被完整抓取和跟踪。

3.动态插入内容

很明显,这些都是重点:动态插入文本、图像、链接和导航。优质的文本内容对搜索引擎理解网页主题和内容是至关重要的。在这个动态网站的时代,它的重要性是无需质疑的。

这些测试,设计出来是为了检查在两个不同场景下动态插入文本的结果。

1.测试搜索引擎能否统计动态插入的文本,而文本是来自页面HTML源码内的。

2.测试搜索引擎能否统计动态插入的文本,而文本是来自页面HTML源码外的(在一个外部JavaScript文件内)。

结果:在两个案例中,文本都能被抓取和收录,并且页面是根据该内容进行排名。爽!

为了了解更多相关信息,我们测试了一个通过JavaScript编写的客户端全局导航,而导航里的链接都是通过document.writeIn函数插入,并且确定它们能被完全抓取和跟踪。应该指出的是:Google能解释使用AngularJS框架和HTML5 History API(pushState)构建的网站,能渲染和收录它,并能像传统静态网页一样排名。这就是不禁止谷歌爬虫获取外部文件和JavaScript的重要性,而且这也许是Google正在从《支持Ajax的SEO指南》中移除它的原因。当你能简单地渲染整个页面时候,谁还需要HTML快照呢?

经过测试后发现,不管什么类型的内容,都是同样的结果。例如,图像加载到DOM后会被抓取和收录。我们甚至做了这样的一个测试:通过动态生成data-vocabulary.org结构数据来制作breadcrumb(面包屑导航),并将其插入DOM。结果呢?成功插入后的面包屑出现在搜索结果中了(search engine results page)。

值得注意的是,Google现在推荐用JSON-LD标记形成结构化数据。我敢肯定将来会出现更多基于此的东西。

4.动态插入Meta数据&页面元素

我们将各种对SEO至关重要的标签动态插入到DOM:

Title元素

Meta描述

Meta robots

Canonical tags

结果:在所有案例中,标签都能被抓取,其表现就像HTML源码里的元素一样。

一个有趣的补充实验帮助我们理解优先顺序。当存在冲突信号时,哪一个会胜出呢?如果源码里有noindex、nofollow标签,而DOM里有noindex、follow标签的话,将会发生什么呢?在这协议里,HTTP x-robots响应头部的行为如何作为另一个变量?这将是未来综合测试的一部分。然而,我们的测试显示:当冲突时,Google会无视源码里的标签,而支持DOM。

5.一个带有rel=“nofollow”的重要例子

我们想测试Google如何应对出现在源码和DOM的链路级别的nofollow属性。我们也因此创建了一个没有应用nofollow的控件。

Google爬虫怎么抓取JavaScript?

对于nofollow,我们分别单独测试源码vs DOM生成的注解。

源码里的nofollow正如我们所期待的那样运行(链接没被跟踪)。而DOM里的nofollow却失效(链接被跟踪,并且页面被收录)。为什么?因为在DOM里修改href元素的操作发生得太晚了:Google在执行添加rel=”nofollow”的JavaScript函数前,已准备好抓取链接和队列等待着URL。然而,如果将带有href=”nofollow”的a元素插入到DOM,nofollow和链接因在同一时刻插入,所以会被跟踪。

结果

从历史角度上看,各种SEO推荐是在任何可能的时候,要尽可能专注‘纯文本’内容。而动态生成内容、AJAX和JavaScript链接会损害主流搜索引擎的SEO。显然,这对Google不再是问题。JavaScript链接以类似普通的HTML链接方式运行(这只是表面,而我们不知道幕后程序进行了什么操作)。

JavaScript重定向都会以类似于301重定向方式对待。

动态插入内容,甚至meta标签,如rel canonical注解,无论在HTML源码,还是在最初HTML被解析后触发JavaScript生成DOM,都以同等方式对待。

Google视乎能完全渲染页面和理解DOM,而不仅是源码。实在是令人可不思议!(记得允许谷歌爬虫获取那些外部文件和JavaScript。)

Google已经在创新方面,以惊人的速度将其它搜索引擎甩在身后。我们希望看到其它搜索引擎能有同样类型的创新。如果他们要保持竞争力,并在web新时代取得实质性进展,这意味着它们要更好地支持HTML5、JavaScript和动态网站。

对于SEO,那些没有理解上述基本概念和Google技术的人,应该好好研究和学习,以赶上当前技术。如果你不把DOM考虑在内,您可能会丢失一半份额。

本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/59257.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
优化家优化家订阅用户
上一篇 2022年8月21日 17:36
下一篇 2022年8月21日

相关推荐

  • 怎样才能做一个优秀的新媒体编辑。

    一个优秀的新媒体编辑,需要集整合、编辑、创新、推广、传播能力为一身,业务涉及线上线下,掌握全方面的技能。这样,你在做新媒体过程中所学到的编辑、推广、运营能力,可以移植到任何其他平台和岗位上去。那么,…

    2023年2月19日
    011
  • 图片SEO优化技巧。

    对于很多站长而言,可能每天都在做着优化的工作,可是并没有将很多注意力放到网站图片优化上来,但是从现在的网站建设趋势上来说,这样是不正确的。相对于文字来说,图片更能引起人们的关注和访问,因此越来越多的…

    2022年8月21日
    0129
  • 深圳整站优化/SEO优化课程快速入门。

    进入SEO这个行业,已经有十个年头,在熊掌号没有正式上线之前,实际上,我早已脱离SEO很长时间,这一路走来还是经历各种风雨,目睹千奇百怪的案例,见证百度算法一次次的更迭。 SEO教程 – 百度SEO优化课程,…

    2022年9月7日
    0106
  • 没有灵感?不知道怎么写文案?十一种痛点文案启发你的思维。

    有很多同学在准备踏入网络营销行业的时候,会问老师自己的文案水平不行的话能不能入行,适不适合的问题。所以今天跟大家聊聊网络营销中文案相关的内容,希望对你有所启发。尤金·舒瓦兹在《创新广告》中说到:文案无…

    2023年2月15日
    010
  • 高质量外链在SEO优化中的实现。

    高质量的外链对网站有很大的影响。SEO优化外链可以给网站带来高流量、高点击率和大量用户。相信大家都听过这样一句话,“内容为王,外链为皇”。内容可以给SEO优化网站带来搜索引擎的信任和用户体验的提高,而外链可…

    2023年2月27日
    00
  • SEO服务:面对客户的质疑,SEOER应该保持什么样的心态。

    在中国,百度无疑是搜索领域的领头羊,由此衍生出的关键词排名服务公司不计其数。作为一个单独的SEOER,它无疑是很难与这些SEO服务公司竞争。面对顾客不断的催促和不信任,有时我们真的会灰心丧气,这就需要我们锻…

    2023年2月27日
    00
  • 网站关键词排名出现浮动的原因及解决方法。

    在浏览的这个网站也遇见了一个SEO优化人员也常见的问题,很多关键词本身100名之外的,快速到达了百度首页且位置还很靠前,没过一会刷新掉了,再过个几十分钟刷新又回来了。这个现在两个月前就已经出现了,一直持续…

    2022年8月22日
    0123
  • b2c网站seo优化怎么做,让你更轻松引流

    b2c网站是电子商务网站的一种,一般分为直接面向消费者销售产品和服务商业零售两种模式。好的b2c网站优化可以根据用户需求找到合适的用户,那么b2c网站seo优化怎么做呢?来看看吧。 b2c网站seo优化怎么做 让你更轻松…

    2022年5月24日
    0291

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息