Как заставить Yandex корректно индексировать Ajax-сайт, который использует HTML5-режим работы URL?

Есть сайт, работающий с использованием технологии ajax.
У сайта есть, например, такой URL:
www.example.com/blog/

При обращении роботом по этому URL возвращается страница с HTML-тегом <meta name="fragment" content="!" />. Так же эта страница не содержит никакого контена внутри себя. Её содержимое выглядит примерно так:
...
  <body>
    <div id="content"></div>
  </body>
</html>


Далее Yandex обращается по адресу www.example.com/blog/?_escaped_fragment_= и получает полностью сформированную HTML-версию страницы но уже без тега <meta name="fragment" content="!" />.

А вот далее возникает трудность. Когда страница появляется в поисковой выдаче Yandex, она уже находится по адресу www.example.com/blog/#!

Проблема в том, что такие страницы то попадают в поисковую выдачу, то пропадают из нее с пометкой Yandex-вебмастера "Страница обходится роботом, но отсутствует в поиске, поскольку дублирует уже имеющиеся на вашем сайте страницы".

График "Страниц в поиске" Yandex-мастера выглядит так:
5e5e37426b554ad5ab646a9b82c11f8f.png

Тех. поддержка Яндекса дала такой ответ:
"Увы, такое отображение адресов страниц связано с проблемами с нашей стороны. Наши специалисты уже знают об их существовании, надеемся, в скором времени данные в поиске будут обновлены."

Понятно, что такое поведение Яндекса связано с тем, что первоначально Ajax-сайты должны были использовать URLы типа www.example.com#!/blog/. Тогда робот Yandex-а обращался бы к странице www.example.com?_escaped_fragment_=/blog/ и в поисковую выдачу попадала бы страница с правильным адресом www.example.com#!/blog/. Но очень уж не хочется иметь такие некрасивые адреса на сайте.

Есть ли какое-нибудь существующее решении проблемы выпадания страниц Ajax-сайтов из поисковой выдачи Yandex?

Очень не хотелось бы:
1. Возвращаться на HTML-версию сайта без Ajax.
2. Переходить на адресацию страниц типа www.example.com#!/blog/
  • Вопрос задан
  • 9109 просмотров
Пригласить эксперта
Ответы на вопрос 8
Никто не в курсе, с 2014 года что-то поменялось? Тот же вопрос интересует.
Ответ написан
Комментировать
itsoft
@itsoft
Директор веб-студи и дата-центра itsoft
Когда еще только появился AJAX, а это уже почти лет 10 назад наверное, все кинулись его применять где надо и не надо. Но я сразу сказал и постоянно повторяю, что у сайта должна быть возможность послать ссылку на страницу другу.

Этим определяется сайт. В нем есть страницы и каждая страница имеет свой URL. Страницы будут индексироваться. И ссылки на них будут по всему инету распространяться.

AJAX же надо использовать для подгрузки каких-то не существенных вещей, которым свой URL в инете не нужен. Или же для приложений вроде игры в танчики, где URL никакого смысла не имеет и его нет, т.к. там полная динамика и сослаться не на что.
Ответ написан
Бредовая идея: а что если весь контент www.example.com/blog/ обернуть в <!--noindex-->
Ответ написан
Комментировать
@artishok
кратко
Забудьте про якоря уже, гуглите history api
Ответ написан
@NIKNNN
Никак... пока не избавитесь от него не будет эффекта по продвижению) Попомните мои слова.
Ответ написан
Комментировать
copist
@copist
Empower people to give
Отрисовывай страницы через prerender.io

Статья на эту тему: https://scotch.io/tutorials/angularjs-seo-with-pre...
Но подход одинаковый вообще для любых сайтов, где часть контента генерируется через javascript
Ответ написан
Комментировать
@yury_egorenkov
Попробуй renderjs.io
Ответ написан
Комментировать
@lipinart
И все равно интересно, как быть c SPA-сайтами?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы