OpenGraph linter找不到url或无法读取meta标签

时间:2011-10-12 18:31:08

标签: meta-tags opengraph facebook-opengraph open-graph-protocol open-graph-beta

我有这个奇怪的错误,有时FB linter抓住我的内容,但说它找不到meta标签,而有时它说它根本找不到内容。

我检查了我的apache日志,FB正确地打电话给我:

69.63.181.244 - - [12/Oct/2011:11:02:07 -0700] "GET /~gilles/www/gillesdevaux/outbox/248227866689405176 HTTP/1.1" 200 8339 "-" "facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)"
69.63.181.244 - - [12/Oct/2011:11:02:09 -0700] "GET /~gilles/www/gillesdevaux/outbox/248158254941601902 HTTP/1.1" 200 8104 "-" "facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)"

第一个linter说我想念og:*属性,第二个是linter说无法访问页面。

以下是两个页面的html代码:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">

<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# mytest: http://ogp.me/ns/fb/mytest#">
<title>opengraph picture + link | Formspring</title>

<base href="https://testserver/~gilles/www/" />

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

<meta name="description" content="opengraph picture + link" />
<meta name="keywords" content="" />
<meta property="fb:app_id" content="201652911907"/>
<meta property="og:title" content="opengraph picture + link"/>
<meta property="og:type" content="mytest:question"/>
<meta property="og:url" content="https://testserver/~gilles/www/gillesdevaux/outbox/248227866689405176"/>
<meta property="og:image" content="http://testserver/photos/20111011/n4e94d0e273403.jpg"/>
<meta property="mytest:link" content="http://en.wikipedia.org/wiki/Cheese"/>

解决

FB需要ping您提交给linter(或图API)的URL,但还需要ping og:url中提到的URL。

我的开发设置有点奇怪,它是基本的auth保护,OpenGraph URL在代理中列入白名单。使用我为og提交的相同网址:url修复了问题。

1 个答案:

答案 0 :(得分:0)

将Open Graph Protocol名称空间属性添加到标记:

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" 
    lang="en" dir="ltr" xmlns:og="http://ogp.me/ns#">