谷歌认可的JSON LD格式的Schema.org,但Facebook像素助手无法检测到它。

15

我使用<script>标签以JSON LD格式添加了schema.org标记,在使用Google结构化数据测试工具测试页面时,可以看到所有标记。

但是,当我安装Facebook像素助手Chrome扩展程序测试我的页面时,schema.org标记显示为空白。不确定为什么Facebook像素助手无法检测到它。

感激不尽任何帮助。


我不熟悉Facebook像素。它与Schema.org有什么关系?为什么Chrome扩展会显示Schema.org/JSON-LD? - unor
Chrome显示:“[Facebook像素] - 无法解析JSON-LD标记。发现格式不正确的JSON:” - Joe Barrett
你好,我也遇到了同样的问题,有解决方案吗? - Pascual Muñoz
在我的情况下,我们的php框架在脚本中输出了CDATA,但Facebook不喜欢它... - aleksdj
我有FAQ结构化数据并且收到类似的警告,有什么解决方案吗?这很奇怪,因为FB不支持FAQ结构化数据,但我仍然可以在Chrome开发者工具中看到警告。 - Bhargav Joshi
5个回答

9
我发现Facebook像素在解析结构化数据时更加严格。字段里的空白行会导致它抛出警告。当我在地址中添加了换行符时,这种情况就发生了。谷歌正确地解释了地址,但Facebook像素在控制台上提示警告。

在我的情况下,添加以下代码解决了这个问题:

$address = preg_replace( "/\r|\n/", " ", $address );

当然,正如在这里指出的,JSON不支持真正的换行。


我没有任何换行符,但仍然收到了这个警告。 - N1gthm4r3
2
这对我解决了有关 JSON-LD 格式不正确的 Facebook 像素警告。谢谢。 - Prembo
这就是JSON格式错误的原因,描述中有换行符。谢谢! - Char

3

3

对我来说,出现了多个空格的错误(据我理解)。
因此,我使用了以下代码:

$description = preg_replace("#\r|\n|(\s+)#iu", " ", $description);

0

JSON扩展还为所有其他网页添加了JSON-LD格式的Schema标记,这是Google所偏爱的。"Facebook像素"不会读取Schema元标记或JSON-LD(Pinterest会读取Schema元标记,但尚未读取JSON-LD)。

听起来你可能有点困惑 - Facebook不会读取Schema标记 - Facebook会读取Open Graph元标记。您可以在此处找到标准的详细信息:http://ogp.me/

FYI https://www.withintheflow.com/facebook-pixel-helper/


1
我认为这并不完全正确。在Facebook的纪录片中,我发现Pixel读取OpenGraph和Schema.org。重要的问题是:它是否能够读取JSON-LD格式的Schema标记? - Geery.S
虽然来晚了,但还是为来这里的人服务。FB像素现在支持JSON-LD:https://www.facebook.com/business/help/1175004275966513 - heorhi

0
你可能会在初始化调用中有 fbq('set', 'autoConfig', 'false')
如果在初始化代码中将autoConfig设置为false,Facebook像素将向您的像素设置发送元数据,但不会发送此附加信息。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接