Но из-за того, что содержимое страниц формируется динамически браузером на стороне пользователя, у поисковиков пока все еще возникают проблемы с индексированием таких сайтов. Для обхода этих проблем Goolge и Яндекс предлагают веб-мастеру определенным образом помечать страницы ajax-сайтов, чтобы они могли явно запросить у сервера html-версию этих страниц.
По сути все сводится к двум действиям:
1 - помечаем ссылки/страницы особым образом
- - если на сайте используются url с хеш-фрагментами, то после знака хеша в урл нужно добавить восклицательный знак например
- если в адресе страницы отсутствует хеш-фрагмент (например если это главная страница), то страницу можно пометить с помощью специального meta-тега
Код: Выделить всё
http://example.com/#page1 => http://example.com/#!page1
Код: Выделить всё
<meta name="fragment" content="!">
- поисковик обнаружив помеченную указанным способом страницы попытается загрузить html версию страницы, которую нужно проиндексировать путем замены в url символов "#!" на "?_escaped_fragment_=".
напримердля страниц помеченных meta-тегомКод: Выделить всё
http://example.com/#!page1 => http://example.com/?_escaped_fragment_=page1
Подразумевается, что поисковику будет отдана html-страница в том виде, в котором они видна пользователю после всех JavaScript-овых обработок. Для формирования таких страниц Google предлагает несколько вариантов:Код: Выделить всё
http://example.com/ => http://example.com/?_escaped_fragment_=
- Если большой объем содержания формируется с помощью JavaScript, для получения снимка HTML лучше воспользоваться хедлесс-браузером, например HtmlUnit. Либо можно воспользоваться другим инструментом вроде crawljax или watij.com.
- Если большая часть содержания формируется с помощью серверной технологии вроде PHP или ASP.NET, то можно воспользоваться существующим кодом, заменив фрагменты веб-страницы, связанные с JavaScript, статическим или серверным кодом HTML.
- Можно создать автономную статическую версию страницы. Например, многие приложения отрисовывают содержание из базы данных, которое затем визуализируется браузером. Вместо этого можно создать отдельную HTML-страницу для каждого URL AJAX.
В HTML-версии документа мета-тег размещать не следует: в этом случае страница не будет проиндексирована.
Ссылка в результатах поиска будет выводиться ссылка с "#!", которая направит пользователя на AJAX-версию страницы.
Подробнее можно почитать по ссылкам
https://help.yandex.ru/webmaster/robot- ... dexing.xml
https://support.google.com/webmasters/a ... 4992?hl=ru
https://support.google.com/webmasters/a ... 4993?hl=ru
https://developers.google.com/webmaster ... tion?hl=ru