我当前的HTML看起来像这样:
<title ng-bind="title">Loading</title>
<meta name="description" content="[[description]]">
<base href="/">
<meta name="fragment" content="!">
angular.js config:
$locationProvider.html5Mode(true);
$locationProvider.hashPrefix('!');
我认为足以让googlebot索引网站正确使用。但不,它没有采取正确的标题或描述。如果我运行&#34;以googlebot&#34;网站呈现正确..我该怎么办?
答案 0 :(得分:2)
我认为您不再需要为Google抓取工具预呈网页。不久之后,它开始注意到javascript的变化。
我实际回答了关于AngularJS seo that will help you here:
的问题在上面的链接中查找我的答案。我还提供了可能对您有用的指令。
顺便问一下,你确定你正确使用angularjs表达式吗?您使用[[]]进行了解密,通常是{{}}
答案 1 :(得分:1)
您需要预呈现引擎来呈现机器人的HTML。在这里阅读一些内容:https://scotch.io/tutorials/angularjs-seo-with-prerender-io
以下是机器人用于抓取您网站的escaped_fragment
:https://developers.google.com/webmasters/ajax-crawling/docs/specification?hl=en
答案 2 :(得分:0)
Google有时会忽略标题或元标记中提供的信息。但它看起来更像是一个技术问题。
我至少会使用ng-content-attr而不是直接将其写入元内容属性。
ng-attr-content="{{description}}"
也许Google会在anuglar用正确的字符串替换它之前提取你的标题信息!
另一种方法是使用一个指令来处理这个问题。幸运的是,我只是写了一个..继续尝试,你会看到这个设置谷歌将认出你的头衔! https://github.com/w11k/w11k-angular-seo-header/blob/master/angular-seo-header.js