Предварительный рендеринг Angular 6 (для SEO) не переводит routerLink в Href - PullRequest
1 голос
/ 30 марта 2019

Я использую prerender.io для рендеринга угловых 6 страниц, используя безголовый хром.Проблема в том, что средство визуализации не отображает ссылки на маршрутизатор, а информация о связи теряется.

Это особенно проблематично, учитывая, что целью рендеринга является SEO.

Например, кнопкаwith [routerLink] = "previewLink», будет отображаться на кнопке без ссылки на маршрутизатор.

Вот живой пример

отображаемой страницы без ссылок

https://prerender.io/raw-html?url=https%3A%2F%2Fwww.fiveabook.com%2Fbooks&adaptiveType=desktop

Нет ссылок и маршрутизатора в кнопках «Предварительный просмотр»:

<button _ngcontent-c12="" color="accent" mat-button="" tabindex="0" class="mat-button mat-accent ng-star-inserted"><span class="mat-button-wrapper">

угловая страница со ссылками на маршрутизатор

https://www.fiveabook.com/books

Кнопки имеют динамически генерируемые ссылки на маршрутизаторы.

  • Изначально вопрос касался ссылок href.Тем не менее, кнопки не имеют ссылки href.Тем не менее, отображаемый файл не отображает ссылки маршрутизатора в кнопках предварительного просмотра, поэтому я не уверен, что googlebot может видеть, куда ссылаются кнопки.

Ответы [ 2 ]

1 голос
/ 01 апреля 2019

Кнопки HTML не имеют атрибута href. Просто используйте элемент привязки , если вы хотите сгенерировать кнопку гиперссылки.

<a mat-button [routerLink]="...">
Link
</a>
1 голос
/ 31 марта 2019

Если я загружаю https://www.fiveabook.com/books прямо в браузер Chrome на моем Mac и ищу эту кнопку, я тоже не вижу там href:

enter image description here

Похоже, что мы визуализируем страницу точно так же, как это делает обычный браузер Chrome.

...