Поддерживает ли Facebook поддержку Hash Bang #! Ajax Crawlable Urls?

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

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

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

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

Когда мне "нравится" эта страница, она должна сканировать этот URL-адрес "escaped fragment":

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

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

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

Ответ 1

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

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

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

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

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

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

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