我是一个angular.js应用。我已经关注基于ajax的应用程序的谷歌指南。我做到了这一点:
<base href="/">
<meta name="fragment" content="!">
$locationProvider.html5Mode(true);
$locationProvider.hashPrefix('!');
<a ng-href="/#!/login">Login</a>
我发现我不应该使用escaped_fragment,这是正确的吗?难道我做错了什么?它还没有索引。 Google将主页编入索引。
当我以Google工具的形式运行抓取时,它会正确呈现所有页面。
答案 0 :(得分:0)
我们在相当长的一段时间内遇到了同样的问题,并决定使用服务prerender.io制作您应用的静态缓存,并为谷歌和其他搜索抓取工具提供此内容。
答案 1 :(得分:0)
我发现我不应该使用escaped_fragment,这是正确的吗?
这是正确的,截至此official announcement。
还引入了其他最佳做法:
为了获得最佳呈现和索引,我们的新指南指定您应允许Googlebot访问您的网页使用的JavaScript,CSS和图像文件。这为您的站点提供了最佳的呈现和索引。禁止在您网站的robots.txt中抓取Javascript或CSS文件直接损害我们的算法渲染和索引您的内容的效果,并可能导致排名不理想。
取自Official Google Webmasters Blog
那么,您是否允许Googlebot访问所有必需的文件?
你的网址是怎样的?是否也可以作为静态HTML访问?截至谷歌的公告,他们仍然推荐渐进增强的概念,因此在您的情况下也可以提供静态文件。