Javascript 角度索引和搜索引擎优化索引

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",

我正在努力找到一个完整的,明确的和最新的答案角搜索引擎优化问题

我有一个Angular应用程序,它有一个带有多个视图的主模板
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模式的问题。谢谢澄清