schema.org - 在 JSON-LD 标记中验证组织徽标时未解决的错误:“需要‘url’字段的值。”
问题描述
我正在尝试验证我的 JSON-LD 标记,但 Google 的结构化数据工具不断给我错误Organization
logo
。我认为这是一个错误,因为它说我需要添加 URL。
https://example.com/
(该url
字段的值是必需的。)
谷歌的工具:https ://search.google.com/structured-data/testing-tool/u/0/
我的脚本:
{
"@context":"http:\/\/schema.org",
"@type":"Article",
"name":"Test",
"image":"https:\/\/example.com\/favicon.ico",
"url":"https:\/\/example.com\/",
"author":{
"@type":"Person",
"name":"Admin"
},
"publisher":{
"@type":"Organization",
"name":"Orals",
"logo":"https:\/\/example.com\/favicon.ico"
},
"headline":"Welcome everyone!",
"datePublished":"2019-10-06",
"dateModified":"2019-10-06",
"articleBody":"Hi"
}
您可以将上述脚本复制粘贴到工具的文本区域中。
我一直在阅读官方文档和 AFAIK,我做的一切都是正确的。以下是一些相关文档:Organization
,logo
解决方案
这是对 Schema.org 的有效使用。然而,谷歌的 SDTT 并不是一个通用的 Schema.org 验证器。它报告的警告和错误主要与 Google 自己的搜索结果功能有关,这些功能需要在特定上下文中使用特定的 Schema.org 术语。
对于AMP 版本的 Google 文章富媒体搜索结果,Google 需要该publisher
属性,并且发布者的logo
必须具有ImageObject
值而不是URL
值。
"publisher":{
"@type":"Organization",
"name":"Orals",
"logo": {
"@type": "ImageObject",
"url": "/logo.png"
}
},
如果您不希望在 Google 搜索中显示这篇文章的富媒体搜索结果,或者您不使用 AMP,或者由于其他原因(例如,因为您无法提供所有必需的属性)而无法获得它,您可以安全地忽略 SDTT 中的此错误。
推荐阅读
- regex - 如何使用 mod_rewrite 清理我的输入?
- node.js - 在nodejs网站中使用wordpress for /blog路由不起作用
- javascript - 如何在 D3 中使用交叉过滤器进行过滤
- rebus - 使用带有 rebus 的 rabbit mq 不断发布事件
- php - 如何从 laravel 5.8 连接表中的外键获取数据
- azure-ad-b2c - 如何在 AD B2C 自定义策略中隐藏授权码验证步骤?
- c++ - longjmp 应该恢复堆栈吗?
- javascript - 如何使用 Anychart.js 将动态对象数组显示到图表中
- java - 为什么我会收到此错误“构造函数未定义”?
- ruby - Ruby:检查哈希中的多个键并将其删除