У кошику порожньо!
Disallow у robots.txt блокує краулінг, але не гарантує виключення з індексу. Noindex забороняє індексацію, але не зупиняє краулер. Плутанина між цими двома механізмами — одна з найпоширеніших причин втрати позицій.
Зміст
- Краулінг і індексація — два різних процеси
- robots.txt: синтаксис Disallow, Allow і директиви
- Тег noindex і meta robots: де і як ставити
- Disallow проти noindex — чому не взаємозамінні
- Топ-7 помилок індексації, які ми бачимо в клієнтів
- Перевірка через Google Search Console: URL Inspection
- Часті запитання
Краулінг і індексація — два різних процеси
Більшість власників сайтів використовують слова «краулінг» і «індексація» як синоніми. Насправді це два послідовні, але принципово різних кроки, і помилки виникають саме через змішування цих понять.
Краулінг — це коли Googlebot (або інший пошуковий бот) завантажує HTML-код сторінки. На цьому кроці бот читає посилання, CSS, JavaScript і robots.txt. Robots.txt керує саме краулінгом: директива Disallow каже боту «не завантажуй цей URL».
Індексація — це наступний крок: аналіз завантаженого контенту та додавання сторінки до пошукового індексу. Тег <meta name="robots" content="noindex"> або HTTP-заголовок X-Robots-Tag: noindex керують саме цим кроком. Якщо сторінка закрита через Disallow, бот її не завантажить — а значить, і не прочитає noindex.
Розберемо практичний наслідок цього розділення. Є три можливих стани сторінки:
- Відкрита для краулінгу і відкрита для індексації — звичайна сторінка, яку Google читає і додає до результатів пошуку.
- Відкрита для краулінгу, але закрита для індексації (noindex) — Google заходить на сторінку, читає тег noindex і не додає її до видачі. Краулінговий бюджет витрачається.
- Закрита для краулінгу через Disallow — Google не завантажує сторінку взагалі. Але якщо на неї є зовнішні посилання чи вона є в Sitemap, URL може потрапити до індексу без контенту — «порожня» індексація.
Четвертий стан — «закрита через Disallow і noindex одночасно» — технічно можливий, але суперечливий. Google не зможе прочитати noindex, якщо Disallow заблокує краулінг. Саме тут і виникають помилки, які ми розглянемо далі.
У нашій практиці найчастіша помилка — це Disallow на /ua/ або /ru/ цілих мовних секцій. Клієнт думає, що «закрив технічні сторінки», а насправді заблокував весь україномовний або російськомовний контент від індексації.
robots.txt: синтаксис Disallow, Allow і директиви
Файл robots.txt — це текстовий файл у корені сайту за адресою https://site.ua/robots.txt. Він читається краулерами перед початком обходу. Ось основний синтаксис, з яким доводиться стикатися щодня.
Основні директиви:
User-agent: *— правило стосується всіх ботів. Можна вказати конкретний бот:User-agent: Googlebot.Disallow: /path/— заборонити обхід вказаного шляху та всього, що знаходиться глибше.Allow: /path/— дозволити обхід конкретного шляху, навіть якщо батьківська папка заблокована через Disallow.Sitemap: https://site.ua/sitemap.xml— вказати розташування sitemap. Не впливає на краулінг, але допомагає Google знайти всі URL.Crawl-delay: 5— затримка між запитами в секундах. Google офіційно не підтримує цю директиву; для управління частотою обходу використовуйте GSC.
Важливі нюанси синтаксису:
| Запис | Що блокує | Що залишає відкритим |
|---|---|---|
Disallow: /admin/ |
/admin/ та всі підпапки | /administrator/, /admin-tools/ — не блокує! |
Disallow: / |
Весь сайт повністю | Нічого — небезпечна помилка |
Disallow: /*.php$ |
Всі URL, що закінчуються на .php | /page.php?id=1 — теж блокує (знак $ — кінець URL) |
Disallow: /*?sort= |
Всі URL з параметром ?sort= у будь-якому місці | /catalog/ без параметрів |
Allow: /admin/login.htmlDisallow: /admin/ |
/admin/ крім /admin/login.html | Сторінка логіна залишається відкритою |
Disallow: (порожнє) |
Нічого — порожній Disallow означає «дозволити все» | Весь сайт відкритий |
Регулярні вирази в robots.txt обмежені: підтримується тільки * (будь-яка послідовність символів) і $ (кінець рядка URL). Повноцінний regex Google не підтримує.
Один типовий сценарій, який ми зустрічали в десятках robots.txt: розробник ставить Disallow: / під час розробки сайту, а після запуску забуває його прибрати. Сайт живе місяцями з повністю заблокованою індексацією — і жодних помилок у GSC, бо бот просто не заходить.
Тег noindex і meta robots: де і як ставити
Директива noindex може бути передана кількома способами. Розберемо кожен і вкажемо, де виникають помилки.
1. Мета-тег у <head> сторінки:
<meta name="robots" content="noindex, follow">
Найпоширеніший спосіб. Тег читається після того, як Googlebot завантажить і зрендерить HTML. Якщо сторінка закрита через Disallow — тег не читається взагалі.
2. HTTP-заголовок X-Robots-Tag:
X-Robots-Tag: noindex
Передається у HTTP-відповіді сервера. Єдиний варіант для не-HTML ресурсів: PDF-файлів, зображень, документів Word. Якщо треба прибрати з індексу PDF-каталог — тільки через X-Robots-Tag або через robots.txt (Disallow для PDF-директорії).
3. Поєднання директив у content:
| Директива | Значення | Коли використовувати |
|---|---|---|
noindex, follow |
Не індексувати, але переходити за посиланнями | Сторінки пагінації, технічні сторінки з корисними посиланнями |
noindex, nofollow |
Не індексувати і не переходити за посиланнями | Сторінки авторизації, кошик, сторінки підтвердження замовлення |
index, follow |
Стандартна поведінка (за замовчуванням) | Майже ніколи не потрібно вказувати явно |
nosnippet |
Не показувати сніпет у результатах | Сторінки з конфіденційним текстом |
noimageindex |
Не індексувати зображення на сторінці | Сторінки з ліцензованими фотографіями |
Часта помилка з CMS: WordPress за замовчуванням ставить noindex на всіх сторінках, коли сайт у режимі «Обслуговування» або коли в налаштуваннях читання вибрано «Заборонити пошуковим системам індексувати сайт». Після запуску це налаштування забувають вимкнути — і сайт роками живе з noindex на всіх сторінках.
Disallow проти noindex — чому не взаємозамінні
Це концептуальна помилка, яка коштує позицій. Розберемо конкретно, що відбувається в кожному з неправильних сценаріїв.
Сценарій 1: Тільки Disallow, без noindex
Googlebot не завантажує сторінку. Але якщо на сторінку є хоча б одне зовнішнє посилання або вона є в Sitemap — Google знає про існування URL. Пошуковик може додати URL до індексу без контенту: рядок у видачі з'являється, але без сніпета. Класичний приклад — сторінки /cart/, /checkout/, /thank-you/, які потрапляють до видачі через те, що якийсь сайт або скрапер поставив посилання.
Сценарій 2: Тільки noindex, без Disallow
Googlebot регулярно заходить на сторінку, зчитує noindex і не додає до індексу. Технічно правильно — але краулінговий бюджет витрачається на сторінки, які не мають SEO-цінності. Для малих сайтів (до 1000 сторінок) це несуттєво. Для великих інтернет-магазинів із сотнями тисяч технічних URL — критична втрата бюджету.
Сценарій 3: Disallow + noindex одночасно
Найгірший варіант. Сторінка закрита від краулінгу — Googlebot не завантажує HTML. Тег noindex у HTML не читається. Результат: Google може або взагалі не знати про сторінку, або знати про URL (через посилання), але не знати про директиву noindex. Якщо хтось посилається на цей URL — він може потрапити до індексу без контенту.
Правильна комбінація залежить від мети:
- Хочете заощадити краулінговий бюджет і не потрібна видача → Disallow + переконайтеся, що немає зовнішніх посилань.
- Хочете гарантовано виключити з видачі → noindex (без Disallow), відкрити для краулінгу.
- Технічні сторінки без зовнішніх посилань, бюджет важливий → Disallow достатньо.
- Сторінки з можливими зовнішніми посиланнями → тільки noindex, без Disallow.
Топ-7 помилок індексації, які ми бачимо в клієнтів
За роки аудитів ми систематизували помилки, що трапляються найчастіше. Ось сім найбільш руйнівних — із прикладами та способами виправлення.
Помилка 1: Disallow: / після розробки
Розробники закривають весь сайт під час створення, щоб уникнути індексації незавершеного контенту. Після запуску цей рядок забувають прибрати. Сайт може жити місяцями з нульовою індексацією. GSC показує «Excluded: Blocked by robots.txt» для всіх URL.
Помилка 2: Disallow на мовну секцію
У нашій практиці найчастіша помилка — це саме Disallow на /ua/ або /ru/ цілих мовних секцій. Власник думає, що «прибирає зайве», а насправді блокує весь контент однієї з мовних версій. Органічний трафік цією мовою обнулюється через кілька тижнів після переобходу.
Помилка 3: CSS і JavaScript у Disallow
Старі інструкції з «оптимізації» радили закривати /wp-content/plugins/ і /wp-content/themes/ через robots.txt. Це призводило до того, що Googlebot не міг зрендерити сторінку і бачив лише «кістяк» HTML без стилів. Google може ранжувати таку сторінку значно нижче, бо вважає її «бідною на контент» — адже рендеринг JS-фреймворків дає йому значно більше даних.
Помилка 4: Один клієнт з e-commerce ніші закрив від індексації всю папку /products/ і втратив...
Це реальний кейс із нашої практики. Інтернет-магазин побутової техніки мав понад 3000 товарних сторінок. Новий розробник «почистив» robots.txt і додав Disallow: /products/, вважаючи це службовою папкою. За 6 тижнів органічний трафік впав на 78%. GSC показав, що всі товарні сторінки мають статус «Excluded: Blocked by robots.txt». Відновлення після виправлення зайняло ще 3 місяці.
Помилка 5: Noindex на пагінацію при збереженні посилань
Сторінки /catalog/?page=2, /catalog/?page=3 закриваються через noindex, щоб «не дублювати контент». При цьому вся внутрішня перелінковка і зовнішні посилання з каталогів продовжують передавати вагу на ці сторінки — а вона нікуди не йде, бо noindex блокує передачу.
Помилка 6: Noindex на сторінці з backlinks
Якщо стара сторінка отримала зовнішні посилання, а потім на неї поставили noindex (замість 301-редиректу на актуальну версію), вся ссилальна вага просто зникає. Правильне рішення: 301-редирект на актуальну сторінку.
Помилка 7: Robots.txt без перевірки після змін у CMS
Оновлення плагінів, міграція на новий хостинг, зміна структури URL — все це може автоматично перезаписати robots.txt. Особливо часто це трапляється з Yoast SEO, Rank Math і OpenCart-плагінами. Ми перевіряли десятки robots.txt і знайшли один типовий сценарій: після оновлення Yoast плагін «відновлює» robots.txt до дефолтного шаблону, прибираючи всі кастомні правила, які налаштовував SEO-спеціаліст.
Детальний технічний SEO-аудит включає обов'язкову перевірку robots.txt і порівняння з попередньою версією файлу через Git або архів.
Краулінговий бюджет і практика управління індексацією
Краулінговий бюджет — кількість сторінок, які Googlebot готовий обійти на вашому сайті за певний проміжок часу. Для сайтів до 10 000 сторінок він рідко стає критичним. Але для інтернет-магазинів із сотнями тисяч товарних URL правильне налаштування robots.txt безпосередньо впливає на те, як швидко нові сторінки потрапляють до видачі.
Google визначає краулінговий бюджет на основі двох факторів:
- Crawl rate limit — максимальна частота запитів, яку Googlebot вважає безпечною для вашого сервера. Можна коригувати у GSC (Settings → Crawl rate).
- Crawl demand — наскільки популярним Google вважає сайт. Чим більше зовнішніх посилань і чим вищий авторитет домену, тим більше бюджету виділяється.
Як robots.txt і noindex впливають на витрачання бюджету:
| Стан сторінки | Витрати бюджету | Ефект для SEO |
|---|---|---|
| Відкрита, проіндексована | Так — стандартний обхід | Нормально |
| Відкрита, noindex | Так — бот заходить і читає noindex | Бюджет витрачається марно |
| Disallow у robots.txt | Ні — бот навіть не робить запит | Економія, але без гарантії виключення з індексу |
| Disallow + є в Sitemap | Ні — але Google бачить суперечність | GSC видасть попередження "Blocked by robots.txt" |
| 404 або 410 | Один запит, потім бот перестає відвідувати | Найчистіший спосіб прибрати непотрібний URL |
Практичне правило для великих сайтів: технічні сторінки (корзина, авторизація, особистий кабінет, службові URL CMS) найкраще закривати через Disallow — це гарантує відсутність марних краулінгових запитів. Але при цьому важливо перевіряти, чи немає на ці URL зовнішніх посилань через Ahrefs або Google Search Console (розділ Links → External links).
Контентні сторінки з noindex — наприклад, фільтровані сторінки каталогу, які з'являються у видачі через параметри — краще захищати через canonical на базовий URL. Це одночасно і захищає від індексації дублів, і не витрачає зайвого бюджету на обхід сотень варіантів.
Один із наших клієнтів — агрегатор нерухомості з ~200 000 URL — мав у robots.txt відкритими всі сторінки пошуку з параметрами: /search?type=apartment&city=kyiv&rooms=2&price=50000 тощо. Кожна комбінація параметрів давала окремий URL, і таких комбінацій налічувалось понад 80 000. Googlebot витрачав весь бюджет на ці сторінки, практично не потрапляючи до нових оголошень. Після додавання Disallow: /search і налаштування canonical на сторінках результатів пошуку — швидкість краулінгу нових оголошень зросла вчетверо за даними GSC.
Ще один недооцінений інструмент — XML Sitemap як пріоритетна черга. Google не гарантує порядок краулінгу на основі Sitemap, але сторінки з Sitemap отримують пріоритет при першій індексації. Тому в Sitemap повинні бути тільки сторінки з відкритою індексацією — жодних URL із noindex або Disallow. Присутність закритих URL у Sitemap — ще одне часте протиріччя, яке GSC фіксує як попередження.
Перевірка через Google Search Console: URL Inspection
Google Search Console — основний інструмент для перевірки реального стану індексації. Розберемо, як правильно читати дані і що означають різні статуси.
Інструмент URL Inspection (перевірка URL):
- Введіть URL у рядок пошуку у верхній частині GSC.
- GSC покаже статус: «URL is on Google» (проіндексована) або одну з причин виключення.
- Натисніть «Test live URL» — це перевірить поточний стан, а не кешований.
- У вкладці «Crawl» можна побачити, коли Googlebot востаннє завантажував сторінку і чи є перенаправлення.
Найважливіші статуси у розділі Indexing → Pages:
| Статус GSC | Значення | Що робити |
|---|---|---|
| Indexed, not submitted in sitemap | Сторінка в індексі, але не в Sitemap | Додати до Sitemap або перевірити, чи потрібна ця сторінка в індексі |
| Excluded by robots.txt | Заблокована через Disallow | Перевірити robots.txt — чи навмисне блокування |
| Excluded: noindex tag | Є тег noindex | Перевірити, чи навмисне. Якщо ні — прибрати noindex |
| Crawled, currently not indexed | Google завантажив, але не додав до індексу | Проблеми з якістю контенту, thin content, або Google вважає сторінку не корисною |
| Discovered, currently not indexed | Google знає про URL, але ще не краулив | Перевірити краулінговий бюджет, внутрішню перелінковку |
| Duplicate without user-selected canonical | Google знайшов дубль і сам вибрав основну версію | Прописати canonical явно — Google міг вибрати не ту версію |
Як перевірити robots.txt через GSC:
- Перейдіть до Settings → robots.txt у GSC.
- GSC покаже поточний вміст файлу та підсвітить синтаксичні помилки.
- Скористайтеся вбудованим тестувальником: введіть URL і виберіть User-agent — система покаже, заблокований URL чи ні.
Регулярний моніторинг: ми рекомендуємо налаштувати сповіщення GSC (Settings → Email preferences) на різке зростання кількості виключених сторінок. Якщо кількість «Excluded: Blocked by robots.txt» раптово зросла — це сигнал тривоги: швидше за все, robots.txt було перезаписано.
Повноцінну перевірку стану індексації варто проводити в рамках регулярного аудиту. Детальніше про роботу з інструментами — у нашому гайді по Google Search Console.
Офіційну документацію Google щодо robots.txt і механізму краулінгу можна знайти у довідці для вебмайстрів.
Часті запитання
Що буде, якщо закрити сторінку через Disallow і не поставити noindex?
Googlebot не зможе прочитати сторінку, але якщо інші сайти посилаються на неї або вона є в Sitemap, Google може додати URL до індексу без вмісту — так звана індексація без краулінгу. Для гарантованого виключення потрібен noindex, доступний для краулера.
Чи можна використовувати і Disallow, і noindex одночасно?
Це суперечливі інструкції. Якщо сторінка закрита через Disallow, Googlebot не прочитає тег noindex. Google рекомендує: або дозволити краулінг і поставити noindex, або закрити через Disallow без noindex — але тоді URL може потрапити в індекс через зовнішні посилання.
Як швидко Google прибирає сторінку з індексу після додавання noindex?
Після наступного обходу краулером — зазвичай від кількох днів до 4 тижнів. Прискорити процес можна через Google Search Console: інструмент URL Inspection — Request Indexing, після чого Google повторно перевірить сторінку і обробить директиву noindex.
Чи впливає robots.txt на ранжування сторінок, які залишаються відкритими?
Безпосередньо — ні. Robots.txt визначає тільки доступність для краулінгу. Але якщо важливі ресурси (CSS, JS, зображення) закриті через Disallow, Googlebot не зможе повноцінно зрендерити сторінку, що може знизити якість індексації та рейтинг.
Є проблеми з індексацією?
Помилка в robots.txt або випадковий noindex на важливих сторінках — це завжди тихий збиток: позиції падають поступово, без гучних попереджень. Ми перевіряємо robots.txt, стан індексації і краулінговий бюджет у рамках технічного SEO-аудиту — і даємо конкретний список виправлень із пріоритетами.
SEO-просування сайту Отримати консультацію


