Технічне SEO
Robots.txt для SEO: налаштування, ШІ-боти та помилки
Robots.txt вказує роботам, які URL можна сканувати. Він керує скануванням, а не індексацією. Щоб закрити сторінку від індексації, використовуйте noindex і не блокуйте CSS, JS чи сторінки, які мають ранжуватися.
Автор: Дослідницька команда SEORecheck, SEO-аудиториОпубліковано 9 хв читання
Robots.txt для SEO — це звичайний текстовий файл у корені домену, який підказує пошуковим і ШІ-роботам, які URL їм можна запитувати. Він керує скануванням, а не індексацією. Правильне налаштування robots.txt не пускає ботів на малоцінні URL. Але один хибний рядок може сховати весь сайт від Google або від ШІ-пошуку, наприклад пошуку в ChatGPT.
У цьому посібнику розбираємо, що насправді підтримує Google, як поводитися зі щораз довшим списком ШІ-краулерів і які помилки в robots.txt найчастіше трапляються в реальних аудитах.
Що насправді робить robots.txt?
Коли сумлінний краулер заходить на https://example.com, він спершу запитує https://example.com/robots.txt і читає правила для свого user agent. Якщо URL заборонено, краулер його пропускає. І це все, що робить файл. Він не видаляє сторінки з пошукової видачі, нічого не захищає і не передає сигналів ранжування.
У документації Google про це сказано прямо: robots.txt «не є механізмом, який дозволяє не допустити вебсторінку в Google». Заборонена сторінка «все одно може бути проіндексована, якщо на неї посилаються інші сайти». Тоді вона зʼявляється у видачі без опису, бо Google так і не отримав дозволу її прочитати. Щоб закрити сторінку від індексації, Google радить noindex або захист паролем.
З цього випливає кілька практичних моментів:
- Кожен хост потребує власного файлу.
blog.example.comіexample.com— різні хости, так само якhttpіhttps. - Файл має лежати в корені.
/folder/robots.txtігнорується. - Шляхи чутливі до регістру.
Disallow: /Admin/не блокує/admin/.
Як правильно налаштувати robots.txt: синтаксис, який підтримує Google
За даними Google Search Central, Google розпізнає лише чотири поля: user-agent, allow, disallow і sitemap. Інші поля, зокрема crawl-delay, Google не підтримує, хоча деякі інші краулери їх враховують.
Типовий справний файл для сайту невеликого бізнесу виглядає так:
User-agent: *
Disallow: /cart/
Disallow: /checkout/
Disallow: /search
Disallow: /*?sort=
Allow: /wp-admin/admin-ajax.php
Disallow: /wp-admin/
Sitemap: https://example.com/sitemap.xml
Як працюють символи підстановки та конфлікти правил
*відповідає будь-якій послідовності символів.$позначає кінець URL. Наприклад,Disallow: /*.pdf$блокує URL, що закінчуються на.pdf.- Коли під URL підпадають і правило
allow, і правилоdisallow, Google застосовує найконкретніше з них, тобто те, де збіг шляху найдовший. Якщо вони однаково конкретні, діє найменш обмежувальне. - Краулер виконує лише одну, найконкретнішу групу
User-agent, яка йому відповідає. Якщо ви створите групуUser-agent: Googlebot, Googlebot ігноруватиме все, що написано підUser-agent: *. Спільні правила доведеться повторити всередині групи для Googlebot.
Обмеження, кешування та помилки сервера
| Ситуація | Як це обробляє Google (за Search Central) |
|---|---|
| Файл більший за 500 КіБ | Вміст понад 500 КіБ ігнорується |
| Ви змінили файл | Google зазвичай кешує його до 24 годин |
| robots.txt повертає 4xx (крім 429) | Вважається, що robots.txt немає, тож сканувати можна все |
| robots.txt повертає 5xx | Сканування зупиняється на 12 годин, потім Google до 30 днів використовує кешовану копію |
Рядок noindex у robots.txt |
Не підтримується, тому ігнорується |
Найчастіше підводить саме рядок про 5xx. Сервер або CDN, що віддає помилку на /robots.txt, може призупинити сканування всього сайту, навіть якщо кожна сторінка окремо завантажується без проблем.
Чи варто блокувати ШІ-краулерів у robots.txt?
Це питання тепер виникає майже на кожному аудиті. Більшість ШІ-компаній мають кілька окремих ботів: один збирає дані для навчання, інший індексує контент для ШІ-пошуку, а третій завантажує сторінки в реальному часі, коли користувач щось запитує. Заблокувавши не того бота, можна непомітно випасти з відповідей ШІ.
| Компанія | Бот | Призначення | Дотримується robots.txt? |
|---|---|---|---|
| Googlebot | Google Пошук, зокрема ШІ-функції в Пошуку | Так | |
| Google-Extended | Токен, що керує навчанням Gemini і grounding у застосунках Gemini | Так | |
| OpenAI | OAI-SearchBot | Показ сайтів у пошуку ChatGPT | Так |
| OpenAI | GPTBot | Навчання базових моделей | Так |
| OpenAI | ChatGPT-User | Запити, ініційовані користувачем | Правила robots.txt «можуть не застосовуватися» |
| Anthropic | Claude-SearchBot | Індексування для результатів пошуку в Claude | Так |
| Anthropic | ClaudeBot | Навчання моделей | Так |
| Anthropic | Claude-User | Завантаження сторінок за запитами користувачів | Так, за словами Anthropic |
| Perplexity | PerplexityBot | Показ сайтів і посилань на них у Perplexity | Так |
| Perplexity | Perplexity-User | Запити, ініційовані користувачем | Зазвичай ігнорує robots.txt |
Джерела: документація Google про краулери, сторінка OpenAI про ботів, довідковий центр Anthropic і документація Perplexity про краулери; перевірено в жовтні 2026 року.
Що насправді змінює блокування кожного бота
Самі розробники пояснюють компроміси у своїй документації:
- Google-Extended, за словами Google, «не впливає на включення сайту в Google Пошук і не використовується як сигнал ранжування». Заблокувавши його, ви відмовляєтеся від використання контенту для навчання та grounding у Gemini. Але з AI Overviews (оглядів від ШІ) це вас не прибере, бо вони спираються на звичайне сканування Googlebot. Єдиний важіль для них у robots.txt — заблокувати Googlebot, а це прибере вас і з Пошуку. Точнішим інструментом тут є керування сніпетами, як-от
nosnippet. - OpenAI зазначає, що кожне налаштування незалежне. Можна дозволити OAI-SearchBot, щоб зʼявлятися у відповідях пошуку ChatGPT, і заборонити GPTBot, щоб ваш контент не використовували для навчання.
- Anthropic попереджає, що блокування Claude-SearchBot або Claude-User «може зменшити видимість вашого сайту» в результатах пошуку Claude.
Більшості компаній, яким потрібна видимість і в органічному, і в ШІ-пошуку, розумно за замовчуванням дозволити пошукових і користувацьких ботів, а щодо ботів для навчання ухвалити свідоме бізнес-рішення:
# Opt out of model training, stay visible in AI search
User-agent: GPTBot
Disallow: /
User-agent: ClaudeBot
Disallow: /
User-agent: Google-Extended
Disallow: /
User-agent: *
Disallow: /cart/
Disallow: /checkout/
Sitemap: https://example.com/sitemap.xml
OAI-SearchBot, Claude-SearchBot і PerplexityBot тут не мають власної групи, тому для них діє User-agent: *, і вони можуть сканувати ваш контент. Памʼятайте, що llms.txt — це окремий файл, який ніяк не впливає на Google Пошук. Краулери перевіряють саме robots.txt. Ширшу картину видимості в ШІ-пошуку дає наш чекліст оптимізації для ШІ-пошуку.
Robots.txt, noindex чи canonical: що обрати?
Кожен із цих інструментів виконує своє завдання, і плутанина між ними — одна з найпоширеніших помилок технічного SEO.
| Мета | Правильний інструмент | Чому |
|---|---|---|
| Заощадити ресурси сканування на нескінченних фільтрах або внутрішньому пошуку | Disallow у robots.txt |
Зупиняє самі запити на сканування |
| Закрити сторінку від показу в пошуку | Метатег noindex або заголовок X-Robots-Tag |
Видаляє сторінку з індексу, але лише якщо Google може її просканувати й побачити тег |
| Обʼєднати дублікати URL | rel="canonical" |
Передає сигнали основній версії (див. наш посібник із тегу canonical) |
| Приховати приватний контент | Пароль або автентифікація | Robots.txt публічний, і прочитати його може будь-хто |
Чому robots.txt і noindex на одній сторінці не працюють
Якщо сторінку заборонено в robots.txt, Google її ніколи не завантажує, а отже, ніколи не бачить тегу noindex. Якщо на цей URL посилаються інші сайти, він може залишатися в індексі як завгодно довго — у вигляді голого запису без сніпета. Рішення здається нелогічним, але працює: спершу приберіть disallow, дайте Google просканувати сторінку й обробити noindex, а потім, якщо ще потрібно, поверніть блокування. Те саме стосується canonical: Google не може прочитати тег canonical на сторінці, яку йому заборонено сканувати.
Найпоширеніші помилки в robots.txt
Ці проблеми знову й знову трапляються під час технічних аудитів. Ми впорядкували їх приблизно за тим, скільки шкоди вони завдають.
Disallow: /, що лишився з тестового сервера. Розробник закриває staging від індексації, і файл потрапляє на продакшн разом із запуском. Протягом наступних днів трафік падає, бо Google перестає повторно сканувати сайт. Це одне з перших, що варто перевірити під час діагностики падіння трафіку.- Блокування папок із CSS, JavaScript або зображеннями. Старі правила ще з часів раннього WordPress, як-от
Disallow: /wp-includes/чиDisallow: /assets/, не дають Google коректно відрендерити сторінку. Google бачить зламаний макет і може хибно оцінити зручність для мобільних або пропустити контент, який завантажує JavaScript. - Блокування сторінок, які мають ранжуватися. Широке правило на кшталт
Disallow: /productзачіпає також/products/і/product-guides/, бо правила спрацьовують за префіксом URL. - robots.txt, що повертає 5xx або не відповідає вчасно. Як видно з таблиці вище, це може зупинити сканування всього сайту.
- Блокування параметрів, за якими стоїть реальний контент. Якщо сторінки категорій мають пагінацію через
?page=2, правило/*?ховає ці товари від виявлення. - Випадкове блокування пошукових ШІ-ботів. Універсальний фрагмент «заблокувати весь ШІ», скопійований із форуму, часто містить OAI-SearchBot, Claude-SearchBot або PerplexityBot — і ви зникаєте з цих відповідних систем.
- Розрахунок на директиви, які не підтримуються.
Noindex:,Crawl-delay:(для Google) і коментарі в нестандартному форматі для Googlebot нічого не означають. - Відносна адреса sitemap. У рядку
Sitemap:має бути повна абсолютна URL-адреса, наприкладhttps://example.com/sitemap.xml.
Як перевірити файл robots.txt?
Перевірка займає близько 15 хвилин, і її варто повторювати після кожного релізу сайту.
- Відкрийте живий файл за адресою
yourdomain.com/robots.txt. Переконайтеся, що він повертає HTTP 200 і вміст саме той, на який ви розраховуєте. Зробіть це для кожного піддомену й варіанта протоколу. - Перегляньте звіт robots.txt у Google Search Console (Налаштування → robots.txt). Він показує, які файли robots.txt знайшов Google, коли востаннє їх завантажував, а також помилки завантаження й попередження аналізу. Цей звіт замінив старий окремий інструмент перевірки robots.txt.
- Запустіть перевірку URL-адрес для найважливіших сторінок. Якщо сторінка має статус «Заблоковано у файлі robots.txt», знайдіть правило, яке це спричиняє.
- Звірте файл із картою сайту. Кожен URL, що є у вашому XML sitemap, але заборонений у robots.txt, дає Google суперечливі сигнали, і це треба виправити.
- Перегляньте серверні логи або налаштування ботів у CDN. Деякі CDN і плагіни безпеки блокують ШІ-краулерів на рівні файрвола, хоч би що було написано в robots.txt. Переконайтеся, що потрібні вам боти отримують відповідь 200.
Якщо ключові сторінки потрапили в статус «Виявлено – наразі не проіндексовано» і водночас є обмеження сканування, наш посібник про статус «Виявлено – наразі не проіндексовано» пояснює, як повʼязані краулінговий бюджет і заблоковані ресурси.
Як SEORecheck перевіряє robots.txt під час аудиту
Проблеми з robots.txt легко пропустити, переглядаючи файл очима: він виглядає нормально, доки не порівняєш його з тим, що насправді є на сайті. Автоматичний SEO-аудит завантажує файл, а потім звіряє з ним кожен просканований URL. Він позначає важливі сторінки, які заблоковано, заблоковані ресурси для рендерингу, URL із sitemap, що суперечать правилам, і пошукових ШІ-краулерів, яким закрито доступ. Для кожної знахідки вказано URL, яких вона стосується, і конкретне правило, що її спричиняє. Формат можна побачити у зразку звіту.
Після виправлень повторна перевірка через 30–60 днів покаже, які проблеми виправлено, які покращено, які досі не розвʼязано, а які зʼявилися нові. Це допомагає, коли наступний деплой непомітно повертає старе правило. Ось приклад порівняння.
Головне
- Robots.txt керує скануванням, а не індексацією. Щоб закрити сторінки від Google, використовуйте
noindexабо автентифікацію. - Google підтримує лише
user-agent,allow,disallowіsitemap.crawl-delayіnoindexу robots.txt він ігнорує. - robots.txt, що повертає 5xx, може призупинити сканування всього сайту, тож стежте за ним, як за критично важливою сторінкою.
- Ніколи не забороняйте сторінку в robots.txt, якщо хочете, щоб Google побачив її
noindexабо тег canonical. - ШІ-компанії мають окремих ботів для навчання й для пошуку. Блокування GPTBot, ClaudeBot чи Google-Extended не прибирає вас із пошуку ChatGPT, пошуку Claude чи Google Пошуку, а от блокування OAI-SearchBot, Claude-SearchBot або PerplexityBot прибирає вас із цих інструментів.
- Перевіряйте файл після кожного релізу: живий файл, звіт robots.txt у Search Console і перевірку URL-адрес для ключових сторінок.
Перевірте robots.txt у межах повного SEO-аудиту
Якщо ви не впевнені, чи не блокує ваш robots.txt важливі сторінки, ресурси або пошукових ШІ-краулерів, швидкий аудит це покаже. Замовте безкоштовний попередній перегляд SEO-аудиту — отримаєте SEO-оцінку та кілька реальних проблем, знайдених на ваших сторінках, без реєстрації. Повний перелік того, що охоплює аудит, дивіться в чеклісті SEO-аудиту.