Facebook lint tool отладчика получает HTTP 206 - не обнаруживает метатеги Open Graph (другие инструменты делают) - PullRequest
5 голосов
/ 13 декабря 2011

Я считаю, что мой сайт имеет правильную разметку для мета-тегов Facebook и Open Graph.Но проверка линк Facebook показывает, что ни один из тегов не обнаружен.Вы можете увидеть здесь:

http://developers.facebook.com/tools/debug/og/object?q=goodloesolitaire.com

Когда я использую другой сайт, теги обнаруживаются:

http://www.opengraph.in/?url=goodloesolitaire.com&format=html

Iпрошел через подобные вопросы, и ни один из тех не проверял.Есть идеи, почему отладчик Facebook может ничего не видеть?

Ответы [ 3 ]

3 голосов
/ 13 декабря 2011

Facebook видит код HTTP 206 «Частичное содержимое» вместо обычных 200 «ОК».

206 «Частичное содержимое»: это сообщение может появиться, если у клиента есть частичная копия контента в кеше и запросы и обновление отсутствует содержание. Это сообщение указывает, что частичный запрос выполнен успешно.

Я нашел одно старое сообщение на форуме об этом: http://forum.developers.facebook.net/viewtopic.php?id=68440

Похоже, что проблема с настройкой сервера связана с кэшированием. Вы запускаете Varnish или что-то подобное на своем сервере? Проверьте это.

Еще одна попытка - переместить метатег charset ниже тегов Open Graph, чтобы Facebook знал правильную кодировку для их анализа. Кроме того, использование этого типа тега может работать лучше:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Наконец, убедитесь, что у вас ничего не блокирует пользовательский агент Facebook scraper. Как указано в их документации :

Наш бот работает с пользовательским агентом "facebookexternalhit / *". Делать уверен, что вы не блокируете этот пользовательский агент. Кроме того, убедитесь, что Facebook серверы могут добраться до вашего сервера.

1 голос
/ 26 ноября 2013

Если вы используете лак:

Положить

if (req.http.user-agent ~ "facebookexternalhit")
{
  return(pipe);
}

Внутри вашего sub vcl_recv:

sub vcl_recv
{
}

Это сработало очень хорошо.

0 голосов
/ 24 сентября 2013

Мы используем Varnish, поэтому нам это удалось:

if (req.http.user-agent ~ "facebookexternalhit")
    {
    return(pipe);
    }

https://www.varnish -cache.org / lists / pipermail / varnish-misc / 2011-February / 020060.html

...