【问题标题】:Angular and SEO indexingAngular 和 SEO 索引
【发布时间】:2015-04-16 00:43:03
【问题描述】:

我正在努力为 Angular SEO 问题找到一个完整、明确和最新的答案。

我有一个 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 时,我会看到关于页面。

问题:Google 似乎没有将视图中的链接或内容编入索引。

我看过解释 Google 现在如何执行 javascript 的教程,因此它应该呈现视图,但是当它抓取时,它会将 hashbang 替换为 ?_escaped_fragment_=

1:我应该启用 hashbangs 而不是仅在 URL 中启用哈希吗?这对 Google 抓取我的网站有帮助吗? Angular 是这样解释的:$locationProvider.hashPrefix('!');

2:我应该在 HTML5 模式下瞄准干净的 URL 吗?比如www.example.com/about

3: URL hashbang/HTML5 模式是我唯一需要担心的事情吗? Google 真的会执行加载视图和更新页面标题所需的 javascript,然后读取呈现的结果吗?

【问题讨论】:

    标签: javascript angularjs html seo


    【解决方案1】:

    更新:我们不再推荐我们在 2009 年提出的 AJAX 抓取提案。

    2009 年,我们提出了一项使 AJAX 页面可抓取的提案。那时,我们的系统无法呈现和理解使用 JavaScript 向用户呈现内容的页面。因为“爬虫……[无法]看到任何内容……动态创建”,我们提出了一组网站管理员可以遵循的做法,以确保其基于 AJAX 的应用程序被搜索引擎索引。

    时代变了。今天,只要您不阻止 Googlebot 抓取您的 JavaScript 或 CSS 文件,我们通常能够像现代浏览器一样呈现和理解您的网页。为了体现这一改进,我们最近更新了我们的网站站长技术指南,建议不要禁止 Googlebot 抓取您网站的 CSS 或 JS 文件。

    由于我们 2009 年提案的假设不再有效,我们建议遵循渐进增强的原则。例如,您可以使用 History API pushState() 来确保更广泛的浏览器(和我们的系统)的可访问性。

    http://googlewebmastercentral.blogspot.com/2015/10/deprecating-our-ajax-crawling-scheme.html

    【讨论】:

      【解决方案2】:

      对于您希望 Google 抓取的每个带有 hashbang 的页面,您应该提供相应的“escaped_fragment”(快照)页面,以便 Google 实际访问该页面。 该页面应该只是 HTML。

      据我所知,Google 不会解释 javascript 并加载您的视图。

      我建议你访问这个页面:Serious Angular SEO

      所以,回答你的问题:

      1:是的;

      2:没有;

      3:您需要为 Google 提供快照,这是实际 SEO 工作所在的位置;涉及服务器端工作,当在 url 中检测到 _escaped_fragment_ 时呈现快照

      【讨论】:

      • 那么,这个网址解释不正确? -> weluse.de/blog/angularjs-seo-finally-a-piece-of-cake.html
      • @TMichel 那篇文章与使用 HTML5 模式和 SEO 有关。我也不相信它是正确的。我的问题和这里的答案主要与使用 hashbangs 和 HTML 快照有关。我最近发布了另一个关于在没有快照的情况下使用 HTML5 模式的问题。
      • 感谢您的澄清
      猜你喜欢
      • 1970-01-01
      • 2016-03-17
      • 2017-11-08
      • 2016-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-23
      • 2018-06-15
      相关资源
      最近更新 更多