Настройка правильного индексирования AJAX-сайтов и урлов с хэшем !# |
Зачастую AJAX-сайты делают с ссылками вида site.ru/#page1, site.ru/#page2 &site.ru/#pageN и т.о. получается, что для поисковых систем такой сайт одна большая страница со встроенной навигацией.
Чтобы избежать такого надо делать все ссылки вида site.ru/#!page
Чтобы не быть голословным приведу рекомендации Яндекса и Google-а на эту тематику:
Робот Яндекса может проиндексировать AJAX-сайт, если структура сайта подчиняется определенным правилам.
Каждая индексируемая AJAX-страница должна иметь HTML-версию. Чтобы показать роботу наличие HTML-версии страницы, включите восклицательный знак в URL страницы:
http://www.example.com/#blog > http://www.example.com/#!blog
Обнаружив в ссылке на страницу сочетание #!
, робот запросит HTML-версию.
1.HTML-версия каждой AJAX-страницы должна быть доступна по адресу, в котором сочетание #!
заменено на параметр ?_escaped_fragment_=
. Для приведенного примера HTML-версия страницы расположена по адресу http://www.example.com/?_escaped_fragment_=blog.
Во всех найденных ссылках робот заменяет сочетание #!
на параметр ?_escaped_fragment_=
и обращается по измененному адресу (ссылки, содержащие #!
, также можно использовать в карте сайта).
2. HTML-версия главной страницы должна быть доступна по адресу с добавлением параметра ?_escaped_fragment_=
. Например: http://www.example.com/?_escaped_fragment_=. Обратите внимание: значение параметра должно быть пустым.
Чтобы сообщить роботу о HTML-версии главной страницы, в код страницы следует включить мета-тег.
Этот мета-тег можно использовать на любой AJAX-странице. Например, если страница доступна по адресу http://www.example.com/blog и содержит мета-тег, то робот проиндексирует HTML-версию страницы по адресу http://www.example.com/blog?_escaped_fragment_= .
В HTML-версии документа мета-тег размещать не следует: в этом случае страница не будет проиндексирована.
Ссылка в результатах поиска направит пользователя на AJAX-версию страницы.
http://help.yandex.ru/webmaster/robot-workings/ajax-indexing.xml
Подробную информацию вы сможете найти по ссылке https://developers.google.com/webmasters/ajax-crawling/
В этой статье представлены ответы на основные вопросы о сканировании ресурсов, которые используют AJAX. Более подробную информацию можно найти в документации для разработчика.
Когда нужно использовать элементы _escaped_fragment_ или #! в URL ресурсов, использующих AJAX?
Элемент #!
должен содержаться во всех таких URL. Робот Googlebot не переходит по ссылкам, в которых используется формат _escaped_fragment_
.
Где можно ознакомиться с принципами работы AJAX?
Пример приложения AJAX доступен на cтранице http://gwt.google.com/samples/Showcase/Showcase.html. Нажмите на любую из ссылок слева, и вы увидите, что в URL используется хеш #!, который позволяет переводить приложение в соответствующее состояние. Если вы поменяете элемент #! (например, в URL http://gwt.google.com/samples/Showcase/Showcase.html#!CwRadioButton) на ?_escaped_fragment_=
(http://gwt.google.com/samples/Showcase/Showcase.html?_escaped_fragment_=CwRadioButton), сайт вернется к определенной структуре кода HTML.
Почему нужно использовать элемент #! в URL ресурса AJAX?
На сегодняшний день страницы без этого элемента не будут правильно отображаться в результатах поиска Google. Однако мы продолжаем работать над тем, чтобы работа робота Googlebot была больше похожа на работу браузера. Как только функции, необходимые для вашего сайта, будут реализованы, робот Googlebot сможет начать правильно вносить в индекс ваши страницы без дополнительной помощи. Однако такая схема сканирования AJAX предлагает решение этой проблемы для сайтов, на которых уже используется AJAX и для которых правильное индексирование содержания нужно обеспечить уже сейчас. Мы полагаем, что наше решение подойдет разработчикам, которые уже применяют снимки HTML-кода своих страниц или создают их с помощью консольного браузера.
Сколько снимков HTML нужно использовать?
Это зависит от того, часто ли происходят изменения в вашем приложении. Если да, лучше формировать новый снимок HTML при обработке каждого запроса от поискового робота. С другой стороны, приложение может представлять собой архив библиотеки, ресурс которого изменяется редко. Чтобы серверу не приходилось постоянно создавать одни и те же снимки HTML, лучше сохранить их и в дальнейшем просто к ним обращаться. Можно также вернуть роботу Googlebot код статуса HTTP 304 (не изменен).
А если в моем приложении не используются хеш-фрагменты?
Попробуйте реализовать их. Использование хеш-фрагментов значительно повышает скорость работы приложения, поскольку они обрабатываются браузером на стороне клиента и дают возможность не обновлять всю страницу. Кроме того, хеш-фрагменты обеспечивают работу истории в приложении (пресловутая кнопка
« Пред. запись — К дневнику — След. запись » | Страницы: [1] [Новые] |