Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗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 для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить