Googlebot 和 AngularJS 个网站

Googlebot and AngularJS websites

我有一个用 AngularJS 1.0.7 开发的网站。我开始疯狂地开始处理 SEO。我读过很多帖子说 Google 爬虫无法为这些基于 Javascript 的网站编制索引。还有一些其他帖子说 Google 前段时间正在毫无问题地索引该站点,例如 http://ng-learn.org/2014/05/SEO-Google-crawl-JavaScript/.

关键是在 Google 网站管理员工具中我看到 0 个索引页面,如果我在跟踪菜单中 运行,探索为 Google(我不知道确切的名称英语,我有西班牙语)我得到下一个代码:

<!doctype html>
<html lang="en" ng-app="myApp">
<head>
    <meta charset="utf-8">
    <title>{{'YANPY_META_TITLE' | translate}}</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="google-site-verification" content="U26PrLYE8BjI3scjdk3oTIUR0qK7FVS7XAFByhxwuP8" />
    <meta name="author" content="Veepo Travel & Technology Services S.L.">
    <meta name="description" content="{{'YANPY_META_DESCRIPTION' | translate}}">
    <meta name="keywords" content="{{'YANPY_META_KEYWORDS' | translate}}">
    <meta property="og:title" content="{{'YANPY_META_TITLE' | translate}}">
    <meta property="og:url" content="http://www.yanpy.com">
    <meta property="og:description" content="{{'YANPY_META_DESCRIPTION' | translate}}">
    <meta property="og:site_name" content="Yanpy">
    <meta property="og:type" content="website">
    <meta property="og:image" content="http://www.yanpy.com/img/logo.png">
    <meta itemprop="name" content="{{'YANPY_META_TITLE' | translate}}">
    <meta itemprop="description" content="{{'YANPY_META_DESCRIPTION' | translate}}">
    <meta itemprop="image" content="http://www.yanpy.com/img/logo.png"> 

    <!-- css -->

    <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
    <!--[if lt IE 9]>
      <script src="../assets/js/html5shiv.js"></script>
    <![endif]-->

    <!-- Fav and touch icons -->
    <link rel="apple-touch-icon-precomposed" sizes="144x144" href="../assets/ico/apple-touch-icon-144-precomposed.png">
    <link rel="apple-touch-icon-precomposed" sizes="114x114" href="../assets/ico/apple-touch-icon-114-precomposed.png">
      <link rel="apple-touch-icon-precomposed" sizes="72x72" href="../assets/ico/apple-touch-icon-72-precomposed.png">
                    <link rel="apple-touch-icon-precomposed" href="../assets/ico/apple-touch-icon-57-precomposed.png">
                                   <link rel="shortcut icon" href="../assets/ico/favicon.png">


    <!-- JS scripts -->

</head>
<body>

    <div ng-view></div>                       

    <!-- FOOTER -->     

如您所见,至少有几处​​看起来不太好:

  1. 标题、描述元标签。 当我使用 Angular 时,我在语言环境文件中有这些文本,因此,它们可以根据所选语言进行翻译。但是,Google 似乎没有解释这一点。因此,我不会将这些字段中的任何相关信息发送到 Google。

  2. 标签。这就是插入所有部分模板的地方。因此,由于 Javascript 代码不是 运行,看起来 Google 没有看到任何真实内容。

请告诉我我的分析是否正确,以及我可以做些什么来解决这些问题。

你这边看起来没问题,这是 Google 的问题。 但是,您可以使用预渲染服务,例如 prerender.io。 (最多 250 页免费)。

至于翻译,您需要为每种语言提供位置,例如 site.com/ensite.com/cn 为 Google 提供位置,以了解它是一个多语言站点。 (看看 here,还有 Google 理解的其他 URL 结构 - 向下滚动到 URL 结构)

您似乎在使用 angular-translate,因此这里有一篇关于如何使其工作的详尽文章:http://fadeit.dk/post/angularjs-seo-for-angular-translate