我想知道社交媒体丰富预览如何定义要选取哪个og:title
。
我使用 WordPress,在某些页面中插入 PHP echo 字符串以将它们注入到 <head>
中。我选择这样做是为了将某些标题和描述更改为更商业化的文本。显然会出现 2 个og:title
meta 标签; 我注入的标签和 WordPress 后端页面的标题。
有人曾告诉我,顶部第一个 meta 标签将作为在社交媒体丰富预览中要捕捉的 meta 标签,但这似乎不再发生了。
下面是我当前的情况以及标签在中的确切顺序:
<html>
<head>
<meta charset="UTF-8">
<title>EXAMPLE</title> // my injected and used by Google
<link rel="canonical" content="https://example.com">
<meta name="description" content="description">
<meta name="subject" content="example">
<meta name="og:image" content="/image.jpg"> // my injected and used by Social Media
<meta property="og:title" content="og:title #1"> // my injected og:title, but ignored
<meta property="og:description" content="description">
<meta property="og:url" content="https://example.com">
<meta name="twitter:title" content="EXAMPLE">
<meta name="twitter:description" content="description">
<link rel="alternate" href="https://example.com" hreflang="nl-nl">
<link rel="alternate" href="https://example.com" hreflang="nl-be">
<title>EXAMPLE</title> // default by Wordpress
<meta property="og:title" content="og:title #2"> // default by Wordpress and being used
<meta property="og:type" content="website">
<meta property="og:url" content="https://example.com">
<meta name="og:image" content="/image.jpg"> // default by Wordpress
</head>
</html>
og:title
元标签,这在我看来是没有意义的。更改后端的标题页不是解决方案,因为它会变成像“来看看我们美妙的商店!”这样,这不太用户友好。另外,我不喜欢Yoast,因为Yoast会向页面加载额外的代码,这不是我想要的东西。谁知道解决这个问题的方法,或者能够解释为什么会发生这种情况呢?
更新和答案 感谢Chris的帮助,我了解到og:元标签会从顶部向底部进行扫描,并更新具有相同属性的2个标签中的最后一个。这个RDFa过程对于像Facebook、Whatsapp、Twitter这样的应用程序很典型。一个例外:og:image似乎需要在顶部,它不会覆盖下面的第二个或第三个标签。
Google搜索相关的标签会被拾取在头部的第一个位置,并将其保留为“先到先得”。
解决方案:我将注入og:标签到
<head>
的底部,其他标签将保留在顶部。经测试可以正常工作。