<rmcreative>

RSS

Google, индексация AJAX-сайтов

26 ноября 2011

Что Google довольно всеяден я знал, но с необходимостью кормить ему хештеги столкнулся только недавно.

Оказывается, тут есть особенности:

  1. Сразу после # должен идти !. То есть URL должен выглядеть как-то так: http://example.com/index.html#!ajaxSection1.
  2. Бот, увидев подобный хештег в ссылке, попробует сходить по адресу http://example.com/index.html?_escaped_fragment_=ajaxSection1. Вы, соответственно, должны по этому адресу отдать видимый контент для индексации.

Вот такие вот дополнительные телодвижения. Хотите модно и индексируемо — придётся немного постараться.

Комментарии RSS

  1. №5610
    MT
    MT 26 нояб. 2011 г., 23:44:10

    В настоящее время, по-моему, более интересен History API, позволяющий сочетать Ajax-подгрузку и статичные URL-адреса.

  2. №5611
    Vov4ik
    Vov4ik 27 нояб. 2011 г., 2:10:11

    достаточно давно известная фича. Использовал http://www.asual.com/jquery/address/samples/crawling/

  3. №5612
    TecHMeaT
    TecHMeaT 27 нояб. 2011 г., 10:10:53

    А Яндекс такое не понимает?

  4. №5614
    Максим
    Максим 27 нояб. 2011 г., 14:20:00

    Интересно, а чем вариант с:

    <a href="/myurl" onclick="ajax('/myurl')">link</a>

    плох для поисковиков ? Гугл будет видеть обычные ссылки. А мы на onclick можем даже динамически цепляться

    $('a').live('click',function(){return ajax(this.href);});
  5. №5615
    Sam
    Sam 27 нояб. 2011 г., 15:58:12

    Максим, если у нас нет поддержки History API, то ссылку менять динамически для пользователя мы не сможем.

    TecHMeaT, не знаю. У меня как-то не ладится с коммерческими проектами, в которых что-либо делают под русскоязычную аудиторию, поэтому Яндекс я знаю плохо.

  6. №5617
    Максим
    Максим 27 нояб. 2011 г., 20:34:50

    Да не, задумка в том что если пользователь переходит по ссылке от гугла, то грузится как обычно, а все остальные страницы уже с хеш навигацией идут. Если же чел открывает страницу с хешем, то сразу редиректится на страницу как с обычной ссылкой, а дальше в дело идет хеш навигация. Должно индексироваться нормально, без извращения. + Будет доступна не js версия. По-моему аякс сайты так и должны делаться, вдруг чел не хочет аякса или с мобильника открыл страницу?

  7. №5618
    Sam
    Sam 28 нояб. 2011 г., 2:08:22

    Редирект тут, конечно, лишний, но работать должно.

  8. №5619
    Максим
    Максим 28 нояб. 2011 г., 2:19:33

    Совсем не лишний, иначе страница будет сперва грузиться, а потом подгружаться её аякс часть. С редиректом в секции <head>, в самом начале загрузки страницы с хеш ссылкой на другую страницу, происходит редирект на требуемую страницу. То есть, пользователю не нужно уже ждать пока полностью отрисуется основная страница, а дальше уже по аякс будет грузиться че-нить. Он сразу попадет на нужную ему страницу. Без никаких мельканий в контенте. Вариант не самый лучший, но, лучше я не знаю. Хотя, можно конеечно сперва грузить страницу пустышку, а потом уже делать хеш-редирект на главную, но, опять же, будут проблемы с поисковиками и с мобильными браузерами.

  9. №5620
    MT
    MT 28 нояб. 2011 г., 2:27:07

    если у нас нет поддержки History API, то ссылку менять динамически для пользователя мы не сможем.

    Поскольку эта функциональность в общем случае является сугубо «улучшательной», но никак не критичной, пользователи браузеров без поддержки History API вполне переживут отсутствие подобной динамики, имея дело с обычными статическими ссылками.

  10. №5621
    Sam
    Sam 29 нояб. 2011 г., 1:30:55

    MT, а что будет когда те, без history API, начнут делиться ссылками с хештегами?

  11. №5622
    MT
    MT 29 нояб. 2011 г., 4:49:21

    Хэш-fallback можно вообще не использовать. Поддерживается History API — используется динамическая подгрузка + динамическая смена URL-адреса без перезагрузки. Не поддерживается History API — используются обычные полноценные URL-адреса.

  12. №5623
    Sam
    Sam 29 нояб. 2011 г., 19:13:29

    То есть без History API AJAX-подгрузка отключается?

  13. №5624
    MT
    MT 29 нояб. 2011 г., 19:29:29

    Именно. На грамотно сделанном сайте контент при этом останется полностью доступным, а сам сайт — удобным.

  14. №5625
    Максим
    Максим 30 нояб. 2011 г., 15:07:55

    2MT, +1. Я именно про такой подход и писал.

  15. №5642
    Денис Ильиных
    Денис Ильиных 06 дек. 2011 г., 12:02:32

    в качестве теста сделали сайт с хештегами ) http://flir-russia.ru/

    пробывали только на escaped_fragment но яндекс не понимает такую штуку

    в результате сделал все урлы на сайте вида /p/page/ и яваскриптом меняю ссылки на хештеги, далее уже работает через аякс.

    Все страницы в гугл и яндексе проиндексированы. :) профит.

  16. №5815
    konstantin
    konstantin 29 янв. 2012 г., 14:02:56

    Спасибоуууу !!! Полезная информация для меня!!!

  17. №8085
    vova
    vova 20 июня 2013 г., 16:11:32

    пробовали ли вы когда либо сервис feedopost.ru Странички индексируются наура)

  1. Почта опубликована не будет.

  2. Можно использовать синтаксис Markdown или HTML.

  3. Введите ответ в поле. Щёлкните, чтобы получить другую задачу.