无法解决我的Wordpress网站无法抓取的Facebook Open Graph Meta标签



这是我第一次在这个网站上发布问题,但肯定不是第一次在其中找到答案。

使用stackoverflow作为资源来解决我在新博客中遇到的几个问题,直到昨晚,我发现了这个我无法解决的问题。

当我尝试共享博客的主页时,我没有得到 og:image 标签中指定的正确图像......一旦我通过 de FB 调试器检查我的网站,它就会向我显示以下内容:

https://developers.facebook.com/tools/debug/og/object?q=ivanfuentes.com

奇怪的是,当我检查页面或帖子时,我没有发现任何问题:https://developers.facebook.com/tools/debug/og/object?q=ivanfuentes.com%2Fvideos%2Fhttps://developers.facebook.com/tools/debug/og/object?q=http%3A%2F%2Fivanfuentes.com%2Fthe-popularity-contest%2F

所以,我知道这是一个仅在主页中生成的问题,但在过去的 18 小时内,一直无法找到它。

我通过 wordpress 插件动态指定了 OG 元标记......目前,它是"Facebook AWD",但我还有其他几个 Facebook 共享、多合一和 OG 插件,它们在调试器中给了我相同的结果,这让我觉得我在其他地方搞砸了。我毫不尴尬地承认我是一个新手,所以我很可能在尝试修改一些代码时搞砸了......可能是当我添加几行以使网站符合IE时?

希望我提供了足够的信息,并且有人可以帮助我,因为这不仅仅是关于在 Facebook 链接上显示的正确图像,而是关于我的代码中可能出现混乱,这可能(将)意味着麻烦一旦我将来对我的网站进行任何修改/更新。

谢谢你的时间!

你的html完全是一团糟,这就是调试器抱怨的原因。

访问您的页面并查看代码,我可以看到以下内容:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<div id="fb-root"></div>
<script>
...
</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#" xmlns:fb="https://www.facebook.com/2008/fbml">
<head profile="http://gmpg.org/xfn/11">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<div id="fb-root"></div>
<script>
...
</script>
<title>Ivan Fuentes Hagar</title>

那里有两个问题:

  1. 插入两次 sdk 代码
  2. 在这两种情况下,身体前都有一个div的位置

在此页面的调试器结果中,单击底部链接(抓取的 URL:确切查看我们的抓取工具为您的 URL 看到的内容),您还可以看到损坏的 html,但在另一种变体中:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><body>
<div id="fb-root"></div>
<script>
...
</script><meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script>
...
</script><title>Ivan Fuentes Hagar</title>

这里有问题:

  1. 正文定义紧跟在 html 之后
  2. 没有头部定义
  3. 所有被认为存在于头部内的标签都在体内
  4. sdk 脚本加载插入两次

在这两种情况下,我都发现了 3 次<div id="fb-root"></div>.

如您所见,您有一些与wordpress的html输出相关的修复。
我不确定为什么调试器的输出不同,我认为可能是由于用户代理字符串,但尝试curl --user-agent "facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)" "http://ivanfuentes.com/"会像浏览器一样返回确切的结果。

最新更新