Поддерживает ли Facebook Hash Bang #!Ajax Crawlable Urls? - PullRequest
10 голосов
/ 28 октября 2011

Поддерживает ли Facebook спецификацию сканирования ajax от Google и, если да, что вам нужно сделать для ее реализации?

Я пытаюсь настроить кнопку "Мне нравится" в Facebook для работы с URL-адресами для сканирования AJAX, как определеноздесь: code.google.com/web/ajaxcrawling/docs/specification.html

У меня есть этот URL-адрес, по которому я могу перейти напрямую, и он загружается.Обратите внимание "#!"в URL:

http://www.idkshouldi.com/?#!idkDetails_idkKey=agppZGtzaG91bGRpcmMLEiljb21faWRrc2hvdWxkaV93ZWJfc2VydmVyX2dhZV9vYmpfSWRrVXNlciIDamltDAsSKWNvbV9pZGtzaG91bGRpX3dlYl9zZXJ2ZXJfZ2FlX29ial9JZGtJdGVtGN6kBgw

Когда я "Нравится" этой странице, она должна сканировать этот URL "спасенный фрагмент":

http://www.idkshouldi.com/?_escaped_fragment_=idkDetails_idkKey=agppZGtzaG91bGRpcmMLEiljb21faWRrc2hvdWxkaV93ZWJfc2VydmVyX2dhZV9vYmpfSWRrVXNlciIDamltDAsSKWNvbV9pZGtzaG91bGRpX3dlYl9zZXJ2ZXJfZ2FlX29ial9JZGtJdGVtGN6kBgw

Почему он не сканирует эту страницу?Линтер Facebook неправильно сканирует мою страницу.Если кто-то использует инструмент для линтеров Facebook здесь: developers.facebook.com/tools/debug

Он не будет правильно сканировать URL с поддержкой AJAX с "#!"в этом.Это спецификация Google.Что нужно сделать сканеру линтов в Facebook, так это заменить "#!"с "_escaped_fragment_".Похоже, он этого не делает с моими ссылками с поддержкой AJAX.

1 Ответ

7 голосов
/ 29 октября 2011

Это также большая проблема для меня, но, к сожалению, похоже, что Facebook не поддерживает эту нотацию URL Google. Сканер / синтаксический анализатор Facebook не переводит хэш-удар (#!) В URL-адрес формата _escaped_fragment_.

Как и вы, я проверил свою страницу на URL-адресе Facebook, и она воспринимает только статические теги Open Graph на динамической исходной странице, а не специфичные для страницы теги Open Graph в _escaped_fragment_ серверном варианте моей страницы. К сожалению, это означает, что Facebook видит мои теги Open Graph как специфичные для сайта, а не для конкретной страницы.

Весьма забавно, что это не поддерживается, поскольку Facebook сам использует этот подход, чтобы сканеры Google могли подбирать страницы Facebook.

Один потенциальный обходной путь, который может вам немного помочь, это:

1) Используйте вашу версию страницы _escaped_fragment_ в ссылках Facebook 2) Добавьте автоматическое перенаправление к вашему варианту _escaped_fragment_ в правильную версию.

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...