Facebook Linter / Open Graph обрезает путь URL - PullRequest
0 голосов
/ 09 октября 2011

Я искал в Интернете и StackOverflow ответ, но я не нашел ни одного случая, который бы в точности соответствовал моей ситуации. Я использую Facebook Linter для отладки того, как FB очищает мои метатеги. Если я использую его на простой странице «О программе», он прекрасно все подхватывает, особенно метатег og: url.

См: http://developers.facebook.com/tools/debug/og/object?q=http%3A%2F%2Felectionstats.com%2Fabout%2Fprivacy_policy

Проблема начинается, когда я очищаю свои обычные страницы содержания. Несмотря на то, что я трижды проверил, что мои теги сформированы правильно, FB Linter обрезает URI по URL, поэтому сообщает, что тег og: url имеет только доменное имяlectionstats.com/!

.

См: http://developers.facebook.com/tools/debug/og/object?q=http%3A%2F%2Felectionstats.com%2Fsearch%2Fyear_from%3A2010%2Fyear_to%3A2010%2Foffice_id%3A6

Тег og: url, который на самом деле находится на странице, выглядит следующим образом:

Я скептически отношусь к проблеме, связанной с кэшированием страниц в FB, потому что на своих страницах About я произвел быстрые изменения кода, которые изменяют вывод метатега, затем повторно запускаю ту же страницу через Linter, и Linter показывает эти быстрые изменения, в обязательном порядке, каждый раз. Но по какой-то причине, когда я пробую десятки различных комбинаций URL-адресов на основных страницах контента (/ search / pages), я всегда получаю обрезанный URL-адрес и, следовательно, только мета-поля с моей домашней страницы.

Я даже предположил, что FB будет игнорировать URL, который выглядит как страница «поиска», поэтому я перенаправил URL и тег заголовка, чтобы использовать номенклатуру «исследовать» вместо «поиска», но это все-таки сделал ничего - URI все равно будет отрублен.

1 Ответ

0 голосов
/ 17 ноября 2011

Ой, это стыдно.

У меня есть код в начале каждого запроса страницы, который определяет, принимает ли браузер пользователя файлы cookie;если нет, он возвращает пользователя на домашнюю страницу.Веб-сканер Facebook, как и другие веб-сканеры, не использует файлы cookie.Таким образом, он продолжал возвращаться на домашнюю страницу и читать теги og / meta.Большим непреднамеренным следствием моего кода было то, что он выбил ВСЕХ сканеров, пытающихся получить представление о моем веб-сайте, включая Google.

Исправление: пропустите проверку обработки файлов cookie, если строка пользовательского агента совпадает с частью UA, предоставленной обычными веб-сканерами, например, http://www.cult -f.net / detect-crawlers-with-php /

...