FacebookSharedDebugger正在删除主页URL,而不是Angular6中的给定URL

FacebookSharedDebugger正在删除主页URL,而不是Angular6中的给定URL,angular,facebook-opengraph,facebook-share,Angular,Facebook Opengraph,Facebook Share,Facebook共享调试器工具正在抓取错误的页面。 我已经给出了一个完整的URL和slug(指向我网站上的一个单独页面),我希望它通过facebook的共享按钮共享。它不会刮取我想要的页面,而是刮取我网站的主页。 我想让它刮掉https://example.com/slug 相反,它会刮取https://example.com 我已经使用下面的代码更新了og:url的meta标记 this.meta.updateTag({ property: 'og:url', cont

Facebook共享调试器工具正在抓取错误的页面。

我已经给出了一个完整的URL和slug(指向我网站上的一个单独页面),我希望它通过facebook的共享按钮共享。它不会刮取我想要的页面,而是刮取我网站的主页。

我想让它刮掉
https://example.com/slug

相反,它会刮取
https://example.com

我已经使用下面的代码更新了og:url的meta标记

this.meta.updateTag({
      property: 'og:url',
      content: 'https://example.com/'+this.slug
    });

并且它工作正常(通过检查当前页面)。但是facebook open graph正在抓取我网站的主页,而不是更新的
og:url

您使用的是一个短url作为og:url,它将指向主url。请改用正确的永久链接:

<meta property="og:url" content="https://iages.therightdoctors.com/the-last-word/iages-2020-dr-ramananda-saikia-laparoscopic-cbd-exploration-using-bronchoscopy">


重要提示:Facebook忽略JavaScript,因此您无法在客户端上设置/更新标记。

这是否回答了您的问题?不,它没有回答我的问题。我的主网站也有类似的功能,但当涉及到子域时,它就不起作用了。主要的一点是:你试图设置动态og标记,不管是顶级域还是子域,它都不起作用。og标记必须在初始页面源中可用。您可以使用SSR或类似prerender.io的东西来实现这一点。你有我们的测试url吗?我们只使用SSR。这是请求的URL:它正在刮取的URL:,我们想要刮取的URL:但是这个“og:URL”也需要为每个其他页面更新,然后permalink也会不断更改。因此,我们编写了meta.updateTag()来更新“og:URL”。但是Facebook并没有删除更新后的URL,而是删除了索引文件URL。我在回答中添加了一些关于这一点的内容,使之非常清楚。那么我们应该如何进一步?我们有很多slug,这是index.html中的meta标记。我们应该如何为不同的URL设置永久链接。永久链接必须位于页面的源代码中。SSR是一种解决方案,prerender.io是另一种解决方案。