Googlebot和AngularJS网站

时间:2015-02-18 08:01:37

标签: javascript angularjs seo google-index

我有一个在AngularJS 1.0.7中开发的网站。我开始疯狂地开始处理SEO了。我看过很多帖子说Google Crawlers无法为这些基于Javascript的网站编制索引。还有一些其他帖子称谷歌在不久前没有问题就将这些网站编入索引,例如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发送任何相关信息。

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

  3. 请告诉我,如果我的分析是正确的,我该怎么做才能解决这些问题。

1 个答案:

答案 0 :(得分:1)

你自己看起来很好,这是谷歌的问题。 但是,您可以使用预呈现服务,例如prerender.io。 (它可以免费获得250页)。

至于翻译,您需要为每种语言提供一个位置,例如site.com/en&amp; site.com/cn让Google了解它是一个多语言网站。 (看看here,Google了解其他网址结构 - 向下滚动到网址结构)

看起来你正在使用angular-translate,所以这里有一篇关于如何使其工作的大量文章:http://fadeit.dk/post/angularjs-seo-for-angular-translate