对于og:image
和og:url
,由于它们具有URL,我可以将它们放在link
标签中而不是meta
标签中吗?这样做是否更好?
此外,使用这两个标签时,og:image
和og:url
有什么区别?
对于og:image
和og:url
,由于它们具有URL,我可以将它们放在link
标签中而不是meta
标签中吗?这样做是否更好?
此外,使用这两个标签时,og:image
和og:url
有什么区别?
我不清楚OGP的其他主要消费者情况,所以这可能不是你的情况,但如果你计划为Facebook实现它,
通过Open Graph Debugger进行快速实时测试,并且调整og:
标签,似乎facebook仅在这些标签放置在<meta>
中时才能识别它们。
如果您创建了一个空HTML文件,其中仅包含一个og:url
标签在其<head>
部分,将其上传到任何URL并通过上述调试器运行,两者都会出现。
<link rel="og:url" href="http://www.imdb.com/title/tt0117500/" />
并且
<link property="og:url" content="http://www.imdb.com/title/tt0117500/" />
编辑或者,像评论中建议的那样
<link property="og:url" href="http://www.imdb.com/title/tt0117500/" />
如果无法解析,则会返回原始URL,而
<meta property="og:url" content="http://www.imdb.com/title/tt0117500/" />
正确解析并返回IMDb上《摇滚巨星》的内容。说到底,语义很好,但可运行的代码更好。
如果值是URL,您必须使用link
而不是meta
。
来自meta元素的定义:
meta
元素表示各种不能使用[...]link
[...]元素表达的元数据。
但是,URL可以使用link
元素进行表达(因为这是其目的)。
如果您使用meta
元素用于URL值,则RDFa解析器将提取字符串值而不是URL值。这也意味着它们将无法根据基本URL应用相对引用。
假设这些元素位于URL为http://example.com/foo
的文档中:
<link property="schema:url" href="/bar" />
<meta property="schema:url" content="/bar" />
link
元素中的值是URL:http://example.com/bar
。meta
元素中的值是字符串:/bar
。
meta
元素作为URL值;没有使用link
元素的示例。link
元素。
link
元素,您必须使用href
属性而不是content
属性。因此,它应该是<link property="og:url" href="http://www.imdb.com/title/tt0117500/" />
。不幸的是,我无法测试它,因为他们的调试器需要一个帐户。 - unorproperty
看起来也很别扭。无论如何,为了确保我已经按照你建议的使用<link property="og:url" href="http://www.imdb.com/title/tt0117500/" />
进行了测试,但它也无法解析。似乎meta
是唯一被接受的标签。 - ppajer