【发布时间】:2014-07-17 14:39:28
【问题描述】:
Google 今天(2014 年 5 月 28 日)宣布,JavaScript 内容将由 google bot 呈现。哇好消息!因此,无需为抓取目的提供一些预渲染页面。在http://googlewebmastercentral.blogspot.de/2014/05/understanding-web-pages-better.html 上阅读更多相关信息
但我高兴得太早了。我关闭了预渲染服务,让谷歌使用网站管理员工具抓取我的网站。在查看呈现的 HTML 代码后,我发现:
<div ng-view></div>
很明显,Google 没有正确呈现 ng-view(希望目前如此)。所以我打开我的预渲染服务并再次抓取该网站。这是第二个问题:Google 不会将 URL 中的 hashbang (#!) 自动翻译成 ?_escaped_fragment_=,这表明 google 网站上有 AJAX 内容。更多关于 AngularJS 和 SEO 的信息可以在这里找到:http://www.yearofmoo.com/2012/11/angularjs-and-seo.html
到目前为止,据我所知,所有预渲染服务都会检查 URL 中的 ?_escaped_fragment_= 字符串。如果字符串存在,则预渲染服务将提供站点的 html 快照。但谷歌不再这样做了。总而言之:目前谷歌无法抓取包含 JS/AJAX 内容的网站。
有没有人有类似的经历?有没有办法解决这个问题?
【问题讨论】:
标签: javascript ajax angularjs seo