预呈现 Angular 6(用于 SEO)不会将 routerLink 转换为 Href
Prerendering Angular 6 (for SEO) does not translate routerLink to Href
我正在使用 prerender.io 使用无头 chrome 渲染 angular 6 个页面。问题是渲染器不渲染路由器 links 并且 link 信息丢失。
鉴于呈现的目的是 SEO,这尤其成问题。
例如,带有 [routerLink]="previewLink" 的按钮将呈现为没有路由器 link 的按钮。
这是一个活生生的例子
呈现的页面没有 links
https://prerender.io/raw-html?url=https%3A%2F%2Fwww.fiveabook.com%2Fbooks&adaptiveType=desktop
"Preview" 按钮中没有 href 和路由器 link:
<button _ngcontent-c12="" color="accent" mat-button="" tabindex="0" class="mat-button mat-accent ng-star-inserted"><span class="mat-button-wrapper">
angular 带路由器的页面 links
https://www.fiveabook.com/books
按钮有动态生成的路由器links。
- 最初,问题是关于 href links 的。但是,按钮没有 href links。尽管如此,渲染器并没有在预览按钮中渲染路由器 links,所以我不确定 googlebot 是否可以看到按钮 link 到哪里。
如果我在 Mac 上的 Chrome 浏览器中直接加载 https://www.fiveabook.com/books 并查找该按钮,我也没有看到 href:
看起来我们正在呈现页面,就像正常 Chrome 浏览器正在呈现它一样。
Html 按钮没有 href 属性。如果您想生成超链接按钮,只需使用 锚元素。
<a mat-button [routerLink]="...">
Link
</a>
我正在使用 prerender.io 使用无头 chrome 渲染 angular 6 个页面。问题是渲染器不渲染路由器 links 并且 link 信息丢失。
鉴于呈现的目的是 SEO,这尤其成问题。
例如,带有 [routerLink]="previewLink" 的按钮将呈现为没有路由器 link 的按钮。
这是一个活生生的例子
呈现的页面没有 links
https://prerender.io/raw-html?url=https%3A%2F%2Fwww.fiveabook.com%2Fbooks&adaptiveType=desktop
"Preview" 按钮中没有 href 和路由器 link:
<button _ngcontent-c12="" color="accent" mat-button="" tabindex="0" class="mat-button mat-accent ng-star-inserted"><span class="mat-button-wrapper">
angular 带路由器的页面 links
https://www.fiveabook.com/books
按钮有动态生成的路由器links。
- 最初,问题是关于 href links 的。但是,按钮没有 href links。尽管如此,渲染器并没有在预览按钮中渲染路由器 links,所以我不确定 googlebot 是否可以看到按钮 link 到哪里。
如果我在 Mac 上的 Chrome 浏览器中直接加载 https://www.fiveabook.com/books 并查找该按钮,我也没有看到 href:
看起来我们正在呈现页面,就像正常 Chrome 浏览器正在呈现它一样。
Html 按钮没有 href 属性。如果您想生成超链接按钮,只需使用 锚元素。
<a mat-button [routerLink]="...">
Link
</a>