Перейти до вмісту
⚙️
Технічне SEO
Урок 4 з 22 · Доступність для пошуковиків
БЕЗКОШТОВНО +50 XP

Навігація, дружня до пошуку

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

Спиратися будемо на основи JavaScript SEO і на посібник із фасетної навігації.

🧭
Googlebot заходить на сайт
«Головну завантажено. Тепер мені потрібні посилання. Якщо перехід зроблено через onclick без href, мені нема за що вчепитися.»

Що робить перехід шляхом

Правило з документації: Google, як правило, може обійти посилання, лише якщо це HTML-елемент a з атрибутом href. Обробка йде буквально: Googlebot розбирає відповідь і бере адреси з атрибута href у HTML-посиланнях. Кнопка зі скриптом, меню на onclick і картка, що реагує на клік, але не містить посилання, шляхів не створюють.

Про JavaScript загалом сказано спокійно: Google виконує JavaScript за допомогою evergreen-версії Chromium, тож історична формула «JS невидимий для робота» застаріла. Але рендеринг — окрема фаза після обходу, а Google Search не рендерить JavaScript із заблокованих сторінок. Докладніше про ланцюжок — в уроці про виявлення та обхід.

Адреси з «#» і односторінкові застосунки

Окреме застереження для застосунків із клієнтською маршрутизацією: не використовуйте фрагменти для завантаження різного вмісту — Googlebot не може надійно розвʼязати такі адреси; натомість застосовуйте History API. Посилання на кшталт href=«#/products» — погана практика. У посібнику зі структури URL той самий висновок: якщо ви змінюєте вміст за допомогою JavaScript, використовуйте History API.

Чого робот не пройде

ЕлементРезультатЩо робити
Посилання a з hrefШлях єОснова навігації
Меню і кнопки на onclick без hrefШляху немаєДодати справжнє посилання
Маршрути на «#»Адреси не розвʼязуються надійноHistory API і окремі адреси
Вміст після введення даних у форму або після входу в акаунтОбхід за посиланнями до нього не доходитьВинести публічні сторінки на окремі адреси зі звичайними посиланнями

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

Фасети: два шляхи, і вони нерівноцінні

Фільтри перетворюють каталог на величезну кількість адрес. Рекомендація Google: якщо фасетні адреси не мають індексуватися, закрийте їх від обходу; якщо потрібні — дотримуйтеся перелічених практик. Там само застереження: обхід фасетних адрес зазвичай коштує сайтові великих обчислювальних ресурсів через їхню кількість і число операцій, потрібних для відмальовування.

Способи закрити обхід названо за порядком, і це важливо. Перший — disallow у robots.txt: часто немає причин дозволяти обхід відфільтрованих варіантів, досить сторінок окремих товарів і загального списку без фільтрів. Другий — фільтри у фрагменті адреси. А от rel=canonical і rel=nofollow для цього названі загалом менш ефективними в довгостроковій перспективі: canonical лише може з часом знизити обсяг обходу неканонічних варіантів.

Старе правило «Disallow або canonical» тому неточне: це різні за силою інструменти. Плюс дві деталі з того самого посібника: якщо комбінація фільтрів не повертає результатів, віддавайте код 404, а не редирект на загальну сторінку помилки. І не змішуйте з noindex: закрита в robots.txt адреса не покаже Google свого тега.

Сесії та параметри

Сесійні ідентифікатори в адресах — класична пастка. У посібнику зі структури URL: де можливо, уникайте ідентифікаторів сесій в URL і розгляньте використання cookies; можна закрити такі адреси в robots.txt. Причину названо там само: надто складні адреси з кількома параметрами створюють зайву кількість URL з тим самим вмістом, через що Googlebot може витрачати значно більше трафіку, а Google Search — не зуміти проіндексувати весь вміст. Це питання розвинуто в наступному уроці про структуру URL.

Пагінація

Правила для посторінкових списків записані точно:

Варіанти фільтрів і сортувань поверх пагінації підпорядковуються тому самому принципу, що й фасети: блокуйте небажані адреси від індексації.

Хлібні крихти: що задокументовано

Ланцюжок Головна → Категорія → Сторінка показує положення сторінки. У документації з розмітки: хлібні крихти вказують позицію сторінки в ієрархії сайту і можуть допомогти користувачеві орієнтуватися; можна піднятися на будь-який рівень, почавши з останньої крихти. Google використовує розмітку крихт, щоб категоризувати інформацію сторінки в результатах пошуку.

Одна деталь, яку зазвичай пропускають: функція доступна на компʼютерах у всіх регіонах і мовах, де працює Google Пошук — про мобільні результати там нічого не обіцяно. Тому розмітка потрібна, але показ у сніпеті — не привід її впроваджувати. Принципи структури, яку вона відображає, розібрано в уроці про інформаційну архітектуру.

Швидкість скриптів: чого немає в документації

Твердження «повільний JavaScript — прямий сигнал ранжування, а FCP понад 2 секунди погіршує позиції» не підтверджене. В описі користувацького досвіду сторінки Core Web Vitals названо одним із кількох питань самооцінки, а застережено так: добрі результати у звітах не гарантують верхніх позицій, а спроба здобути ідеальну оцінку заради SEO може бути не найкращим використанням часу. Порога в 2 секунди для FCP там немає. Швидкість покращувати треба — для людей, але не видаючи це за точний важіль ранжування.

Діагностика навігації

  1. Обійдіть сайт сканером: чи всі потрібні сторінки знаходяться за посиланнями.
  2. Перевірте, що в меню і пагінації справжні посилання a href, а не onclick і «#».
  3. Порахуйте адреси, що породжуються фільтрами й параметрами; за потреби закрийте їх у robots.txt. Стан адрес — в аудиті URL.
  4. Перевірте пагінацію: свій канонічний адрес у кожної сторінки, фрагментів немає.
  5. Ланцюги редиректів у навігації — через перевірку редиректів.
  6. Конфлікти між сторінками однієї теми — через канібалізацію запитів.

Помилки

  • Меню і пагінація на onclick без href.
  • Маршрути на «#» замість History API.
  • Вважати canonical рівним за силою закриттю фасетів у robots.txt.
  • Ставити Disallow і noindex разом.
  • Редирект порожніх комбінацій фільтрів на загальну сторінку замість 404.
  • Перша сторінка списку як canonical для всіх інших.
  • Ідентифікатори сесій в адресах.
  • Обіцяти зростання позицій від швидкості завантаження як від точного важеля.

Що далі

Наступний урок — про домени й піддомени: що вважається окремим сайтом і до чого це призводить.

🎯
Завдання до уроку
Перевірте розуміння та отримайте +20 XP
← Архітектура сайту: що важливо для Google
Урок 4 з 22
Перейти до завдання →