В корзине пусто!
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-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, дату последнего считывания
- Прямой URL в браузере — Google находит sitemap.xml автоматически, если он расположен в стандартном месте (
/sitemap.xml)
Критически важно: URL в sitemap.xml должны точно соответствовать тому, что открыто в robots.txt. Если страница есть в sitemap, но закрыта в robots.txt, Google зафиксирует конфликт и может либо просто не сканировать URL, либо проиндексировать его без содержимого (благодаря внешним ссылкам).
В отличие от Яндекса, 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» против «Indexed»
- Ahrefs → Site Audit → Data Explorer → Sitemap: показывает, сколько URL в sitemap, сколько из них индексируется, есть ли конфликты
noindex, либо закрытые через robots.txt URL. Анализ разрыва — первый шаг аудита индексации.
Практический чеклист
После каждого значимого обновления сайта — редизайна, миграции, подключения нового движка — пройдитесь по этому чеклисту. По данным 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. Один файл может содержать максимум 50 000 URL и весить не более 50 МБ в сжатом виде.
Обязательно ли указывать Crawl-delay в robots.txt?
Нет. Googlebot игнорирует Crawl-delay и самостоятельно определяет частоту сканирования на основе скорости сервера. Директива актуальна для Яндекса и некоторых других ботов.
Что делать, если sitemap.xml возвращает ошибку 404?
Проверьте правильность пути к файлу — обычно он находится по адресу yourdomain.com/sitemap.xml. Если файл генерируется CMS-плагином, проверьте активацию плагина и права доступа к директории. После исправления повторно отправьте URL sitemap в Google Search Console.
Нужен технический аудит robots.txt и sitemap?
Проверим конфигурацию файлов, найдём конфликты и подготовим рекомендации — бесплатно в рамках технического аудита сайта.


