为什么facebook不使用og:title标签?

时间:2012-01-09 12:52:24

标签: html facebook opengraph

非常令人沮丧

我已经定义了两个标签,默认的html一个:

<title>Default title</title>

另外,opengraph one:

<meta property="og:title" content="Facebook custom title"/>

但是Facebook仍然会从常规标题标签中拉出标题......

可以看到/测试here

我不认为这是一个facebookcaché问题,因为我先添加og标签,然后尝试分享...

知道我错过了什么吗?

2 个答案:

答案 0 :(得分:5)

调试器说你的属性是推断的,这意味着他无法从你的og metas中获取它们。原因可能是无效标记。尝试将每个og meta标记放在不同的行中,并尝试在关闭之前放置一个空格/&gt;对于有效的XHTML

<meta property="og:title" content="Meliá - January Super Sales" />
<meta property="og:site_name" content="Meliá - January Super Sales" />
<meta property="og:description" content="Meliá - January Super Sales" />
<meta property="og:image" content="http://d2p65vgzoeytng.cloudfront.net/nPromociones/producto/januarySupersale/img/icoPromoCompartirFacebook.gif" />

等等。

我不确定,但这可能有效。

答案 1 :(得分:0)

元标记接缝对我来说是正确的,如果我从服务器转储HTTP响应并在我使用netcat运行虚拟Web服务器时将其作为对调试器的响应,它们在调试器中工作正常。

但是,如果你看一下Facebook scraper get from your site你看到的开放图元标记已经消失了。如果我使用虚拟Web服务器对您网站的响应进行相同操作,则会显示。

您的网站是否有条件地以某种方式输出开放图形元标记,或者它们是否总是包含在内?

我做了什么:

$ nc -l -p 8000 > fbrequest

在Facebook调试器和转储请求中调试http://myhost:8000

$ vim fbrequest

将请求路径更改为/nPromociones/producto/januarySupersale/jsp/C_Home.jsp?staticDomain=false,将主机标题更改为es.solmelia.com

$ cat fbrequest | nc es.solmelia.com 80 > solmelia

伪造Facebook刮刀请求并转储回复

$ cat solmelia | nc -l -p 8000

再次在Facebook调试器中调试http://myhost:8000,它将显示元标记出现并且是正确的。