我很确定元标记和发送按钮代码很好。无论如何,我会在下面显示该代码,但我很确定代码是正确的。
以下是我认为我的问题源于:
1) 我在我的网站名为landing_page.php的页面上有一个FB“发送”按钮
2)我因此指定
<meta property="og:url" content="http://www.oursite.com/landing_page.php"/>
用于页面的“url”元标记。
3)当我去https://developers.facebook.com/tools/debug - 然后输入我的页面 URL http://www.oursite.com/landing_page.php --- 我收到一条错误消息.:
解析 URL 时出错:解析输入 URL 时出错,没有数据被抓取。
所以我的问题是——我必须把发送按钮只放在 index.php 页面上吗?
我想我可以把发送按钮放在任何页面上,只要我把元标记和发送按钮代码放在那个页面上。但 Facebook 调试器抱怨
解析 URL 时出错:解析输入 URL 时出错,没有数据被抓取。
如果我将“发送”按钮和相关代码放在“anypage.php”上并尝试使用它——出现的“发送”框不会选择我的 OG 元标记(见下文),并且 Facebook 调试器无法“抓取”任意页面在我的网站上。
我必须只将发送按钮放在 index.php 页面上吗? 或者我需要更改什么才能让landing_page.php 上的发送按钮工作并显示我的OG 元标记设置?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:og="http://ogp.me/ns#"
xmlns:fb="https://www.facebook.com/2008/fbml">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<head>
<meta property="og:url" content="http://www.oursite.com/landing_page.php"/>
<meta property="og:title" content="Wow cool title!"/>
<meta property="og:image" content="http://www.oursite.com/images/logo.png"/>
<meta property="og:description" content="Hey -- SUPER-COOL!!"/>
etc.
</head>
<body>
<div id="fb-root"></div>
<script>
(function(d, s, id)
{
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s);
js.id = id;
js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
fjs.parentNode.insertBefore(js, fjs);
}
(document, 'script', 'facebook-jssdk'));
</script>
<div class="fb-send" data-href="http://www.oursite.com"></div>