1

我做了一个网站: 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

它是怎么回事,我该如何解决?

4

1 回答 1

1

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

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

<VirtualHost IPv4:80>

至:

<VirtualHost IPv4:80 [IPv6]:80>

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

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

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

于 2015-01-07T10:27:16.093 回答