Установить заголовок из данных бэкэнда для SEO с Angular Universal - PullRequest
1 голос
/ 30 мая 2019

версия: Angular & Universal 7.xx

Если я просто вызываю 'titleService.setTitle' во время ngOnInit () без внутренних данных,
это работает для 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 a не ждал после рендеринга результата.

Я полагаю, что решение

  • если это бот, не отправил первый рендеринг HTML
    вместо завершения рендеринга после завершения всех заданий javascript.

или

  • AngularUniversalРаботает вся API связь и рендер.

Я не знаю, как сделать эту работу.

Я проверяю результаты бота с помощью этого сервиса: https://technicalseo.com/tools/pre-rendering

...