我正在使用 Yoast 在以下页面上生成 OpenGraph 元:
如果您访问该 URL 并查看页面源代码,您将看到以下元标记:
这是页面源代码中唯一出现的 og:title,但出于某种奇怪的原因,LinkedIn 帖子检查器将标题显示为“—工人正义与尊严基金”。示例:
https://www.linkedin.com/post-inspector/inspect/https:%2F%2Fwww.wjdfund.org
我已经排除了缓存,因为即使使用参数测试 URL 也会产生相同的结果: https://www.linkedin.com/post-inspector/inspect/https:%2F%2Fwww.wjdfund.org%3Flatest
最奇怪的部分是“—Worker Justice & Dignity Fund”字符串甚至没有出现在 DOM 中的任何位置,因此我很困惑为什么 LinkedIn 使用该值。还值得一提的是,Facebook 和 X (Twitter) 在其帖子预览中显示了正确的标题。
希望有人能够阐明这个 LinkedIn 问题。
事实证明,WordPress 核心在头部添加了一个 application/json+oembed 链接,而 LinkedIn 使用该 JSON 文件中的“title”值,而不是 og:title 元数据。非常感谢@RichDeBourke 发现了这一点。
我能够使用以下 PHP 禁用由 WordPress 核心添加的 oEmbed 链接:
remove_action( 'wp_head', 'wp_oembed_add_discovery_links');
这从头部删除了 oEmbed 链接,现在 LinkedIn 显示 og:title 值。