【发布时间】:2015-04-19 19:11:19
【问题描述】:
上下文
我正在通过 https 运行一个站点,用户可以在其中创建和共享新内容(每个条目都有自己的页面)。
每个页面都有一张图片,并且此图片网址出现在页面顶部的og:image 元标记中。
问题
Facebook 似乎对og:image 反应迟缓。当第一次创建页面并且用户尝试共享 URL 时,在前 ~1-3 次尝试中,og:image 不会被 Facebook 抓取/呈现(标题和描述是)。之后,图像在共享对话框中清晰可见。
在使用 Facebook 的 OG URL 调试工具时也会出现类似的问题。我第一次弹出 URL 时,它没有显示任何图像。如果我选择再次从源中获取页面,它会显示图像。
附加说明
起初,我认为可能是网站代码最初没有显示图像,但我发送了一个 curl 请求并欺骗了 Facebook 的用户代理字符串之一(这对于访问页面很重要),生成的 HTML 包含 @带有正确图像 URL 的 987654324@ 标记。我也知道这与访问页面无关,否则不会显示 og:title 和 og:description 数据(但确实如此)。
我唯一的线索是它可能是 SSL 或 HTTPS 问题。我最近设置了 SSL 证书,但我不确定为什么这会导致延迟,因为它根本无法工作。
为清楚起见,该网站在标准 LAMP 堆栈之上的 WordPress 上运行。
【问题讨论】:
-
Facebook 有自己的缓存/抓取页面规则。 AFIK 这些规则是不公开的。我知道使用调试器访问对象会强制刷新 FB 缓存。不确定是否可以在创建对象时在后端实现某些东西以强制刷新而不会违反 FB TOS。
标签: php wordpress ssl facebook-opengraph