8

网络上有关于此的先前帖子,但是所提出的解决方案都没有真正适用于我的场景。

我有一个子页面,它们都有自己独特的 og 标签,以及一个带有自己的 og 标签的父根域页面,所有这些页面都由 facebook 抓取,因此人们可以在发布时看到描述/图像。

但是,当我在框中发布我的子 URL 时,结果公然证明 facebook 爬取了父页面。甚至“确切地查看我们的爬虫所看到的”页面也证实了这一点,因为它只显示了父模板。

这是 fb刮板的链接:https ://developers.facebook.com/tools/debug

这是我在根域 html 模板中的 og 标签: 假设父母是www.me.com 假设一个孩子是 www.me.com/path/path

<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="website" />
    <meta property="og:title" content="..." />
    <meta property="og:image" content="..." />
    <meta property="og:description" content="..." />
    <meta property="og:url" content="http://www.me.com" />

以下是子 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" />

这非常令人沮丧,因为我尝试以不同的组合删除和添加许多标签,并且每一次,www.me.com父级都会被抓取,而子级则被忽略!!

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

有什么帮助吗?谢谢你。

4

4 回答 4

3

检查你不是

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

到目前为止,这些是最可能的原因,尽管您在问题中说过您的 og:url 标签是正确的,但根据我的经验,这很可能是问题所在

于 2013-07-26T23:33:36.927 回答
1

在终于注意到一些奇怪的提示后,我解决了这个问题。我正在处理的站点已设置,因此当且仅当未设置特定 cookie 时,第一个页面视图才会重定向到启动页面。

因此,Facebook 爬虫每次都在访问该页面。虽然这并不明显,因为启动页面继承了很多,看起来就像常规子页面之一。

多么不幸且耗时的错误。

于 2013-08-18T19:57:10.513 回答
0

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

在 facebook linter 输出中检查Fetched UrlCanonical Url部分。这会给你一些想法,是否正在发生重定向。

于 2013-07-25T18:10:37.040 回答
0

它是 Facebook ......在他们的“缓存”或任何你想称之为的东西中都有一些东西......当一个页面注册了一个不正确的 url......纠正这可能会很棘手......如果不是不可能...... .

试试这个....将您的后页网址更改为:www.me.com/path/path/file1.php 并通过 linter 运行它....使用正确的元标记.....

于 2013-08-08T09:58:23.800 回答