从后端数据设置标题用于Angular Universal的SEO

时间:2019-05-30 12:47:28

标签: angular angular-universal

version:Angular和Universal 7.x.x

如果我在ngOnInit()期间仅调用'titleService.setTitle'而没有后端数据,
它适用于SEO。

但是,当我从后端获取数据后尝试设置标题时, 它无法得到它。

这里是一个例子:

constructor(private titleService: Title, 
            private backendService: BackendService) {}


ngOnInit() {
   this.backendService.getDetail()
        .subscribe((r: any) => {
            const tt = r.title;
            this.titleService.setTitle(tt);
}

AngularUniversal似乎先发送了一个非常基本的HTML文件,这意味着一次完成渲染。
并从javascript作业中获取更多数据,因此searchEngine Bot在呈现结果后没有等待。

我想解决方案是

  • 如果是机器人,则未发送第一个HTML呈现
    而是在所有JavaScript工作完成后结束渲染。

  • AngularUniversal完成所有API通信和渲染。

我不知道该怎么做。

我正在使用以下服务检查机器人的结果:https://technicalseo.com/tools/pre-rendering

0 个答案:

没有答案