【发布时间】:2019-06-02 12:48:46
【问题描述】:
我有一个 Angular 6.x 应用程序,我正在使用元服务更改我的组件中的元标记。我的目标是让每条路线都有不同的图像和描述,这样他们就可以正确地在 facebook 中呈现预览。我验证了元标记实际上正在改变,但 FB 没有看到它们。我使用 FB https://developers.facebook.com/tools/debug/sharing/ 来验证我的网站,如果我将元标记放在我的 index.html 中,它可以正常工作,但是当我在组件中使用元服务时,它看不到它们。我可以假设这是因为单页应用程序的性质吗?而且 FB 没有看到元标记的变化,我必须用 Angular Universal 以某种方式预渲染它们?由于服务器不为他们服务?我对 Angular Universal 感到困惑,似乎使用它破坏了客户端渲染页面的意义,我应该使用 Angular 之外的东西。 prerender.io 也会为我解决这个问题吗?
【问题讨论】:
-
是的,Facebook 抓取工具不关心任何客户端 JavaScript。服务器必须直接为请求的 URL 返回正确的元标记。是的,prerender.io 是可以帮助解决问题的服务之一。
-
是的,我也这么认为。我希望将来有一种更无缝的方式来做到这一点。如果您将此作为答案,我将标记为我接受的答案。谢谢
-
嘿@Maccurt,如果你有解决方案,请在这里发帖
-
我查看了 prerender.io。 prerender.io
标签: angular facebook angular-universal prerender