在经历了一些现有问题及其答案之后,我无法在AngularJs中实现完美的策略。
我找到的方法是实现它 -
答案 0 :(得分:0)
正如链接的堆栈问题所说
" Google抓取工具现在可以执行javascript - 您可以使用Google 网站管理员工具可以更好地了解您的网站的呈现方式 谷歌" Check it out here
这意味着您不需要经历许多痛苦的步骤来让Google为加载AJAX的HTML编制索引。如果您使用AJAX加载元数据,那就没问题了。
我所做的解决方案是创建一个AngularJS指令,以便从加载的模型中快速添加页面的元数据和标题名称。
/*
SEO directives
*/
dtvs.directive('metaSeo', function() {
return {
restrict: 'E',
scope: {
desc: '=',
title: '='
},
link: function(scope, el, attr) {
scope.$watch('desc', function() {
return $("head meta[name='description']").attr('content', scope.desc);
});
return scope.$watch('title', function() {
return $("head title").html(scope.title);
});
}
};
});
我在上面的示例中使用了jQuery来做到这一点,但是可以随意交换它。
上面的指令为您提供了一个HTML元素,您可以将其放在该页面的某个位置:
<meta-seo data-desc="lesson.brief" data-title="lesson.title"></meta-desc>
如果您有类似的指令,那么搜索引擎优化元数据和标题应该由谷歌抓取而没有问题。