谷歌更新和AngularJS/JavaScript网站

Google update and AngularJS/JavaScript websites

本文关键字:JavaScript 网站 AngularJS 更新 谷歌      更新时间:2023-09-26

Google今天(2014年5月28日)宣布,JavaScript内容将由Google bot呈现。哇,好消息!因此,没有必要为爬行目的提供一些预呈现的页面。更多信息请访问http://googlewebmastercentral.blogspot.de/2014/05/understanding-web-pages-better.html

但是我太高兴了,太早了。我关闭了预渲染服务,让谷歌用网站管理员工具抓取我的网站。在我查看呈现的html代码之后,我发现:

<div ng-view></div>

所以很明显,谷歌没有正确渲染ng-view(希望目前)。所以我打开预渲染服务,再次抓取网站。这里是第二个问题:谷歌不翻译的哈希邦(#!)在URL,这表明谷歌的AJAX内容是在网站上,自动成?_escaped_fragment_=。更多关于AngularJS和SEO的信息可以在这里找到:http://www.yearofmoo.com/2012/11/angularjs-and-seo.html

据我所知,到目前为止,所有的预呈现服务检查URL中的?_escaped_fragment_=字符串。如果该字符串存在,预呈现器服务将提供站点的html快照。但谷歌不再这么做了。所以总结一下:目前带有JS/AJAX内容的网站不能被Google抓取。

有人有过类似的经历吗?这个问题有什么解决办法吗?

支持您的发现,我没有看到谷歌正确地预渲染ajax内容-至少在webmastertools渲染器中没有。Google之前一直在正确地呈现ajax内容,遵循他们自己的"使ajax可抓取"指南(更多信息见:https://developers.google.com/webmasters/ajax-crawling/docs/getting-started)以及在搜索索引中,如在webmastertools服务中,从"?_escaped_fragment_="获取内容。

由于这似乎是谷歌网站上的一个错误,我们不会在这里找到答案,而是通知谷歌。