РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗sePmInIS 100 of 123 menu

Infinite scroll в SEO

Infinite scroll подгружает контент при прокрутке. Пользователю удобно, а робот не умеет скроллить. Он видит только тот HTML, который отдал сервер.

Если новые блоки появляются только через JavaScript, робот их не увидит. Нужно дать ему доступ к контенту другим способом.

Первый способ - отдавать контент в HTML. Пусть первые блоки будут в коде сразу, а остальные подгружаются через JavaScript.

Второй способ - сделать отдельные страницы с пагинацией, которые доступны по ссылкам. Например, /blog?page=2. Эти страницы можно закрыть от индексации, но оставить для робота как источник контента.

Вот пример: в HTML есть контейнер, а ссылки на страницы пагинации скрыты для пользователя, но видны роботу:

<div id="feed"> <div class="post">Post 1</div> <div class="post">Post 2</div> </div> <div class="hidden-pagination"> <a href="/blog?page=2">2</a> <a href="/blog?page=3">3</a> </div>

Ссылки можно скрыть через CSS, но не через display: none, потому что некоторые роботы игнорируют такой контент. Лучше вынести их за пределы видимой области или использовать position: absolute с отрицательным отступом.

Третий способ - prerender или серверный рендеринг. Тогда робот получает готовый HTML со всеми блоками.

Если у вас чистый infinite scroll без отдельных URL, робот увидит только первый экран. Это плохо. Нужно добавить ссылки на отдельные страницы или отдавать контент в HTML.

Простой прием: каждая подгружаемая порция имеет свой URL. Например, /feed?after=123. Эта страница отдает HTML с новыми блоками. Робот может ее обойти.

Если рядом есть и лента, и страницы пагинации, укажите канонический адрес, чтобы не было дублей:

<link rel="canonical" href="https://example.com/blog?page=2">

Практические задачи

Расскажите, почему робот не видит контент, который подгружается через infinite scroll.

Дана верстка:

<div id="feed"> <div class="post">Post 1</div> <div class="post">Post 2</div> </div>

Добавьте скрытую пагинацию, чтобы робот мог обойти все страницы. Используйте ссылки на /feed?page=2 и /feed?page=3.

Что делать, если у вас бесконечная лента без отдельных URL? Назовите два способа сделать контент доступным для робота.

Зачем при infinite scroll нужен canonical, если рядом есть страницы пагинации?

Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить