【问题标题】:Facebook debugger scrapes default Apache page instead mineFacebook 调试器抓取默认的 Apache 页面而不是我的
【发布时间】:2014-11-02 15:15:41
【问题描述】:

我做了一个网站:http://pravo-trans.eu/

所有需要的 og 元标记。但是当我想在任何社交网络上分享链接时,什么都没有发生。我以为可能是缓存。但是当我使用 facebook 调试器时,它说:

'og:type' 属性是必需的,但不存在。

这不是真的,因为我在<head> 中写道:

    <meta property="og:title" content="Проект правовой помощи людям" />
    <meta property="og:type" content="website" />
    <meta property="og:image" content="/transgender-project.jpg" />
    <meta property="og:description" content="Бесплатные юридические консультации и представительство по делам о смене документов (внесение изменений в записи о рождении, паспорта, трудовые книжки, документы об образовании и другие документы)" />
    <meta property="og:url" content="http://pravo-trans.eu/" />
    <meta property="og:locale" content="ru_RU" />
    <link rel="canonical" href="http://pravo-trans.eu/" />

当我点击“查看我们的抓取工具为您的 URL 看到的确切内容”时,最奇怪的事情发生了。 我看到调试器解析了 Apache 默认页面而不是我的https://developers.facebook.com/tools/debug/og/echo?q=http%3A%2F%2Fpravo-trans.eu%2F

会怎样,我该如何解决?

【问题讨论】:

  • 看起来您的服务器上的某些配置有误,因此如果它没有得到它所期望的请求标头,它只会响应默认页面。请联系您的服务器管理员对此进行调查。
  • 是的,我已经联系了处理这个问题的人,但他只能在几天后检查它((也许我应该在 .htaccess 中写一些东西,它会有所帮助吗?

标签: facebook apache meta-tags og-meta


【解决方案1】:

在尝试调试此问题并使用 DNS 设置/服务器数小时后,我找到了适合我的解决方案。

我注意到来自 Facebook 的请求来自 IPv6 服务器,但我的 Apache VirtualHost 声明不包括 IPv6 地址。为了调试,我在我的 Apache .conf 文件中更改了以下行:

&lt;VirtualHost IPv4:80&gt;

到:

&lt;VirtualHost IPv4:80 [IPv6]:80&gt;

...在重新启动 Apache 后,Facebook 能够成功抓取我的网站。 (当然,将上面的 IPv4/IPv6 替换为您的实际地址。)

如果您像我一样偶然使用 Parallels Plesk,那么这不是永久的解决方案,因为 Plesk 会重写配置文件,因此您必须进入 Plesk 面板并确保您的服务器的 IPv6 地址已分配到拥有相关域的订阅。在我的例子中,只有 IPv4 被分配给订阅。

可以在每个特定订阅的“更改主机设置”下找到该设置。

【讨论】:

    猜你喜欢
    • 2018-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-24
    相关资源
    最近更新 更多