Facebook graph api Facebook';s Lint正在爬网根URL而不是给定的URL

Facebook graph api Facebook';s Lint正在爬网根URL而不是给定的URL,facebook-graph-api,facebook-opengraph,Facebook Graph Api,Facebook Opengraph,以前在网上有关于这方面的帖子,但是没有一个建议的解决方案真正适用于我的场景 我有一个子页面,所有这些页面都有自己独特的og标签,还有一个父根域页面,有自己的og标签,所有这些都将由facebook进行爬网,以便人们在发布时可以看到描述/图像 然而,当我在框中发布我的孩子的url时,结果就是明目张胆地证明facebook是在父页面上爬行的。甚至“查看我们的刮板所看到的内容”页面也证实了这一点,因为它只是显示的父模板 这里是到fb的刮板的链接: 以下是根域html模板中的我的og标记: 假设父母是

以前在网上有关于这方面的帖子,但是没有一个建议的解决方案真正适用于我的场景

我有一个子页面,所有这些页面都有自己独特的og标签,还有一个父根域页面,有自己的og标签,所有这些都将由facebook进行爬网,以便人们在发布时可以看到描述/图像

然而,当我在框中发布我的孩子的url时,结果就是明目张胆地证明facebook是在父页面上爬行的。甚至“查看我们的刮板所看到的内容”页面也证实了这一点,因为它只是显示的父模板

这里是到fb的刮板的链接:

以下是根域html模板中的我的og标记: 假设父母是 假设有一个孩子

。。。
以下是子html模板中的og标记:

<head> ...

    <meta name="keywords" content="...">

    <meta name="description" content="..." />

    <meta property="fb:app_id" content="..."/>
    <meta property="og:site_name" content="..." />
    <meta property="og:type" content="article" />
    <meta property="og:title" content="..." />
    <meta property="og:image" content="..." />
    <meta property="og:description" content="..." />
    <meta property="og:url" content="http://www.me.com/path/path" />
。。。
这是非常令人沮丧的,因为我尝试过以不同的组合删除和添加许多标记,每次都会对父对象进行爬网,而忽略子对象

我试图模仿其他网站的标签顺序,这个功能就像cnn.com一样工作,但是我的网站仍然拒绝抓取这个孩子


有什么帮助吗?谢谢。

这可能是个愚蠢的问题,但我还是要问:子URL是否具有公共访问权限?您面临的问题可能是因为子url被重定向到根url

在facebook linter输出中,检查获取的Url规范Url部分。这将使您了解是否正在发生重定向。

检查您是否正在发生重定向


  • 拒绝爬网程序访问子页面的尝试
  • 当爬虫程序尝试加载子页面时,将其重定向到父页面
  • 在指向主页的子页面上包含og:url元标记
  • 在子页面中包含指向父页面的规范元标记

这些是目前为止最可能的原因,尽管你在问题中说你的og:url标签是正确的,但根据我的经验,最有可能的问题是Facebook。。。。他们的“缓存”或你想称之为的任何东西中都有某种东西。。。。 使用错误的url注册页面时。。。纠正这一点可能很棘手……如果不是不可能的话

试试这个。。。。将您的主页url更改为: www.me.com/path/path/file1.php
然后用正确的元标记在过梁上运行它。

在注意到一些奇怪的提示后,我解决了这个问题。我正在处理的站点已设置,因此只有在未设置特定cookie的情况下,第一个页面视图才会重定向到初始页面

因此,Facebook爬虫每次都会访问该页面。但这并不明显,因为初始页面继承了太多内容,看起来就像一个常规的子页面


这是一个多么不幸和耗时的错误。

这非常令人沮丧。佳能和获取的url是不同的。无论什么原因,Canon都是根域url,获取的是我们实际上想要从中获取数据的某个子url。。。因此,所有本应属于孩子的数据都将从家长那里提取!!!!“公共访问”是什么意思?我可以通过request/browser访问任何页面。在子模板中,我查看了源代码,标记正确,我粘贴到lint,bam中。他们仅通过公共访问获取父标记。我的意思是,任何外部方都可以查看子文档,而无需任何身份验证。如果您的子页面需要经过身份验证的访问权限,facebook爬虫程序将无法访问子页面,因为它将被重定向到父页面。如果您要检查此项,请安装。使用该工具请求您的子url并检查它得到的响应。我没有这样做。我删除了模板语言并对url标记进行了硬编码,它们仍然不起作用“拒绝爬虫尝试访问子页面,在爬虫尝试加载时将子页面重定向到父页面”你能详细说明你的前两点是什么意思吗?检查你返回Facebook的请求,确保它不是错误或重定向页面,并且你返回的响应没有指向不同url的og:url标记,或者你没有指向我单击的不同url的规范元标记在facebook的lint debug工具上“看我们的刮刀到底看到了什么”,奇怪的是,我看到的与父/根url完全相同,而不是应该获取的url(子url)。我如何才能为这笔奖金添加更多分数?你那里有一个应用id:你有一个应用吗?它有一个规范的url吗?是的,我设置了“站点url”以及根url的“域”,如果这会导致任何问题。在你的应用程序中,你是否设置/操作对象url?这就是用于刮片的,我想…我没有,它们最初是django模板变量,但我只是硬编码它们,看看它是否会失败,它仍然会失败
<head> ...

    <meta name="keywords" content="...">

    <meta name="description" content="..." />

    <meta property="fb:app_id" content="..."/>
    <meta property="og:site_name" content="..." />
    <meta property="og:type" content="article" />
    <meta property="og:title" content="..." />
    <meta property="og:image" content="..." />
    <meta property="og:description" content="..." />
    <meta property="og:url" content="http://www.me.com/path/path" />