Технічне SEO

Пагінація SEO: найкращі практики для URL і canonical

Дайте кожній сторінці пагінації власний URL і canonical на себе, звʼяжіть сторінки справжніми посиланнями <a href>, не ставте номери в #, а «Показати ще» і нескінченний скрол спирайте на сторінки, які бачить краулер.

Автор: Дослідницька команда SEORecheck, SEO-аудиториОпубліковано 9 хв читання

Сині сторінки з блакитними зв’язками й бурштиновими петлями показують найкращі практики SEO для пагінації.
Пов’язані сторінки, кожна з власним канонікалом

Пагінація SEO зводиться до однієї мети: Google має дістатися до кожного елемента довгого списку. Пагінація сторінок налаштована правильно, коли кожна сторінка серії має власний URL і власний canonical, сторінки повʼязані звичайними посиланнями <a href>, номери сторінок не сховані у фрагментах #, а кнопка «Показати ще» чи нескінченний скрол спираються на сторінки, які краулер може просканувати.

Більшість проблем із пагінацією виникає не через відсутній тег. Їх створюють «виправлення» з добрими намірами: canonical усіх сторінок веде на першу або на сторінки від 2-ї ставлять noindex. Такі зміни непомітно відрізають товари чи статті, на які посилаються лише глибші сторінки. У цьому посібнику — що документує Google, які помилки призводять до реальних втрат і як перевірити власний сайт.

Що таке пагінація в SEO і чому вона важлива?

Пагінація — це розбиття довгого списку (товари категорії, архів блогу, результати пошуку, гілки форуму) на кілька URL, зазвичай ?page=2, ?page=3 і далі. Для SEO сторінки пагінації важливі не стільки як сторінки для ранжування, скільки як шляхи. Саме через них краулери знаходять елементи на 7-й сторінці, на які більше ніщо не посилається.

Документація Google про пагінацію пояснює, чому налаштування має значення. Google «зазвичай сканує URL, знайдені в атрибуті href елементів <a>», а його краулери «не "натискають" кнопки й зазвичай не запускають функції JavaScript, які потребують дій користувача». Припустімо, кнопка «Показати ще» лише довантажує товари через JavaScript і за нею немає посилання. Тоді кожен товар після першої порції можна знайти тільки через sitemap або інші внутрішні посилання.

Тож мета SEO пагінації — не вивести в топ 4-ту сторінку категорії. Мета — щоб 4-та сторінка залишалася доступною для сканування й індексування настільки, щоб елементи на ній знаходилися, а перша сторінка лишалася очевидною цільовою сторінкою для запиту категорії. На малих сайтах це рідко важливо. В інтернет-магазинах із сотнями товарів у категорії чи в блогах з архівами за роки саме це вирішує, чи потрапить глибокий контент в індекс узагалі. Це одне зі структурних рішень, про які йдеться в статті про архітектуру сайту для SEO.

Пагінація SEO: основні правила

Ось правила, які документує Google, і кілька практик, що прямо з них випливають.

  1. Дайте кожній сторінці унікальний URL. Google радить «давати кожній сторінці унікальний URL. Наприклад, додайте параметр запиту ?page=n, оскільки Google розглядає URL у пагінованій послідовності як окремі сторінки» (Google Search Central). Підходять і /shoes?page=2, і /shoes/page/2/. Оберіть один шаблон і використовуйте його всюди.
  2. Ніколи не використовуйте фрагменти для номерів сторінок. Google ігнорує все після #. Для Google /shoes#page=2 — той самий URL, що й /shoes.
  3. Ставте canonical на себе на кожній сторінці. Canonical 2-ї сторінки веде на 2-гу, 3-ї — на 3-тю. Не канонізуйте всю серію на першу сторінку (див. нижче).
  4. Звʼязуйте сторінки посиланнями <a href>, доступними для сканування. Як мінімум — посилання з кожної сторінки на наступну. Нумеровані посилання (1, 2, 3 … 12) скорочують кількість кліків до глибоких сторінок.
  5. Посилайтеся з кожної сторінки на першу. Google пропонує «посилатися з усіх окремих сторінок колекції на її першу сторінку, щоб підкреслити початок колекції».
  6. Тримайте першу сторінку на одному URL. Якщо /shoes і /shoes?page=1 повертають однаковий список, налаштуйте 301-редирект із ?page=1 на /shoes (або принаймні canonical туди). І в пагінації посилайтеся на чистий URL.
  7. Повертайте 404 для сторінок поза діапазоном. Якщо ?page=999 показує порожній список зі статусом 200, краулери можуть генерувати нескінченні «тонкі» URL. Справжня 404 — чистіше рішення. У статті про помилки 404 і SEO пояснено, чому це безпечно.
  8. Робіть title розрізнюваними. Google не вимагає унікальних title для сторінок пагінації. Проте «– Сторінка 2» у title прибирає попередження про дублі title у краулерах і чітко показує, яка це сторінка.

Ось як виглядають <head> і посилання пагінації 2-ї сторінки за правильного налаштування:

<head>
  <title>Women's Running Shoes – Page 2 | Example Store</title>
  <link rel="canonical" href="https://example.com/running-shoes?page=2">
</head>
<body>
  <!-- product grid -->
  <nav aria-label="Pagination">
    <a href="/running-shoes">1</a>
    <a href="/running-shoes?page=2" aria-current="page">2</a>
    <a href="/running-shoes?page=3">3</a>
    <a href="/running-shoes?page=3">Next</a>
  </nav>
</body>

Чи має canonical сторінок пагінації вести на першу сторінку?

Ні. Кожна сторінка пагінації повинна мати canonical на саму себе. Google прямо каже: «Не використовуйте першу сторінку пагінованої послідовності як канонічну. Натомість дайте кожній сторінці власний канонічний URL» (Google Search Central). На 2-й сторінці інші елементи, ніж на 1-й, тож це не дубль.

Canonical з 2-ї і далі сторінок на першу повідомляє Google, що ці сторінки — копії першої, хоча це не так. Google може почати вважати глибші сторінки дублями й приділяти їм менше уваги. А посилання на цих сторінках — головний шлях до товарів чи публікацій, які там перелічено, тож ці елементи втрачають цей шлях. У результаті сайт часто бачить статус «Дублікат: Google вибрав іншу канонічну сторінку, ніж користувач» або товари, що застрягли в статусі «виявлено, але не проіндексовано».

Є один виняток. Якщо у вас є справжня сторінка «показати все», яка швидко завантажує весь список, сторінки пагінації можуть мати canonical на цей URL, адже він містить усе, що й вони. Для більшості магазинів із великими категоріями одна сторінка «показати все» надто важка, щоб бути практичною. Детальніше про вибір канонічної сторінки — у нашому посібнику з тегу canonical.

Чи використовує Google rel="prev" і rel="next"?

Ні. Google зазначає, що «більше не використовує ці теги, хоча інші пошукові системи все ще можуть їх використовувати» (Google Search Central). Якщо ваша CMS уже їх виводить, прибирати не обовʼязково. Просто не розраховуйте, що вони пояснять Google структуру серії.

Натомість Google покладається на видиме посилання між сторінками, доступне для сканування. Серія, у якій є rel="next" у <head>, але немає справжнього посилання <a href> «Далі» в тілі сторінки, для Google фактично зламана. Вважайте теги <link> необовʼязковим доповненням, а посилання-анкори — обовʼязковими.

Чи варто закривати сторінки пагінації від індексації (noindex)?

Зазвичай ні. noindex на сторінках від 2-ї видаляє з індексу сторінки з унікальними елементами. До того ж ці глибокі сторінки стають слабшим шляхом до елементів на них — протилежне тому, чого ви хочете. Залишайте сторінки пагінації індексованими, з canonical на себе, а перша сторінка хай ранжується за запитом категорії завдяки власній силі.

noindex потрібен для іншого типу URL: варіантів із сортуванням і фільтрами, які повторюють той самий список в іншому порядку. Google рекомендує, «щоб уникнути індексування варіантів того самого списку результатів, блокувати індексування небажаних URL метатегом robots noindex або перешкоджати скануванню певних шаблонів URL через файл robots.txt» (Google Search Central).

Межа проста:

URL Що це Рекомендована обробка
/shoes?page=3 Унікальна частина списку Індексована, canonical на себе, з посиланнями
/shoes?page=1 Дубль /shoes 301 або canonical на /shoes
/shoes#page=3 Фрагмент, невидимий для Google Замінити справжнім URL
/shoes?sort=price_asc&page=3 Ті самі елементи, інший порядок noindex або блокування шаблону в robots.txt
/shoes?color=red&size=42 (без результатів) Порожня комбінація фільтрів Повертати 404
/shoes?page=999 Сторінка поза діапазоном Повертати 404

Одне застереження: не поєднуйте блокування в robots.txt і noindex на одному URL. Заблокований URL ніколи не завантажується, тож Google так і не побачить noindex. Про цю пастку — у посібнику з robots.txt.

Як повʼязані пагінація і фасетна навігація?

Кожен фільтр множить вашу пагіновану серію. Пʼять кольорів × шість розмірів × десять сторінок — це вже 300 URL для однієї категорії. Рекомендації Google щодо фасетної навігації попереджають, що так можуть виникати «нескінченні простори URL», які спричиняють надмірне сканування й повільніше виявлення нового контенту. Серед варіантів: блокувати URL фасетів у robots.txt, використовувати стандартний роздільник параметрів &, повертати 404 для комбінацій фільтрів без результатів і ставити canonical з відфільтрованих URL на версію без фільтрів.

На практиці залишайте звичайну серію без фільтрів (/shoes?page=n) повністю доступною для сканування. Варіанти з фільтрами й сортуванням контролюйте окремо. Тримайте сталий порядок параметрів (?color=red&page=2, а не часом ?page=2&color=red), щоб той самий список не зʼявлявся під двома URL. У великих магазинах це переважно питання ефективності сканування, детально розібране в статті про оптимізацію краулінгового бюджету.

Чи шкодять SEO нескінченний скрол і кнопка «Показати ще»?

Самі по собі — ні, але вони ризиковані, коли це єдиний спосіб дістатися глибших елементів. Краулери Google не натискають кнопки й не прокручують сторінку, щоб запустити JavaScript. Контент, що зʼявляється лише після таких дій, Google може ніколи не побачити. Рішення — будувати обидва патерни поверх справжніх URL пагінації.

Безпечна реалізація:

  • «Показати ще» як справжнє посилання. Зробіть кнопку елементом <a href="/shoes?page=2">, який JavaScript перехоплює, щоб додати товари на місці. Користувачі отримують плавний досвід, а краулери переходять за href на справжню 2-гу сторінку.
  • URL пагінації, що працюють самостійно. Пряме відкриття /shoes?page=3 має повертати елементи 3-ї сторінки в HTML (або у відрендереному DOM), а не першу сторінку з позицією прокрутки.
  • Оновлюйте URL під час прокручування. За нескінченного скролу змінюйте адресний рядок на відповідний ?page=n, коли довантажується кожна порція. Тоді поширені посилання й кнопка «Назад» ведуть у правильне місце.
  • Використовуйте коректні значення href. У посібнику Google зі сканованості посилань сказано, що надійно сканувати можна лише елементи <a> з href. Патерни на кшталт <a onclick="goto(...)">, href="javascript:..." чи routerLink без href не рахуються.

Google також радить «використовувати файл sitemap або фід Google Merchant Center, щоб допомогти Google знайти всі товари на вашому сайті». Це корисна підстраховка, але вона не замінює посилань, доступних для сканування. Якщо сторінки лістингу рендерить JavaScript-фреймворк, перевірте ще й те, що насправді бачить Googlebot. Як це зробити — у статті про проблеми рендерингу JavaScript для SEO.

Який тип пагінації обрати?

Обирайте залежно від того, як люди користуються списком, а потім зробіть його доступним для сканування. Пошукові системи впораються з усіма трьома патернами, якщо реалізація правильна.

Патерн Найкраще для Ризик для SEO Обовʼязково
Нумеровані сторінки Великі каталоги, архіви, усе, де люди переходять до конкретного місця Низький Унікальні URL, canonical на себе, посилання <a href>
Кнопка «Показати ще» Магазини, де користувачі порівнюють товари на одному екрані Середній Кнопка зі справжнім посиланням ?page=n
Нескінченний скрол Стрічки, галереї ідей, новини Високий Резервні URL пагінації та URL, що оновлюється під час скролу
Показати все Короткі списки, що швидко завантажуються Низький (якщо швидко) Сторінка лишається швидкою; сторінки пагінації можуть мати canonical на неї

Хоч би що ви обрали, перевірте й глибину кліків. Якщо елемент на 40-й сторінці, а єдиний шлях до нього — 39 разів натиснути «Далі», він фактично осиротілий. Нумеровані посилання зі стрибками (1, 2, 3 … 10 … 40), вужчі підкатегорії та посилання зі схожих товарів скорочують цей шлях. Як це зробити, не захаращуючи шаблони, — у статті про внутрішню перелінковку для SEO.

Як перевірити пагінацію на сайті?

Почніть із краулера, бо більшість помилок пагінації видно лише на багатьох URL одночасно. Потім підтвердьте найважливіші в Search Console.

  1. Проскануйте велику категорію чи архів. Перевірте, чи краулер доходить до останньої сторінки, лише переходячи за посиланнями. Якщо він зупиняється на першій, ваша пагінація недоступна для сканування.
  2. Перевірте canonical на сторінках від 2-ї. Кожен має вести на саму сторінку (або на справжню сторінку «показати все»). Canonical на першу сторінку — найпоширеніша помилка.
  3. Пошукайте noindex на сторінках пагінації. Плагіни й теми іноді додають його за замовчуванням.
  4. Протестуйте JavaScript-патерни. Вимкніть JavaScript або перегляньте відрендерений HTML в інструменті перевірки URL у Search Console і переконайтеся, що за «Показати ще» та скролом стоять посилання <a href>.
  5. Перевірте граничні випадки. Відкрийте ?page=1, ?page=0 і ?page=9999 та зафіксуйте коди статусу й canonical.
  6. Перевіряйте елементи, а не лише сторінки. Візьміть товари з глибоких сторінок і перевірте їх у Search Console. Якщо вони мають статус «Виявлено – наразі не проіндексовано», ймовірна причина — слабкі шляхи до них.

Безкоштовний SEO-аудит від SEORecheck сканує ваш сайт із рендерингом у справжньому браузері й позначає сторінки пагінації з canonical на першу сторінку, лістинги з noindex, посилання, що існують лише після виконання JavaScript, і елементи, сховані надто глибоко, щоб їх знайти. Як подаються результати, видно у прикладі звіту.

Головне

  • Давайте кожній сторінці пагінації унікальний URL, доступний для сканування (?page=n або /page/n/), ніколи не фрагмент #.
  • Ставте canonical на себе на сторінках від 2-ї. Canonical на першу сторінку суперечить рекомендаціям Google.
  • Google більше не використовує rel="prev"/rel="next". Роботу виконують справжні посилання <a href> між сторінками.
  • Залишайте сторінки пагінації індексованими. noindex і правила robots.txt — для дублів із сортуванням і фільтрами.
  • Спирайте «Показати ще» та нескінченний скрол на справжні URL пагінації, які працюють при прямому відкритті.
  • Повертайте 404 для сторінок поза діапазоном і порожніх комбінацій фільтрів, а ?page=1 перенаправляйте на чистий URL.
  • Перевіряйте пагінацію, скануючи серію й дивлячись, чи індексуються елементи з глибоких сторінок.
Усі статті
Багатошарове зображення з’єднане з пошуковою мережею: найкращі практики SEO зображень і швидке завантаження.

Технічне SEO

Оптимізація зображень для SEO: alt, формати, швидкість

SEO-оптимізація зображень — це справжні теги img, описовий alt текст і назви файлів, щоб Google знайшов і зрозумів картинки, плюс сучасні формати, правильні розміри та розумний lazy loading для швидкості.

9 хв читання

Дубльований контент у SEO: однакові вузли вмісту обведено бурштиновим контуром, основну версію підсвічено.

Технічне SEO

Дублі сторінок: як знайти і прибрати дубльований контент

Дублі сторінок — це однаковий або майже однаковий контент на кількох URL. Санкцій за них немає, але вони розпорошують сигнали й марнують краулінг. Знайдіть їх у Search Console і краулером, потім налаштуйте редирект, canonical або перепишіть текст.

8 хв читання