angular.js 搜索引擎优化 - google 索引

angular.js seo - google indexing

我目前的 html 看起来像这样:

<title ng-bind="title">Loading</title>
<meta name="description" content="[[description]]">
<base href="/">
<meta name="fragment" content="!">

angular.js 配置:

$locationProvider.html5Mode(true);
$locationProvider.hashPrefix('!');

我认为让 googlebot 正确索引站点就足够了。但是不,它没有采用正确的标题或描述。如果我 运行 "fetch as googlebot" 网站正确呈现..我应该怎么办?

您需要一个预渲染引擎来为机器人渲染 HTML。在这里阅读一些东西:https://scotch.io/tutorials/angularjs-seo-with-prerender-io

这里是关于 escaped_fragment 机器人用来抓取您网站的信息:https://developers.google.com/webmasters/ajax-crawling/docs/specification?hl=en

我认为您不再需要为 Google 抓取工具预呈现您的页面。不久前,它开始注意到 javascript 变化。

我实际上已经回答了一个关于 AngularJS seo that will help you here:

的问题

在上面link寻找我的答案。我还提供了一个可能对您有用的指令。

顺便问一下,您确定您正确使用了 angularjs 表达式吗?您有使用 [[]] 的描述,通常是 {{}}

有时 Google 会忽略标题或元标记中提供的信息。但它看起来更像是一个技术问题。

我至少会使用 ng-content-attr 而不是直接将其写入元内容属性。

ng-attr-content="{{description}}"

也许 Google 在 anuglar 将其替换为正确的字符串之前提取您的标题信息!


另一种方法是使用一个指令来为您处理这个问题。幸运的是我刚刚写了一个..继续尝试,你会看到这个设置 google 识别你的标题! https://github.com/w11k/w11k-angular-seo-header/blob/master/angular-seo-header.js