【问题标题】:Facebook dynamic og:image using PHPFacebook 动态 og:image 使用 PHP
【发布时间】:2026-01-26 13:30:01
【问题描述】:

我有一个 PHP 站点,它需要多个 Facebook 共享图像 (og:image),我正在解析 URL 并将相关文件名回显到 og:image 元标记中。

查看页面源代码显示它具有正确的图像,但 Facebook 调试器仍会抓取主(主页)og:image。

<meta property="og:image" content="site.net/img/meta/<?php echo $og_image ?>.jpg">

有没有办法让共享的 og:image 相对于完整的 URL 发生变化?

即我分享site.net/home,Facebook 会抓取一张图片,而site.net/about 会分享另一张 og:image。

【问题讨论】:

  • 当然,只输出一个或另一个,并确保您没有将og:url设置为带有自定义图像的页面的主页。
  • 输出 $og_url 并使 og:url 和 og:image 都动态化是否有意义?
  • 你可以。您也可以完全关闭og:url - Facebook 将使用页面的 URL 作为后备。只有当您想为同一页面规范化多个可能的 URL(例如 example.com/aboutexample.com/about.html)时才真正必需
  • 很好,谢谢。把它放在一个答案中,我会接受它,你可以获得里程积分:)

标签: php facebook facebook-opengraph


【解决方案1】:

是的,您可以在每个页面上拥有一个唯一的 og:image(以及任何其他 Open Graph 标签) - 只需在这些页面上输出不同的 OG 标签。

这些不采用的最常见原因是 og:url 页面指向其他位置(例如 example.com 的根),因为 Facebook 会认为该页面的“规范”URL 并获取 OG标签来自 there 而不是当前 URL。您可以为每个页面设置一个唯一的og:url,或者您可以完全不使用它 - 如果缺少它,Facebook 将使用当前 URL 作为后备。

【讨论】: