Javascript 角度索引和搜索引擎优化索引
我正在努力找到一个完整的,明确的和最新的答案角搜索引擎优化问题 我有一个Angular应用程序,它有一个带有多个视图的主模板Javascript 角度索引和搜索引擎优化索引,javascript,angularjs,html,seo,Javascript,Angularjs,Html,Seo,我正在努力找到一个完整的,明确的和最新的答案角搜索引擎优化问题 我有一个Angular应用程序,它有一个带有多个视图的主模板index.html。视图的处理方式如下: app.config(["$routeProvider", function($routeProvider) { $routeProvider .when("/", { templateUrl : "views/home.html", controller : "HomeController",
index.html
。视图的处理方式如下:
app.config(["$routeProvider", function($routeProvider) {
$routeProvider
.when("/", {
templateUrl : "views/home.html",
controller : "HomeController",
title: "Home"
})
.when("/about", {
templateUrl : "views/about.html",
controller : "AboutController",
title: "About"
});
}]);
现在,当我进入www.example.com/#/about
时,我会看到about页面
问题:谷歌似乎没有索引视图中的链接或内容
我看过一些教程,解释了Google现在是如何执行javascript的,因此它应该呈现视图,但是当它爬行时,它会用?\u转义\u片段=
1:我应该启用hashbang而不仅仅是URL中的哈希吗?这对谷歌抓取我的网站有帮助吗?Angular解释了如何这样做:$locationProvider.hashPrefix(“!”)代码>
2:我应该在HTML5模式下使用干净的URL吗?例如,转到www.example.com/about
3:URL hashbang/HTML5模式是我唯一需要担心的事情吗?Google真的会执行加载视图和更新页面标题所需的javascript,然后读取呈现结果吗?对于每个需要Google抓取的hashbang页面,您应该提供一个相应的“转义片段”(快照)页面,Google将实际访问该页面。
该页面应该只是HTML
据我所知,谷歌不会解释javascript并加载您的视图
我建议您访问此页面:
因此,要回答您的问题:
1:是的
2:没有
3:你需要为谷歌提供快照,这是实际的搜索引擎优化工作所在;这涉及到服务器端的工作,在url中检测到“转义的”片段时呈现快照更新:我们不再推荐2009年提出的AJAX爬行方案
2009年,我们提出了一个让AJAX页面可爬行的建议。当时,我们的系统无法呈现和理解使用JavaScript向用户呈现内容的页面。因为“爬虫程序……无法看到任何动态创建的内容”,我们提出了一组站长可以遵循的实践,以确保其基于AJAX的应用程序被搜索引擎索引
时代变了。今天,只要你不阻止Googlebot抓取你的JavaScript或CSS文件,我们通常能够像现代浏览器一样呈现和理解你的网页。为了反映这一改进,我们最近更新了我们的技术网站管理员指南,建议不要禁止Googlebot爬行您网站的CSS或JS文件
由于我们2009年提案的假设不再有效,我们建议遵循逐步增强的原则。例如,您可以使用历史API pushState()来确保更广泛的浏览器(以及我们的系统)的可访问性
那么,这个URL解释是不正确的?->@TMichel那篇文章是关于使用HTML5模式和SEO的。我也不相信这是正确的。这里我的问题和答案主要与使用hashbang和HTML快照有关。我最近发布了另一个关于在没有快照的情况下使用HTML5模式的问题。谢谢澄清