首页 > 解决方案 > 社交媒体的 Angular Meta 标签无法抓取

问题描述

我正在开发 Angular 9 应用程序。我添加了动态元标记。标签会动态地改变页面,但是当我们在浏览器上看到页面源代码时,它会显示 index.html 页面默认的元标签。我正在更改标题、描述、关键字和规范标签。

在此处输入图像描述

在此处输入图像描述

您可以在两个页面上看到每个页面都有不同的元标记,但是当我们在浏览器上查找页面源 (CTRL+u) 时,它显示的是 index.html 默认元标记。

您可以在两个页面上看到每个页面都有不同的元标记,但是当我们在浏览器上查找页面源 (CTRL+u) 时,它显示的是 index.html 默认元标记。

标签: angularmetadatameta-tags

解决方案


您正在以页面方式(动态地)更改元标记,但这种更改只能在实际浏览器中看到,因为这只发生在页面在浏览器中呈现之后。

问题是大多数社交媒体网络(如 Twitter 或 Facebook 等)用于获取元标记的机器人无法正确呈现 Java 脚本,因此他们只能得到index.html

如果您想为每个页面动态获取元标记,您需要使用 SSR(服务器端渲染)技术,如 @GaurangDhorda 在评论中所说的 Angular Universal。

这是对 Angular Universal Official Page的参考


推荐阅读