Відкриті та закриті від індексації сторінки: помилки в robots.txt

Дата публікації: 17.06.2026 08:03

Disallow у robots.txt блокує краулінг, але не гарантує виключення з індексу. Noindex забороняє індексацію, але не зупиняє краулер. Плутанина між цими двома механізмами — одна з найпоширеніших причин втрати позицій.


Краулінг і індексація — два різних процеси

Більшість власників сайтів використовують слова «краулінг» і «індексація» як синоніми. Насправді це два послідовні, але принципово різних кроки, і помилки виникають саме через змішування цих понять.

Краулінг — це коли Googlebot (або інший пошуковий бот) завантажує HTML-код сторінки. На цьому кроці бот читає посилання, CSS, JavaScript і robots.txt. Robots.txt керує саме краулінгом: директива Disallow каже боту «не завантажуй цей URL».

Індексація — це наступний крок: аналіз завантаженого контенту та додавання сторінки до пошукового індексу. Тег <meta name="robots" content="noindex"> або HTTP-заголовок X-Robots-Tag: noindex керують саме цим кроком. Якщо сторінка закрита через Disallow, бот її не завантажить — а значить, і не прочитає noindex.

Процес краулінгу та індексації сторінок Googlebot Шлях сторінки від сервера до індексу Google Googlebot запит URL robots.txt Disallow? Краулінг заблоковано noindex не читається Так Ні Рендеринг HTML + JS noindex? meta robots / HTTP Не індексується краулінг продовжується Так Ні Індекс Google
Два незалежних бар'єри: robots.txt зупиняє краулінг, 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.html
Disallow: /admin/
/admin/ крім /admin/login.html Сторінка логіна залишається відкритою
Disallow: (порожнє) Нічого — порожній Disallow означає «дозволити все» Весь сайт відкритий

Регулярні вирази в robots.txt обмежені: підтримується тільки * (будь-яка послідовність символів) і $ (кінець рядка URL). Повноцінний regex Google не підтримує.

Практична порада: Завжди перевіряйте robots.txt через Google Search Console (розділ Indexing — robots.txt) або через офіційний тестувальник 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: ключові відмінності Disallow vs noindex — що кожна директива реально робить Disallow у robots.txt noindex (meta robots / HTTP) Блокує завантаження HTML-коду сторінки URL може потрапити в індекс через зовнішні посилання Не гарантує виключення з пошукової видачі Краулер завантажує сторінку, читає тег Гарантовано виключає URL з пошукової видачі Витрачає краулінговий бюджет на закриті сторінки
Disallow і 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.
Ключовий принцип: якщо сторінка повинна бути гарантовано виключена з пошукової видачі — єдиний надійний спосіб це noindex при відкритому краулінгу. Disallow — це про краулінговий бюджет, не про видачу.

Топ-7 помилок індексації, які ми бачимо в клієнтів

За роки аудитів ми систематизували помилки, що трапляються найчастіше. Ось сім найбільш руйнівних — із прикладами та способами виправлення.

Топ-7 помилок в robots.txt та noindex Найпоширеніші помилки індексації (із практики аудитів) 1 Disallow: / — весь сайт закритий Залишається після розробки. GSC покаже нуль проіндексованих сторінок. 2 Disallow на мовну секцію /ua/ або /ru/ Блокує весь контент мовної версії. Трафік з органіки обнулюється. 3 noindex + Disallow на одній сторінці Noindex не читається. URL може бути в індексі без контенту. 4 CSS і JS у Disallow Google не рендерить сторінки. Якість індексації падає, позиції знижуються. 5 Noindex у WordPress після запуску Галочка "discourage search engines" залишена увімкненою. 6 Noindex на сторінках з цінними backlinks Вага посилань не передається. PageRank зникає в нікуди. 7 Блокування /products/ або /catalog/ у e-commerce Весь товарний каталог зникає з пошуку. Катастрофічна втрата трафіку.
Сім помилок — від критичних (Disallow на весь сайт) до прихованих (CSS у robots.txt)

Помилка 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):

  1. Введіть URL у рядок пошуку у верхній частині GSC.
  2. GSC покаже статус: «URL is on Google» (проіндексована) або одну з причин виключення.
  3. Натисніть «Test live URL» — це перевірить поточний стан, а не кешований.
  4. У вкладці «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 міг вибрати не ту версію
Google Search Console URL Inspection: URL is on Google vs Blocked by robots.txt GSC URL Inspection: два типових стани URL is on Google Coverage Indexed, submitted in sitemap Last crawl: 2 days ago Crawled as: Googlebot Smartphone Canonical: user-declared Request Indexing URL is not on Google Why page is not indexed Page is blocked by robots.txt Last availability check: today Googlebot cannot access this URL Test Live URL
URL Inspection у GSC одразу показує причину: проіндексовано, заблоковано robots.txt або виключено через noindex

Як перевірити robots.txt через GSC:

  1. Перейдіть до Settings → robots.txt у GSC.
  2. GSC покаже поточний вміст файлу та підсвітить синтаксичні помилки.
  3. Скористайтеся вбудованим тестувальником: введіть 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-просування сайту    Отримати консультацію
Денис Фещенко
Досвідчений фахівець у сфері просування бізнесу в соцмережах та пошукових системах. Працюю з Instagram, TikTok, Telegram, YouTube та Google Ads, допомагаючи компаніям залучати цільову аудиторію, будувати імідж та збільшувати продажі. Понад 7 років у digital-маркетингу. Автор практичних посібників та статей із SMM, SEO та PPC
Останні
AMP у 2026

18.06.2026 11:07

AMP у 2026