我相信我的网站有正确的Facebook及其标记。打开Graph元标记。但检查Facebook的linter表明没有检测到任何标签。你可以在这里看到:
http://developers.facebook.com/tools/debug/og/object?q=goodloesolitaire.com
当我使用其他网站时,会找到代码:
http://www.opengraph.in/?url=goodloesolitaire.com&format=html
我经历了类似的问题,没有一个检查出来。关于为什么Facebook的调试器可能什么也看不见的任何想法?
答案 0 :(得分:3)
Facebook正在看到HTTP代码206“Partial Content”而不是正常的200“OK”。
206“Partial Content”:如果客户端有此消息,则可能会出现此消息 缓存中的内容的部分副本以及丢失的请求和更新 内容。此消息表明部分请求成功。
我发现了一篇关于它的旧论坛帖子:http://forum.developers.facebook.net/viewtopic.php?id=68440
看起来它可能是与缓存有关的服务器配置问题。你在服务器上运行Varnish或类似的东西吗?检查一下。
尝试的另一件事可能是将您的charset元标记移动到Open Graph标记下方,因此Facebook知道正确的编码来解析它们。此外,使用此类型标记可能会更好:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
最后,请确保您没有阻止Facebook刮刀用户代理的任何内容。正如他们documentation中提到的那样:
我们的机器人使用用户代理“facebookexternalhit / *”运行。使 确定你没有阻止该用户代理。另外,确保Facebook的 服务器可以访问您的服务器。
答案 1 :(得分:1)
如果您使用的是清漆:
放
if (req.http.user-agent ~ "facebookexternalhit")
{
return(pipe);
}
在sub vcl_recv
内:
sub vcl_recv
{
}
效果很好。
答案 2 :(得分:0)
我们使用Varnish所以这对我们起了作用:
if (req.http.user-agent ~ "facebookexternalhit")
{
return(pipe);
}
https://www.varnish-cache.org/lists/pipermail/varnish-misc/2011-February/020060.html