【问题标题】:Googlebot and AngularJS websitesGooglebot 和 AngularJS 网站
【发布时间】:2015-02-18 08:01:36
【问题描述】:

我有一个使用 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 没有看到任何真实内容。

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

【问题讨论】:

  • google bot 是否可以访问 JS(甚至可能是 CSS)文件?它们不受 robots.txt 限制?
  • 我猜他应该有访问权限。我没有任何 robots.txt。

标签: javascript angularjs seo google-index


【解决方案1】:

就您而言,它看起来不错,这是 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

【讨论】:

  • 谢谢丹。你说的对。自从我写了那篇文章以来,我取得了一些进展。我没有使用 prerender.oi 而是 SEO4ajax。到目前为止我很高兴,客户服务也很棒。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-24
  • 2014-02-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-15
相关资源
最近更新 更多