Ржанский Д.

Увидит ли Яндекс товары за кнопкой «Загрузить ещё»?

Почему AJAX-загрузка товаров может скрыть часть каталога от робота Яндекса и как сохранить crawlable-пагинацию, не отказываясь от кнопки «Загрузить ещё».

Дмитрий Ржанский Дмитрий Ржанский 1 просмотров

Да, такой риск есть: если товары после первой порции появляются только после пользовательского клика по AJAX-кнопке, Яндекс может не получить весь ассортимент каталога через эту страницу. Сам факт, что Яндекс умеет исполнять JavaScript, не означает, что безопасно прятать продолжение товарной выдачи исключительно за действием пользователя.

Почему AJAX сам по себе проблему не решает

Яндекс прямо указывает, что при обработке AJAX-страниц робот сканирует исходные URL и исполняет JavaScript. Одновременно в документации по JavaScript-страницам Яндекс предупреждает, что из-за отложенной загрузки и альтернативных сценариев такие страницы могут индексироваться не полностью. Для обнаружения ссылок на AJAX-страницах робот учитывает URL в атрибуте href.

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

Google формулирует ограничение ещё прямее: его роботы не нажимают кнопки и обычно не запускают JavaScript-функции, требующие пользовательского действия. Это не доказательство идентичного поведения Яндекса, но хорошо показывает, почему зависимость от пользовательского клика считается технически хрупкой схемой.

Что именно можно потерять

Проблема не обязательно означает, что ранее известные карточки товаров мгновенно исчезнут из индекса. Яндекс может знать их URL из Sitemap, других внутренних ссылок или прошлых обходов.

Меняется другое: категория перестаёт быть надёжным путём обнаружения товаров, находящихся за первой загрузкой. Если старые страницы пагинации удалены, а единственный путь к нижним товарам проходит через AJAX-кнопку, часть карточек может стать хуже доступна для обхода и повторного обнаружения. Кроме того, сама категория в версии, доступной роботу, может содержать только первую порцию товаров. Яндекс отдельно рекомендует поддерживать связанную внутренними ссылками структуру сайта.

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

Как оставить «Загрузить ещё» без SEO-риска

Возвращать пользователю классическую пагинацию в интерфейсе необязательно. Безопаснее сохранить её технически.

<a class="load-more" href="/catalog/?page=2">Загрузить ещё</a>

JavaScript может перехватывать клик, загружать товары через AJAX и добавлять их в текущий список. Но URL /catalog/?page=2 должен открываться напрямую и возвращать соответствующую порцию товаров без обязательного клика по кнопке. Аналогично должны существовать следующие части каталога.

Карточки товаров внутри каждой порции также должны содержать обычные ссылки:

<a href="/product/model-123/">Название товара</a>

Такая архитектура сохраняет удобный интерфейс «Загрузить ещё», но оставляет роботу обычную цепочку URL и href. Яндекс прямо указывает, что страницы пагинации могут обходиться и участвовать в поиске, а для AJAX-ссылок учитывает адреса из href.

Если раньше страницы пагинации уже существовали и были доступны Яндексу, разумнее использовать их как техническую основу нового интерфейса, а не уничтожать после внедрения AJAX.

Как проверить уже внедрённый вариант

В Яндекс Вебмастере откройте «Индексирование → Проверка страницы» и посмотрите версию категории в базе. Найдите в ней товар, который появляется только после второго или третьего нажатия «Загрузить ещё». Яндекс позволяет посмотреть контент именно в той версии страницы, которую получил робот.

Дополнительно проверьте:

  1. Есть ли в исходном или отрендеренном HTML ссылка на следующую часть каталога.
  2. Открывается ли URL второй части напрямую и возвращает ли 200 OK.
  3. Есть ли в этой версии обычные href на карточки товаров.
  4. Присутствуют ли товарные URL в Sitemap.
  5. Не сократилось ли после внедрения число товарных URL в статистике обхода и среди страниц, известных Яндексу.

Если товар из глубины каталога отсутствует в версии страницы для робота, а отдельного доступного URL на следующую часть выдачи нет, текущую реализацию лучше считать рискованной и вернуть crawlable-пагинацию под AJAX-интерфейсом.

Разобрать проблему на вашем сайте

Опишите проблему — найду вероятную причину и предложу понятный план исправлений без лишних работ.

Связаться