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 -->
如您所见,至少有几处看起来不太好:
标题、描述元标签。
当我使用 Angular 时,我在语言环境文件中有这些文本,因此,它们可以根据所选语言进行翻译。但是,Google 似乎没有解释这一点。因此,我不会将这些字段中的任何相关信息发送到 Google。
标签。这就是插入所有部分模板的地方。因此,由于 Javascript 代码不是 运行,看起来 Google 没有看到任何真实内容。
请告诉我我的分析是否正确,以及我可以做些什么来解决这些问题。
你这边看起来没问题,这是 Google 的问题。
但是,您可以使用预渲染服务,例如 prerender.io。 (最多 250 页免费)。
至于翻译,您需要为每种语言提供位置,例如 site.com/en
和 site.com/cn
为 Google 提供位置,以了解它是一个多语言站点。 (看看 here,还有 Google 理解的其他 URL 结构 - 向下滚动到 URL 结构)
您似乎在使用 angular-translate,因此这里有一篇关于如何使其工作的详尽文章:http://fadeit.dk/post/angularjs-seo-for-angular-translate
我有一个用 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 -->
如您所见,至少有几处看起来不太好:
标题、描述元标签。 当我使用 Angular 时,我在语言环境文件中有这些文本,因此,它们可以根据所选语言进行翻译。但是,Google 似乎没有解释这一点。因此,我不会将这些字段中的任何相关信息发送到 Google。
标签。这就是插入所有部分模板的地方。因此,由于 Javascript 代码不是 运行,看起来 Google 没有看到任何真实内容。
请告诉我我的分析是否正确,以及我可以做些什么来解决这些问题。
你这边看起来没问题,这是 Google 的问题。 但是,您可以使用预渲染服务,例如 prerender.io。 (最多 250 页免费)。
至于翻译,您需要为每种语言提供位置,例如 site.com/en
和 site.com/cn
为 Google 提供位置,以了解它是一个多语言站点。 (看看 here,还有 Google 理解的其他 URL 结构 - 向下滚动到 URL 结构)
您似乎在使用 angular-translate,因此这里有一篇关于如何使其工作的详尽文章:http://fadeit.dk/post/angularjs-seo-for-angular-translate