我有一个棱角分明.js的应用程序。我遵循了谷歌关于基于ajax的应用程序的指南。我已经这样做了:
- 元标记
<base href="/">
<meta name="fragment" content="!">
- 角度.js配置
$locationProvider.html5Mode(true);
$locationProvider.hashPrefix('!');
- 我的HTML链接看起来像这样(错了吗?
<a ng-href="/#!/login">Login</a>
- 我向谷歌搜索控制台提交了站点地图(x 个月前(
发现我不应该使用escaped_fragment,对吗?我做错了什么吗?它仍然没有索引。谷歌只索引了主页。
当我将 fetch 作为谷歌工具运行时,它会正确呈现所有页面。
我发现我不应该使用escaped_fragment,对吗?
截至本官方公告,这是正确的。
此外,还引入了其他最佳实践:
为了优化呈现和编入索引的效果,我们的新指南规定,您应允许 Googlebot 访问您的网页使用的 JavaScript、CSS 和图片文件。这为您提供了网站的最佳呈现和索引。禁止在您网站的机器人中抓取 Javascript 或 CSS 文件.txt会直接损害我们的算法对您的内容的呈现和索引,并可能导致排名欠佳。
摘自谷歌网站管理员官方博客
那么,您是否允许Googlebot访问所有必要的文件?
您的网址是什么样子的?是否也可以作为静态 HTML 访问?截至Google的公告,他们仍然推荐渐进式增强的概念,因此在您的情况下,提供静态文件可能是有益的。
我们在很长一段时间内都在为同样的问题而苦苦挣扎,之后决定使用服务 prerender.io 来制作应用程序的静态缓存,并为谷歌和其他搜索爬虫提供此内容。