У кошику порожньо!
Robots.txt контролює, які сторінки сканує Google, а sitemap.xml — які індексує. Налаштувати обидва файли правильно означає отримати стабільну індексацію без «сліпих зон» і витрат краулінгового бюджету на службові URL.
Зміст
Що таке robots.txt і як він працює
Robots.txt — текстовий файл у кореневій директорії сайту, який повідомляє пошуковим ботам, які URL можна сканувати, а які — ні. Перед початком обходу сайту Googlebot першим ділом запитує yourdomain.com/robots.txt і зчитує правила. Цей протокол називається Robots Exclusion Protocol і підтримується всіма серйозними пошуковими системами.
Важливо розрізняти два поняття:
- Сканування (crawling) — чи може бот відвідати URL. Robots.txt регулює саме це.
- Індексація (indexing) — чи потрапить сторінка до пошукової видачі. Регулюється мета-тегом
noindexабо HTTP-заголовкомX-Robots-Tag.
Robots.txt забороняє сканування, але не гарантує відсутність у індексі. Якщо на сторінку ведуть зовнішні посилання, Google може проіндексувати її навіть без сканування — просто без вмісту.
Файл живе за адресою: https://yourdomain.com/robots.txt. Він має бути у корені домену, а не в піддиректорії. Субдомени мають власний robots.txt.
Директиви robots.txt: повний довідник
Файл складається з блоків — кожен блок починається з директиви User-agent і містить одне або кілька правил. Ось повний перелік директив:
| Директива | Що робить | Приклад |
|---|---|---|
User-agent | Вказує, для якого бота застосовується правило. * — для всіх. | User-agent: Googlebot |
Disallow | Забороняє сканування URL або директорії | Disallow: /admin/ |
Allow | Дозволяє сканування конкретного URL всередині забороненої директорії | Allow: /admin/public/ |
Sitemap | Вказує абсолютний URL файлу sitemap.xml | Sitemap: https://site.com/sitemap.xml |
Crawl-delay | Затримка між запитами бота (не підтримується Googlebot) | Crawl-delay: 10 |
Приклад типового robots.txt для інтернет-магазину:
User-agent: *
Disallow: /admin/
Disallow: /cart/
Disallow: /checkout/
Disallow: /thank-you/
Disallow: /account/
Disallow: /search/
Allow: /
User-agent: Googlebot-Image
Disallow: /private-images/
Sitemap: https://yourdomain.com/sitemap.xml
Синтаксичні тонкощі, які часто плутають:
Disallow: /page— забороняє/page,/page/,/page-about(будь-що, що починається з/page)Disallow: /page/— забороняє лише директорію/page/і все всередині неїDisallow:(порожнє) — дозволяє всеDisallow: /— забороняє весь сайт- Символ
*в шляху — будь-яка послідовність символів:Disallow: /page/*?sort= - Символ
$— кінець URL:Disallow: /*.pdf$— лише .pdf файли
Що таке sitemap.xml і які бувають типи
Sitemap.xml — XML-файл, який містить список URL сайту з метаданими для пошукових систем: дату останньої зміни, частоту оновлення, пріоритет. Основне призначення — допомогти ботам знайти всі важливі сторінки, особливо ті, на які немає внутрішніх посилань.
Структура базового sitemap.xml:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://yourdomain.com/page/</loc>
<lastmod>2026-05-01</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
</urlset>
Типи sitemap та коли їх використовувати:
| Тип | Призначення | Коли потрібен |
|---|---|---|
| Стандартний (urlset) | Список URL сторінок сайту | Завжди |
| Sitemap Index | Файл-покажчик на кілька sitemap-файлів | Сайт >50 000 URL або кілька типів контенту |
| Image Sitemap | URL зображень з alt і caption | Інтернет-магазини, фотопортфоліо |
| Video Sitemap | Метадані відео (тривалість, мініатюра) | Сайти з власним відео |
| News Sitemap | Новини, опубліковані за останні 2 дні | Новинні видання (Google News) |
| Hreflang Sitemap | Мовні версії сторінок | Мультимовні сайти |
Приклад Sitemap Index — коли сайт великий:
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://yourdomain.com/sitemap-pages.xml</loc>
<lastmod>2026-05-01</lastmod>
</sitemap>
<sitemap>
<loc>https://yourdomain.com/sitemap-products.xml</loc>
<lastmod>2026-05-01</lastmod>
</sitemap>
</sitemapindex>
Типові помилки в robots.txt
За нашою практикою SEO-аудиту — помилки в robots.txt трапляються у кожного третього клієнта. Більшість із них критичні: сайт або недоступний для індексації, або витрачає краулінговий бюджет на службові URL.
Перелік усіх критичних перевірок зібрано в нашому покроковому гайді технічного SEO-аудиту.
Кейс з практики: інтернет-магазин меблів звернувся до нас після редизайну — органічний трафік впав на 80% за місяць. Виявилося, що після переїзду на новий движок розробник залишив у robots.txt рядок Disallow: / для User-agent: *, щоб не індексувалася тестова версія. На бойовому сервері цей рядок нікуди не подівся. Результат — три тижні повного закриття від Google.
| Помилка | Приклад | Наслідок | Виправлення |
|---|---|---|---|
| Закрито весь сайт | Disallow: / | Googlebot не сканує жодної сторінки | Змінити на Allow: / або видалити рядок |
| Закриті CSS і JS | Disallow: /assets/ | Google не рендерить сторінки, бачить сирий HTML | Видалити заборону, CSS/JS мають бути відкриті |
| Закриті важливі розділи | Disallow: /blog/ | Весь блог випадає з індексу | Відкрити або вказати конкретні піддиректорії |
| Конфлікт Allow/Disallow | Disallow: /cat/ + Allow: /cat/ | Непередбачувана поведінка ботів | Прибрати дублікат, залишити специфічніше правило |
| Відсутній Sitemap | (немає рядка Sitemap:) | Бот не знаходить sitemap автоматично | Додати Sitemap: https://site.com/sitemap.xml |
| Дублювання правил | Два блоки User-agent: * | Непередбачувана обробка, ігнорується другий блок | Об'єднати в один блок |
| Закриті параметризовані URL | Не закрито /?sort=, /?page= | Ботів сканують тисячі дублів | Disallow: /*?sort=, Disallow: /*?page= |
Окрема помилка, яку ми зустрічаємо у клієнтів на OpenCart і WordPress — закрита директорія /wp-admin/ або /admin/ без збереження доступу до admin-ajax.php. Це ламає динамічний контент на фронтенді:
# НЕПРАВИЛЬНО:
Disallow: /wp-admin/
# ПРАВИЛЬНО:
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Як налаштувати sitemap.xml
Є два підходи: автоматична генерація через CMS-плагін і ручне налаштування. Для більшості проєктів підходить перший варіант, ручний — для нестандартних структур або великих сайтів із складною логікою.
Автоматична генерація (CMS-плагіни):
- WordPress: плагін Yoast SEO або Rank Math → розділ Sitemap → ввімкнути, вибрати типи контенту
- OpenCart: розширення Google Sitemap (безкоштовне в маркетплейсі) або SEO-модуль OCmod
- PrestaShop: модуль Google Sitemap XML → налаштувати автооновлення через cron
- Bitrix: вбудований модуль «Карта сайту» → SEO → Sitemap → Генерувати
- Кастомний сайт: скрипт на PHP/Python, який збирає URL з бази даних і генерує XML
Ручне налаштування — коли потрібне:
- Потрібно включити лише певні категорії/сторінки, а не весь сайт
- Sitemap для зображень або відео — більшість плагінів їх не генерують повноцінно
- Потрібна точна дата
lastmodз бази даних, а не поточна дата
Що включати в sitemap, а що ні:
- Включати: усі індексовані комерційні сторінки, категорії, статті блогу, посадочні сторінки
- Не включати: сторінки з
noindex, дублі, сторінки пагінації (зазвичай), службові URL (admin, cart, thank-you), закриті в robots.txt
Зв'язок robots.txt і sitemap
Ці два файли працюють у зв'язці: robots.txt визначає, що Google може сканувати, sitemap.xml — де знаходяться пріоритетні сторінки. Правильна конфігурація передбачає три рівні узгодженості.
Де вказувати посилання на sitemap:
- У robots.txt — рядок
Sitemap: https://yourdomain.com/sitemap.xmlнаприкінці файлу. Google автоматично зчитує його при кожному зверненні до robots.txt - У Google Search Console — розділ Sitemaps → Submit → вводите URL sitemap вручну. Це дає прямий зворотний зв'язок: бачите статус, кількість URL, дату останнього читання
- Пряме посилання у браузері — Google знаходить sitemap.xml і автоматично, якщо він розміщений у стандартному місці (
/sitemap.xml)
Критично важливо: URL у sitemap.xml мають точно відповідати тому, що відкрито в robots.txt. Якщо сторінка є в sitemap, але закрита в robots.txt, Google зафіксує конфлікт і може або просто не сканувати URL, або проіндексувати його без перегляду вмісту (завдяки зовнішнім посиланням).
Зверніть увагу: на відміну від Yandex, Google не гарантує, що проіндексує всі URL із sitemap. Sitemap — це рекомендація, не директива. Але без sitemap боти знаходять сторінки лише через посилання — і можуть пропустити ізольовані або глибоко вкладені URL.
Як перевірити robots.txt і sitemap
Є кілька надійних способів перевірки. Ми в SEO-Factory використовуємо їх у порядку зростання глибини аналізу — від швидкої ручної перевірки до автоматизованого аудиту через технічний аудит.
Перевірка robots.txt:
- Вручну в браузері: відкрийте
yourdomain.com/robots.txt— перевірте наявність критичних Disallow і рядка Sitemap - Google Search Console → Settings → robots.txt: показує, як Google бачить файл, з підсвічуванням проблем. Тут же є тестер URL — введіть конкретну адресу і перевірте, чи може Googlebot її відвідати
- Онлайн-тестери: документація Google посилається на вбудований тестер GSC як основний інструмент
- Screaming Frog: Configuration → Robots.txt — перевіряє, які сторінки закриті, і візуалізує конфлікти
Детальніше про можливості інструменту читайте в нашій статті про Google Search Console для SEO.
Перевірка sitemap.xml:
- Відкрийте URL у браузері — Chrome автоматично відображає XML у форматованому вигляді. Помилка парсингу видна одразу
- Google Search Console → Sitemaps: надішліть URL і через 24–48 годин перевірте кількість «Discovered URLs» vs «Indexed»
- Ahrefs → Site Audit → Data Explorer → Sitemap: показує, скільки URL у sitemap, скільки з них індексується, є конфлікти
noindex, або закриті через robots.txt URL. Аналіз розриву — перший крок аудиту індексації.
Практичний чеклист robots.txt і sitemap
Після кожного значного оновлення сайту — редизайну, міграції, підключення нового движка — пройдіться по цьому чеклисту. Згідно з рекомендаціями Search Engine Land, більшість критичних проблем виявляються саме після технічних змін.
Robots.txt — перевірка:
- Перевірте доступність файлу — відкрийте
/robots.txt, переконайтесь у HTTP 200 - Немає
Disallow: /для User-agent: * — найкритичніша помилка - CSS і JS файли не закриті — Google має рендерити сторінки
- Службові URL закриті — /admin/, /cart/, /checkout/, /account/, /search/
- Параметризовані URL закриті —
?sort=,?color=,?page=(якщо це дублі) - Є рядок Sitemap: — з абсолютним URL, не відносним
- Немає дублікатів блоків User-agent — один блок на агент
- Перевірено через GSC Tester — протестовано 3–5 ключових URL
Sitemap.xml — перевірка:
- Файл відкривається без помилок — коректний XML, кодування UTF-8 без BOM
- URL абсолютні — містять протокол і домен, не відносні шляхи
- Відсутні URL із noindex — перехресна перевірка з мета-тегами
- Відсутні URL, закриті в robots.txt — немає конфліктів
- Актуальна дата lastmod — відповідає реальній даті оновлення, не поточній даті
- Не перевищено ліміт 50 000 URL — якщо більше, використовуйте Sitemap Index
- Надісланий у GSC — і статус «Success»
- Автооновлення налаштоване — cron або CMS-плагін оновлює sitemap при публікації нових сторінок
На практиці
Київське агентство нерухомості звернулося до нас із різким падінням трафіку — мінус 55% органіки за три тижні. На сайті близько 12 000 оголошень на WordPress, структура стандартна: каталог у /listings/, фільтри за районами та типом житла.
Первинна перевірка через GSC показала різкий обвал сторінок зі статусом «Discovered — currently not indexed», при цьому sitemap повертав HTTP 200 без помилок. Screaming Frog під час краулінгу видав критичне: весь розділ /listings/ повертає статус «Blocked by robots.txt».
Причина знайшлася швидко: плагін All in One SEO під час планового оновлення до версії 4.x самостійно перезаписав robots.txt і додав рядок Disallow: /listings/ до блоку для всіх ботів — очевидно, через конфлікт із користувацькими правилами в налаштуваннях плагіна. За 21 день з індексу випало близько 11 400 сторінок оголошень.
Після відновлення коректного robots.txt, примусового повторного надсилання sitemap через GSC та валідації через Ahrefs Site Audit індексація почала відновлюватися: через чотири тижні до індексу повернулися 9 800 сторінок, трафік відновився на 78% від початкового рівня.
Якщо ви використовуєте SEO-плагін на WordPress — перевіряйте robots.txt вручну після кожного його оновлення. All in One SEO, Rank Math і Yoast вміють перезаписувати файл без попередження, особливо при зміні мажорної версії. Три хвилини в GSC Tester можуть заощадити три тижні відновлення індексу.
Часті запитання
Чи може robots.txt закрити сайт від індексації повністю?
Так. Директива Disallow: / у блоці User-agent: * закриває від сканування всі сторінки для всіх ботів. Але це не видаляє сторінки з індексу — для видалення потрібен тег noindex або інструмент видалення URL у Google Search Console.
Скільки sitemap-файлів може бути на сайті?
Без обмежень — можна мати десятки sitemap-файлів, якщо використовувати sitemap index. Один файл sitemap може містити максимум 50 000 URL і важити не більше 50 МБ у стисненому вигляді.
Чи обов'язково вказувати Crawl-delay у robots.txt?
Ні, Crawl-delay не є обов'язковою директивою. Googlebot ігнорує Crawl-delay і самостійно визначає частоту сканування на основі швидкості сервера. Директива актуальна для Yandex і деяких інших ботів.
Що робити, якщо sitemap.xml повертає помилку 404?
Перевірте правильність шляху до файлу — зазвичай він знаходиться за адресою yourdomain.com/sitemap.xml. Якщо файл генерується CMS-плагіном, перевірте активацію плагіна і права доступу до директорії. Після виправлення знову надішліть URL sitemap у Google Search Console.
Потрібен технічний аудит robots.txt і sitemap?
Ми перевіримо конфігурацію файлів, знайдемо конфлікти і підготуємо рекомендації — безкоштовно в рамках технічного аудиту сайту.


