与许多网站一样,我们在网站上提供了大量图片。
使用案例:在Google自定义搜索中设置标签/优化,以聚合和过滤两个不同类别的图像对象。使用Schema.org Microdata标记非常简单,效果很好,但我们希望用户选择
1)照片:使用乐器拍摄“照片” - 某种相机/镜头“机器”,包含“现实生活”中的内容
OR
2)ART:插图画家/艺术家创作的所有其他图像:矢量艺术,绘画扫描,绘画扫描,水彩等。
我可以轻松确定哪个是我们的Web CMS从数据库中获取元数据,并通过管道和分支动态插入元数据来驱动内容。像
这样的东西<section class="page-content" role="main" itemprop="image" itemscope itemtype="http://schema.org/ImageObject">
<meta itemprop="image" content="Red Roses" /> #art
如果是照片则切换到此
"itemprop="photo" content="Daffodils" # photo
但这真的不能胜任这项工作。我希望有一些像“imageType”这样的属性,然后我可以像这样应用
itemprop="imageType" content="photo"
itemprop="imageType" content="art"
但我在Schema.org中看不到任何符合此要求的内容(我的眼睛正在审查层次结构,但仍然无法找到我需要的内容)。没有什么可以指定“艺术”。
有什么想法吗?
答案 0 :(得分:1)
我不知道Google自定义搜索支持哪些功能, 但是您可以使用Schema.org和Microdata获得以下选项。
除非您 立即实施,否则我建议您选择 b)。
有关链接,请参阅my answer to another question。
下一个Schema.org版本将包含VisualArtwork
类型draft):
主要是视觉上的艺术作品。
它有一个artform
属性(draft),它将文本或网址作为值:
e.g。绘画,绘画,雕塑,打印,照片,装配,拼贴等
警告提示:这些草稿,可能会有变化!
更新: VisualArtwork
和artform
获得released。
<div itemscope itemtype="http://schema.org/VisualArtwork">
<meta itemprop="artform" content="Painting">
</div>
<div itemscope itemtype="http://schema.org/VisualArtwork">
<meta itemprop="artform" content="Photo">
</div>
"slash-based" extension mechanism为"outdated",但valid。
<div itemscope itemtype="http://schema.org/ImageObject/Photo"></div>
<div itemscope itemtype="http://schema.org/ImageObject/Art"></div>
我只会将此作为最后的手段。
这在大多数情况下都不起作用,但在您的情况下可能:您的两张图片都是ImageObject
,而且只有照片Photograph
。
itemtype
attribute can have several values只要它们来自相同的词汇表。但请注意,您只能使用为所有已使用类型定义的属性。
<div itemscope itemtype="http://schema.org/ImageObject">
<!-- art -->
</div>
<div itemscope itemtype="http://schema.org/ImageObject http://schema.org/Photograph">
<!-- photo -->
</div>
如果您知道/找到关于您的主题/模型的词汇表,您可以使用相应的类型作为Schema.org的additionalType
property的值:
<section itemscope itemtype="http://schema.org/ImageObject">
<link itemprop="additionalType" href="http://example.com/vocabulary/photo">
</section>
<section itemscope itemtype="http://schema.org/ImageObject">
<link itemprop="additionalType" href="http://example.com/vocabulary/art">
</section>
如果找到合适的媒体资源,则may use its URL为itemprop
的价值:
<section itemscope itemtype="http://schema.org/ImageObject">
<meta itemprop="http://example.com/vocabulary/imageType" content="photo">
</section>
<section itemscope itemtype="http://schema.org/ImageObject">
<meta itemprop="http://example.com/vocabulary/imageType" content="art">
</section>
如果找不到合适的词汇,可以use your own URL as property:
[...]专有项目属性名称(即作者出于私人目的使用的名称,未在公共规范中定义)
(例如 b中的第二个。)
答案 1 :(得分:0)
@unor
我的开发人员告诉我(在我发布之后与他交谈)我们可以使用(以避免在文档中添加另一个元行):
<section itemscope itemtype="http://schema.org/ImageObject"> # for art
<section itemscope itemtype="http://schema.org/Photo"> # for photography
从测试中我发现谷歌实际上会解析这个:它的结构化数据预览器显示它正在被提取。 (虽然它的结构化数据预览可能会引发错误)。因此,我可以在自定义搜索细化/标签中使用它。
但是,从schema.org标准来看,这似乎是错误的 - 因为这两个类
图片:(照片),(绘画,素描,矢量)
都是“ImageObjects”