angular - 社交媒体的 Angular Meta 标签无法抓取
问题描述
我正在开发 Angular 9 应用程序。我添加了动态元标记。标签会动态地改变页面,但是当我们在浏览器上看到页面源代码时,它会显示 index.html 页面默认的元标签。我正在更改标题、描述、关键字和规范标签。
您可以在两个页面上看到每个页面都有不同的元标记,但是当我们在浏览器上查找页面源 (CTRL+u) 时,它显示的是 index.html 默认元标记。
解决方案
您正在以页面方式(动态地)更改元标记,但这种更改只能在实际浏览器中看到,因为这只发生在页面在浏览器中呈现之后。
问题是大多数社交媒体网络(如 Twitter 或 Facebook 等)用于获取元标记的机器人无法正确呈现 Java 脚本,因此他们只能得到index.html
如果您想为每个页面动态获取元标记,您需要使用 SSR(服务器端渲染)技术,如 @GaurangDhorda 在评论中所说的 Angular Universal。
推荐阅读
- apache - Apache 在 HTML 文件中添加 Javascript
- node.js - 在验证完全有效的对象时,我不断收到 ($__ is not allowed) 错误
- r - 当包裹在 Trycatch 或安全时,Broom 无法处理嵌套的 lm 模型列表
- mysql - MySQL更新匹配某个值的行之后的所有行的值
- javascript - 保留默认的 tickSize 但添加一个刻度
- flutter - 如何在提供者中使用命名路由和消费者?
- javascript - 如何在 jspdf 自动表中的 col 标题和行之间添加字段名称作为第一行?
- google-dfp - DFP 不会呈现真正的赢家
- c# - 使用邮递员集合连接到 Rest API
- javascript - Jquery SVG circle navigation