Facebook共享按钮-刮刀不';无法获取元标记

Facebook共享按钮-刮刀不';无法获取元标记,facebook,share,doctype,meta-tags,scraper,Facebook,Share,Doctype,Meta Tags,Scraper,我一直在写这一页 我决定添加Facebook共享按钮,但出于某种原因,每当我尝试共享时,Facebook scraper都无法获取源中的任何元标记——它只显示站点的URL。 在facebook开发者调试工具中检查URL后,我得到了一个206响应代码和以下错误: 无法下载-无法从URL检索数据 我还选中了“查看我们的scraper从您的URL中看到的内容”选项,似乎scraper只能读取以下行: 奇怪的是,这甚至不是我在页面源代码中得到的DOCTYPE。 我已尝试将DOCTYPE更改为: &l

我一直在写这一页

我决定添加Facebook共享按钮,但出于某种原因,每当我尝试共享时,Facebook scraper都无法获取源中的任何元标记——它只显示站点的URL。 在facebook开发者调试工具中检查URL后,我得到了一个206响应代码和以下错误:

无法下载-无法从URL检索数据

我还选中了“查看我们的scraper从您的URL中看到的内容”选项,似乎scraper只能读取以下行:

奇怪的是,这甚至不是我在页面源代码中得到的DOCTYPE。 我已尝试将DOCTYPE更改为:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">

在我读了一些老帖子说这应该可以解决问题后,但这也不起作用——我一直从刮板上得到同样的信息。 我会感谢你们给我的任何建议或想法

我发布了源代码的第一部分,至少是包含meta标记的部分。如果需要,我将添加整个代码。 提前感谢,

大卫

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-Transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml" xmlns:og="http://opengraphprotocol.org/schema/" xml:lang="he" lang="he" dir="rtl">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>לקסיקון הכיבוש: 67 שניות על... מאחז |בצלם</title>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta property="fb:app_id" content="142675212478057"/>

<link rel="shortcut icon" href="/sites/all/themes/btselem/images/favicon.ico" type="image/x-icon" />
<meta property="og:site_name" content="בצלם" />
<meta property="og:title" content="מאחז | בצלם" />
<meta property="og:type" content="article" />
<meta property="og:url" content="http://www.btselem.org/hebrew/131606" />
  <link type="text/css" rel="stylesheet" media="all" href="/sites/default/files2/css/css_1458508373fb743060ffb80b43b3d59c.css" />
<link type="text/css" rel="stylesheet" media="print" href="/sites/default/files2/css/css_ff9c22380c0853814b0563da89e16090.css" />

לקסיקון הכיבוש: 67 שניות על... מאחז |בצלם

当我查看您的文档的生成源时,您的
标记前面会出现一个空行

206响应代码通常表示请求者已取消传输。可能是空白行混淆了脸谱网解析器,而只是放弃。 我很少使用Drupal,但在其他基于PHP的CMS系统中,这种情况通常会发生,因为在呈现标头之前调用的PHP文件中,关闭的
?>
标记和
EOF
标记之间存在空格。尽可能省略这些结束的php标记是一种最佳实践


在您完成编辑所有PHP文件的过程之前,您可以通过复制此页面的源代码并将其保存为服务器上的静态html文件(不带空格)来测试这一点。看看Facebook调试器是否会解析这些内容。如果没有,那么您就有另一个问题。

看起来您正试图将元标记放入
标记中


public“-//W3C//DTD XHTML 1.0 Strict//EN”http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"


这不是格式良好的HTML。修复HTML问题,然后Facebook应该能够正确地过滤你的页面。

我刚才在尝试让Facebook刮板()读取我创建的对象图文件时遇到了这个问题。当我在“使用”之前有空白(空格)时,我发现您的大多数页面工作正常,调试器抱怨的是格式为“/希伯来文/数字”的页面“。如果您将这些页面的html输出与其他页面进行比较,您会注意到确实有些不同,因为它们具有不同的doctype定义。试着找出为什么页面会有变化,然后也许你会发现为什么facebook不太喜欢这种变化。谢谢你的快速回复!在更改DOCTYPE之后,问题仍然存在-仍然从scraper中获取奇怪的DOCTYPE。所以我猜这不是DOCTYPE,或者至少不是DOCTYPE本身。知道还有什么会导致这个问题吗?再次感谢!
<!DOCTYPE html>
<html>
<body>
<p>UBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;</p>
<meta http-equiv="content-type" content="text/html; charset=utf-8">