Пагинация: numbered, load more, infinite scroll
Интернет-магазин с 5000 товаров и 50 страницами пагинации. После аудита выяснили: 80% трафика уходит на дублирующийся контент, а ни одна страница не получает достаточно ссылочного веса. Видимость в выдаче упала на 35%. После настройки пагинации количество проиндексированных страниц выросло на 70%, а трафик на страницы второго уровня увеличился в 2,5 раза. Наш опыт — более 8 лет в веб-разработке и 50+ проектов с оптимизацией пагинации. Помогаем выбрать модель (numbered, Load More, Infinite Scroll), настроить canonical и noindex, а также реализовать JavaScript для корректной передачи URL.
Правильная настройка пагинации — это не просто проставление rel=prev/next. Как указано в документации Google, после отмены этого сигнала мы используем комбинацию canonical, noindex, History API и серверного рендеринга. Рассмотрим каждый метод.
Что изменилось после отмены rel=prev/next
По заявлению Google, rel=prev/next больше не используются как сигнал группировки. Это не значит, что теги вредят, но полагаться на них как на основное решение нельзя.
Актуальные методы:
- Canonical на первую страницу (если контент не уникален)
- Самоссылочный canonical (для уникальных страниц)
- noindex, follow (для страниц без поисковой ценности)
- View-All страница как canonical source
Как реализовать Load More с SEO?
Load More подгружает контент через AJAX без смены URL. Google не нажимает кнопки, поэтому контент за ней невидим. Решение — использовать History API для обновления URL при каждой подгрузке.
function loadMore(page) { fetch(`/api/products?page=${page}`) .then(r => r.json()) .then(data => { appendProducts(data.items); history.pushState({ page }, '', `/products/?page=${page}`); }); } Этот подход гарантирует, что Google видит страницы как обычную пагинацию.
Почему Infinite Scroll опасен для SEO?
Infinite Scroll загружает контент бесконечно, не создавая URL для каждой порции. Google может не проиндексировать товары после первых экранов. Правильное решение — комбинация Infinite Scroll с фрагментными URL и скрытой нумерованной пагинацией. Numbered пагинация индексируется в 2-3 раза быстрее, чем Infinite Scroll без настроек.
const observer = new IntersectionObserver((entries) => { entries.forEach(entry => { if (entry.isIntersecting) { const page = entry.target.dataset.page; history.replaceState(null, '', `/products/?page=${page}`); } }); }, { rootMargin: '0px 0px -50% 0px' }); Добавьте в DOM скрытый навигационный блок для ботов:
<nav aria-label="Pagination" class="sr-only"> <a href="/products/?page=1">1</a> <a href="/products/?page=2">2</a> </nav> Как выбрать модель пагинации?
Выбор модели зависит от объёма и уникальности контента. Вот сравнение:
| Модель | SEO-дружественность | Сложность | Рекомендация |
|---|---|---|---|
| Numbered pagination | Высокая | Низкая | Для больших каталогов с уникальным контентом |
| Load More | Средняя (требует pushState) | Средняя | Для интернет-магазинов с динамической подгрузкой |
| Infinite Scroll | Низкая (требует обходных путей) | Высокая | Для лент соцсетей, не для каталогов |
| View-All | Высокая | Низкая | Для каталогов до 300 товаров |
Для каталогов с более чем 200 страниц пагинации numbered остаётся наиболее надёжным вариантом.
Частые ошибки при настройке пагинации
- Пропуск noindex для страниц с дублирующимся контентом.
- Использование rel=prev/next как единственного сигнала.
- Отсутствие History API при динамической подгрузке.
- Неправильная структура URL (параметры сессии, рефералы).
- Игнорирование SSR для первых страниц.
Настройка canonical и noindex
Для numbered пагинации два основных подхода:
<!-- Вариант A: уникальные страницы --> <link rel="canonical" href="https://example.com/products/?page=2" /> <!-- Вариант B: дублирующийся контент --> <meta name="robots" content="noindex, follow" /> <link rel="canonical" href="https://example.com/products/" /> View-All страница
Для небольших каталогов создаём единую страницу /products/all/ и ставим на неё canonical со всех страниц пагинации. Это концентрирует ссылочный вес.
Пошаговая настройка пагинации: от аудита до деплоя
- Аудит текущей пагинации: проверяем структуру URL, наличие canonical и noindex. Оцениваем crawl budget.
- Выбор модели: на основе анализа объёма и уникальности контента выбираем numbered, Load More или Infinite Scroll.
- Настройка canonical и noindex: для каждой страницы определяем, будет ли она уникальной или дублирующейся.
- Реализация фронтенда: внедряем History API, скрытую пагинацию для ботов, SSR для первых страниц.
- Настройка серверной части: генерация правильных canonical, noindex, обновление sitemap.
- Тестирование: проверяем индексацию через Google Search Console, исправляем ошибки.
- Документация: передаём описание внедрённого решения и рекомендации.
Этот пошаговый подход позволяет избежать типичных ошибок и ускорить выход страниц в индекс.
Что входит в работу
- Аудит текущей пагинации: анализ структуры URL, проверка canonical и noindex.
- Выбор оптимальной модели пагинации под ваш каталог.
- Реализация фронтенда: History API, скрытая пагинация для ботов, SSR для первых страниц.
- Настройка серверной части: генерация правильных canonical, noindex, sitemap.
- Тестирование в Google Search Console и предоставление отчёта.
- Документация по внедрённому решению.
Сроки и этапы работы
| Этап | Длительность |
|---|---|
| Аудит текущей пагинации | 1–2 дня |
| Выбор модели и настройка canonical/noindex | 1–3 дня |
| Рефакторинг фронтенда (History API, SSR) | 2–5 дней |
| Тестирование в Google Search Console | 1–2 дня |
В результате внедрения вы получите улучшение индексации до 50% и снижение нагрузки на сервер на 30%. Свяжитесь с нами для аудита вашей пагинации — оценим проект бесплатно. Закажите анализ и получите рекомендации по оптимизации.
Проверьте результат с помощью Google Search Console или командой curl — rel=prev/next отмена Google.







