我正在Angular 7应用中集成Angular Universal。
第一种方法(正在生产中):
我的(所有个人)博客都作为单独的html
文件发布,并直接上传到S3存储桶(出于SEO的目的),其中包括title
,description
和元标记。
第二种方式(开发阶段):
现在,我正在集成Angular Universal,我正在做的事情是我从<url>/view-blog/{id}
之类的角度路线服务单个博客。我正在使用MetaService
添加title
和元标记,如下所示:
ngOnInit() {
this.initialize();
}
initialize() {
let blogId = this.route.snapshot.params['id'];
if (AppUtils.isUndefinedOrNull(blogId)) {
// Return back to main blog page
this.router.navigate([constants.pageUrl.blogs]);
return;
}
this.loading = this.blogService.getBlogById(blogId).subscribe(
(resp: any) => {
this.blog = resp.blog;
this.metaService.setTitle(this.blog.title, true);
this.metaService.setTag("keywords", this.blog.metadataKeywords);
this.metaService.setTag("description", this.blog.name);
}, (err) => {
// Deal with error
}
)
}
使用上述代码,我们正在等待服务返回元标记,Angular-Universal和MetaService
会帮助爬网程序查找元标记吗?
“第二种方式”也是显示博客的正确方法(请牢记标题,描述,关键字以及所有为爬虫设置的SEO内容)?还是只坚持“第一方法”?最佳做法是什么?
答案 0 :(得分:0)
我不建议您使用第二种方法。大多数搜寻器不会执行JavaScript代码,因此它们永远不会知道标题是什么。尝试用HTML硬编码爬虫的所有重要信息。