версия: 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