Robots.txt і Sitemap.xml: налаштування і типові помилки

Дата публікації: 05.06.2026 15:35

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 Googlebot хоче сканувати robots.txt читає правила Allow Disallow Сканує URL додає до індексу Пропускає URL не сканує Закрита сторінка все одно може потрапити в індекс, якщо на неї є зовнішні посилання. Для видалення з індексу — використовуйте noindex.
Схема: як Googlebot зчитує robots.txt і приймає рішення про сканування

Директиви robots.txt: повний довідник

Файл складається з блоків — кожен блок починається з директиви User-agent і містить одне або кілька правил. Ось повний перелік директив:

ДирективаЩо робитьПриклад
User-agentВказує, для якого бота застосовується правило. * — для всіх.User-agent: Googlebot
DisallowЗабороняє сканування URL або директоріїDisallow: /admin/
AllowДозволяє сканування конкретного URL всередині забороненої директоріїAllow: /admin/public/
SitemapВказує абсолютний URL файлу sitemap.xmlSitemap: 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 і Allow конфліктують, перемагає більш специфічне правило. Якщо однакова довжина — перемагає Allow. Це поведінка Googlebot — інші боти можуть трактувати по-іншому.

Синтаксичні тонкощі, які часто плутають:

  • 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 SitemapURL зображень з 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>
Ієрархія типів sitemap.xml Sitemap Index sitemap.xml Сторінки sitemap-pages.xml Товари sitemap-products.xml Зображення sitemap-images.xml Відео sitemap-video.xml Новини sitemap-news.xml Ліміти sitemap.xml (Google) Макс. URL в одному файлі: 50 000 Макс. розмір: 50 МБ стиснений Макс. sitemap в index: без ліміту News Sitemap: лише статті за останні 2 дні | Image Sitemap: до 1000 зображень на <url>
Ієрархія типів sitemap.xml і ключові обмеження Google

Типові помилки в robots.txt

За нашою практикою SEO-аудиту — помилки в robots.txt трапляються у кожного третього клієнта. Більшість із них критичні: сайт або недоступний для індексації, або витрачає краулінговий бюджет на службові URL.

Перелік усіх критичних перевірок зібрано в нашому покроковому гайді технічного SEO-аудиту.

Кейс з практики: інтернет-магазин меблів звернувся до нас після редизайну — органічний трафік впав на 80% за місяць. Виявилося, що після переїзду на новий движок розробник залишив у robots.txt рядок Disallow: / для User-agent: *, щоб не індексувалася тестова версія. На бойовому сервері цей рядок нікуди не подівся. Результат — три тижні повного закриття від Google.

ПомилкаПрикладНаслідокВиправлення
Закрито весь сайтDisallow: /Googlebot не сканує жодної сторінкиЗмінити на Allow: / або видалити рядок
Закриті CSS і JSDisallow: /assets/Google не рендерить сторінки, бачить сирий HTMLВидалити заборону, CSS/JS мають бути відкриті
Закриті важливі розділиDisallow: /blog/Весь блог випадає з індексуВідкрити або вказати конкретні піддиректорії
Конфлікт Allow/DisallowDisallow: /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-плагіни):

  1. WordPress: плагін Yoast SEO або Rank Math → розділ Sitemap → ввімкнути, вибрати типи контенту
  2. OpenCart: розширення Google Sitemap (безкоштовне в маркетплейсі) або SEO-модуль OCmod
  3. PrestaShop: модуль Google Sitemap XML → налаштувати автооновлення через cron
  4. Bitrix: вбудований модуль «Карта сайту» → SEO → Sitemap → Генерувати
  5. Кастомний сайт: скрипт на PHP/Python, який збирає URL з бази даних і генерує XML

Ручне налаштування — коли потрібне:

  • Потрібно включити лише певні категорії/сторінки, а не весь сайт
  • Sitemap для зображень або відео — більшість плагінів їх не генерують повноцінно
  • Потрібна точна дата lastmod з бази даних, а не поточна дата

Що включати в sitemap, а що ні:

  • Включати: усі індексовані комерційні сторінки, категорії, статті блогу, посадочні сторінки
  • Не включати: сторінки з noindex, дублі, сторінки пагінації (зазвичай), службові URL (admin, cart, thank-you), закриті в robots.txt
Тест валідності sitemap: відкрийте URL sitemap у браузері. Браузер повинен відобразити відформатований XML. Якщо бачите помилку парсингу або порожній екран — у файлі є синтаксична помилка. Перевіряйте кодування (UTF-8 без BOM) і коректність спецсимволів (& → &amp;, < → &lt;).

Ці два файли працюють у зв'язці: robots.txt визначає, що Google може сканувати, sitemap.xml — де знаходяться пріоритетні сторінки. Правильна конфігурація передбачає три рівні узгодженості.

Зв'язок robots.txt і sitemap.xml Googlebot починає обхід robots.txt визначає правила sitemap.xml список URL Google Index сторінки в пошуку Три правила узгодженості 1. URL у sitemap.xml мають бути ВІДКРИТІ в robots.txt 2. Sitemap.xml не повинен містити сторінки з тегом noindex 3. Robots.txt має містити рядок Sitemap: з абсолютним URL
Флоучарт: як robots.txt і sitemap.xml взаємодіють у процесі сканування та індексації

Де вказувати посилання на sitemap:

  1. У robots.txt — рядок Sitemap: https://yourdomain.com/sitemap.xml наприкінці файлу. Google автоматично зчитує його при кожному зверненні до robots.txt
  2. У Google Search Console — розділ Sitemaps → Submit → вводите URL sitemap вручну. Це дає прямий зворотний зв'язок: бачите статус, кількість URL, дату останнього читання
  3. Пряме посилання у браузері — 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:

  1. Вручну в браузері: відкрийте yourdomain.com/robots.txt — перевірте наявність критичних Disallow і рядка Sitemap
  2. Google Search Console → Settings → robots.txt: показує, як Google бачить файл, з підсвічуванням проблем. Тут же є тестер URL — введіть конкретну адресу і перевірте, чи може Googlebot її відвідати
  3. Онлайн-тестери: документація Google посилається на вбудований тестер GSC як основний інструмент
  4. Screaming Frog: Configuration → Robots.txt — перевіряє, які сторінки закриті, і візуалізує конфлікти

Детальніше про можливості інструменту читайте в нашій статті про Google Search Console для SEO.

Перевірка sitemap.xml:

  1. Відкрийте URL у браузері — Chrome автоматично відображає XML у форматованому вигляді. Помилка парсингу видна одразу
  2. Google Search Console → Sitemaps: надішліть URL і через 24–48 годин перевірте кількість «Discovered URLs» vs «Indexed»
  3. Ahrefs → Site Audit → Data Explorer → Sitemap: показує, скільки URL у sitemap, скільки з них індексується, є конфлікти
Сигнал проблеми: якщо в GSC кількість «Submitted URLs» сильно відрізняється від «Indexed URLs» (наприклад, 5000 проти 800) — є або дублі у sitemap, або сторінки з noindex, або закриті через robots.txt URL. Аналіз розриву — перший крок аудиту індексації.
Мокап Google Search Console, розділ Sitemaps Google Search Console — Sitemaps yourdomain.com Overview URL Inspection Performance Sitemaps Removals Sitemaps Sitemap Status Submitted Indexed sitemap.xml OK 5 000 4 812 sitemap-images.xml OK 12 000 11 340 Submitted 5 000 / Indexed 4 812: розрив 188 URL Причини: noindex, редиректи, дублі або слабкий PageRank сторінок
Мокап Google Search Console — розділ Sitemaps: відстеження статусу та розриву між submitted і indexed

Практичний чеклист robots.txt і sitemap

Після кожного значного оновлення сайту — редизайну, міграції, підключення нового движка — пройдіться по цьому чеклисту. Згідно з рекомендаціями Search Engine Land, більшість критичних проблем виявляються саме після технічних змін.

Robots.txt — перевірка:

  1. Перевірте доступність файлу — відкрийте /robots.txt, переконайтесь у HTTP 200
  2. Немає Disallow: / для User-agent: * — найкритичніша помилка
  3. CSS і JS файли не закриті — Google має рендерити сторінки
  4. Службові URL закриті — /admin/, /cart/, /checkout/, /account/, /search/
  5. Параметризовані URL закриті?sort=, ?color=, ?page= (якщо це дублі)
  6. Є рядок Sitemap: — з абсолютним URL, не відносним
  7. Немає дублікатів блоків User-agent — один блок на агент
  8. Перевірено через GSC Tester — протестовано 3–5 ключових URL

Sitemap.xml — перевірка:

  1. Файл відкривається без помилок — коректний XML, кодування UTF-8 без BOM
  2. URL абсолютні — містять протокол і домен, не відносні шляхи
  3. Відсутні URL із noindex — перехресна перевірка з мета-тегами
  4. Відсутні URL, закриті в robots.txt — немає конфліктів
  5. Актуальна дата lastmod — відповідає реальній даті оновлення, не поточній даті
  6. Не перевищено ліміт 50 000 URL — якщо більше, використовуйте Sitemap Index
  7. Надісланий у GSC — і статус «Success»
  8. Автооновлення налаштоване — 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?

Ми перевіримо конфігурацію файлів, знайдемо конфлікти і підготуємо рекомендації — безкоштовно в рамках технічного аудиту сайту.

SEO-аудит індексації  ·  SEO-просування сайту

Seo Factory
Матеріали на сайті SEO-FACTORY створюються командою спеціалістів у сфері SEO-просування, інтернет-маркетингу, контекстної реклами та веб-аналітики. Основна мета проєкту — публікувати практичні та зрозумілі матеріали, які допомагають бізнесу, власникам сайтів і digital-фахівцям краще розуміти сучасні алгоритми Google, принципи SEO та інструменти онлайн-просування. Автори блогу регулярно працюють із комерційними проєктами в Україні та на міжнародних ринках, тестують SEO-стратегії, аналізують зміни пошукових алгоритмів, досліджують поведінкові фактори, лінкбілдинг, AI-пошук, контент-маркетинг та Google Ads. Завдяки цьому матеріали базуються не лише на теорії, а й на реальному практичному досвіді. У статтях SEO-FACTORY використовуються: актуальні дані та дослідження ринку; власні спостереження та практичні кейси; аналіз оновлень Google і SEO-трендів; рекомендації щодо технічної оптимізації сайтів; сучасні підходи до зростання органічного трафіку. Проєкт орієнтований на створення експертного контенту без шаблонних порад і зайвої «води». Основний акцент робиться на практичній користі, зрозумілій подачі та сучасних методах digital-маркетингу
Останні
Robots.txt і Sitemap.xml

05.06.2026 15:35

Robots.txt і Sitemap.xml
Структура URL

04.06.2026 11:29

Структура URL