Конечные точки OGP, которые указывают, что сущности Facebook неправильно анализируются сканером FB? - PullRequest
2 голосов
/ 03 декабря 2011

Наше приложение отображает кнопки «Мне нравится», которые указывают на реальную страницу Facebook.Однако вместо того, чтобы указывать ссылку кнопки «Мне нравится» непосредственно на URL FB, мы проксируем ее через наши серверы через конечную точку opengraph.Это полезно, потому что позволяет нам иметь более детальную аналитику о том, когда эти конечные точки используются (среди прочего). Когда на эти конечные точки воздействует пользовательский агент, такой как 'facebookexternalhit', они отображают что-то вроде следующего:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <meta property="fb:app_id" content="158708354177049" />
    <meta property="og:site_name" content="BandPage" />
    <meta property="og:url" content="http://www.facebook.com/stormystrongmusic" />
    <meta property="og:type" content="band" />
    <meta property="og:title" content="Stormy Strong" />
    <meta property="og:description" content="..." />
    <meta property="og:image" content="https://graph.facebook.com/20501829906/picture" />

    <title>Stormy Strong</title>

    <link rel="canonical" href="http://www.facebook.com/stormystrongmusic"/>
</head>
<body>
</body>
</html>

Обратите внимание, что и og: url, и ссылка rel = "canonical" указывают на фактическую страницу Facebook.На практике это выглядит так, как будто все работает нормально, когда мы пытаемся запустить ссылку через отладчик Facebook: https://developers.facebook.com/tools/debug/og/object?q=http%3A%2F%2Fwww.bandpage-s.com%2Fogp%2F11601543111380992

Однако существует проблема, когда после некоторого интервала кнопки «Мне нравится» не возвращаются встраница больше.Это приводит к тому, что счетчик лайков выключен, кнопка не «нравится», если страница вам уже понравилась, и т. Д. Ручной запуск повторной очистки путем перехода по URL-адресу отладчика OG, приведенному выше, на некоторое время решает проблему.

Очевидно, что ручной повторный запуск этих операций не является надежным решением.Здесь происходит многократное поведение скребка?Похоже, что скребок, который запускается с отладчиком, отличается от того, который периодически повторно очищает автоматически.

Почему это происходит?Есть ли что-нибудь, что мы можем сделать, чтобы обойти это, кроме как избавиться от нашей конечной точки ogp 'middle-man' здесь?Это похоже на идеальное использование og: url.

...