首页 > 解决方案 > Facebook 目录 - 无法使每个页面的多个产品变体与 JSON-LD 一起使用

问题描述

我正在努力让 Facebook 的微数据标签调试器识别 JSON-LD 数据中定义的多个产品变体,并根据 schema.org 进行格式化。

这个问题已经描述了这个问题,但唯一的答案来自有同样问题的人,以及粘贴在 Facebook 示例数据中的人,其中仅包含 1 个变体。

从尝试实现由 Facebook 获取的微数据标签以允许更新目录,我发现的一致的事情是 Google 实现在页面中的任何位置都能找到微数据标签,以及架构的任何变化他们使用 .org 产品定义,而 Facebook 的实现在所有场景中都失败了,只有非常狭窄的场景。

首先,虽然 Facebook 开发者帮助页面中没有提到,但它只会识别在 HEAD 标记内的 JSON-LD 数据。(它声明 OpenGraph 标记应该在 HEAD 中,但对于 JSON-LD 没有这样说。)我还发现它似乎很少能够找到价格数据,并且没有解释任何验证失败很好。

我尝试按如下方式格式化 JSON-LD 数据:

这些似乎都不起作用。

我已经设置了一些可以与Facebook 微数据标签调试器一起使用的测试页面:

如果您使用调试器处理这些 URL,第一个成功找到包含价格的产品,第二个找到第一个变体但忽略第二个,第三个找不到产品的价格。

使用Google Rich Results 测试页面成功找到最后 2 个 URL 的两个变体。

有没有人成功让 Facebook 在同一页面上识别多个产品变体?

作为一个额外的问题,我发现的另一个奇怪的事情是,如果我从 ASP.Net MVC Core 应用程序生成 JSON 数据,并将其作为页面渲染的一部分注入页面,FB 调试器总是失败找到价格信息,而如果我将渲染的输出粘贴到视图中,FB 调试器会找到价格信息。我已经使用 Postman 来验证两种情况下呈现的页面是否相同,直到空白,所以我不知道如何解释这一点。有没有其他人经历过类似的事情?

标签: facebookschema.orgmicrodatajson-ldfacebook-pixel

解决方案


推荐阅读