我有一个在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 -->
正如您所看到的,至少有一些事情看起来不太好:
标题,描述元标记。 当我使用Angular时,我在语言环境文件中有这些文本,因此,它们可以根据所选语言进行翻译。然而,似乎谷歌并没有解释这一点。因此,我没有在这些字段中向Google发送任何相关信息。
标签。这是插入所有部分模板的地方。因此,由于未运行Javascript代码,Google似乎没有看到任何真实内容。
请告诉我,如果我的分析是正确的,我该怎么做才能解决这些问题。
答案 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