Robots.txt и sitemap: две ошибки, закрывающие сайт от поиска
Первая ошибка — строка Disallow: /, оставшаяся с этапа разработки. Вторая — карта сайта, которая месяцами не обновляется или отдаёт закрытые адреса. Обе проверяются за несколько минут.
Ошибка первая: Disallow: / после разработки
Пока сайт разрабатывают, его закрывают от поиска — правильно. Проблема возникает при запуске: строку Disallow: / забывают удалить, и сайт остаётся полностью закрытым от обхода. Никакие тексты и мета-теги не помогут: робот их не увидит.
Похожий эффект даёт галочка «закрыть сайт от индексации» в настройках CMS, мета-тег noindex в общем шаблоне или заголовок X-Robots-Tag на сервере. Проверяется всё это за несколько минут — ниже инструкция.
Как устроен robots.txt
| Директива | Что делает | Кто учитывает |
|---|---|---|
| User-agent | Для какого робота правила ниже: * — для всех | Все |
| Disallow | Запрещает обход адресов, начинающихся с указанного пути | Все |
| Allow | Разрешает обход внутри запрещённого раздела | Яндекс и Google |
| Sitemap | Полный адрес карты сайта | Яндекс и Google |
| Clean-param | Параметры адреса, которые не меняют содержимое | Только Яндекс |
| Crawl-delay | Пауза между запросами робота | Google не учитывает; Яндекс перестал учитывать в 2018 году |
| Host | Главное зеркало сайта | Устарела: Яндекс отказался от неё в 2018 году в пользу 301-редиректа |
Главное, что стоит помнить: Disallow запрещает обход, а не индексацию. Google может показать в поиске адрес, закрытый в robots.txt, если на него много ссылок, — просто без описания. Чтобы убрать страницу из поиска, нужен мета-тег noindex, а страница при этом должна оставаться открытой для обхода, иначе робот тег не прочитает.
Пример robots.txt для интернет-магазина
Универсального файла не бывает: пути зависят от CMS. Но логика у магазинов общая — закрыть служебные разделы и мусорные параметры, не трогая каталог, и указать карту сайта. Адреса ниже условные.
User-agent: *
Disallow: /cart/
Disallow: /checkout/
Disallow: /personal/
Disallow: /search/
Disallow: /*?sort=
Disallow: /*&sort=
# Директиву понимает только Яндекс: склеивает адреса с метками
Clean-param: utm_source&utm_medium&utm_campaign&yclid
Sitemap: https://example.ru/sitemap.xml- Символ
*означает любую последовательность символов — его понимают и Яндекс, и Google. Правило/*?sort=закрывает сортировку на любой странице. - Закрывать
/search/стоит, только если страницы поиска по сайту не задуманы как посадочные. - Не закрывайте папки со стилями, скриптами и изображениями: без них робот видит страницу не такой, какой её видит посетитель.
- После правки файла проверьте несколько важных адресов инструментом анализа robots.txt — одна лишняя строка может закрыть весь каталог.
Ошибка вторая: карта сайта против robots.txt
Карта сайта приглашает робота на адреса, robots.txt и мета-теги запрещают. Когда одни и те же адреса есть и там, и там, поисковик получает противоречивые указания и решает сам — а в панелях вебмастера появляются предупреждения.
- В карте адреса, закрытые в robots.txt или мета-тегом noindex.
- В карте адреса с редиректами и ошибками 404 — остались после смены структуры. Как их найти — в статье о битых ссылках и редиректах.
- Карту сгенерировал плагин при запуске, и с тех пор она не обновлялась: новых разделов в ней нет.
- Адреса в карте с другим протоколом или доменом:
httpвместоhttps, сwwwпри основном зеркале без него. - В карте страницы с параметрами — фильтры, сортировки, метки.
Правильная карта — это список канонических страниц, отвечающих кодом 200, открытых для индексации, с настоящими датами изменения. Подробнее о датах — в статье об ускорении переобхода.
Проверка за несколько минут
- Открыть
/robots.txtи найти строкиDisallowдляUser-agent: *,YandexиGooglebot. Убедиться, что закрыты только служебные разделы: корзина, личный кабинет, поиск по сайту. - Проверить файл в Яндекс Вебмастере инструментом анализа robots.txt: туда можно вставить адреса и увидеть, разрешены ли они. В Google Search Console аналогичный отчёт о robots.txt находится в настройках.
- Открыть
/sitemap.xml: файл открывается, адреса в нём на вашем основном домене, даты изменения не все одинаковые. - Открыть пять-десять адресов из карты и убедиться, что они отвечают, не перенаправляют и не закрыты от индексации.
- Проверить, что строка
Sitemap:в robots.txt указывает на эту карту.
Наш аудит читает sitemap.xml как источник адресов для обхода и отмечает страницы, закрытые мета-тегом noindex. Сам файл robots.txt аудит сейчас не разбирает, поэтому первые два шага списка стоит сделать вручную. Полный список — 27 проверок аудита с порогами.
Проверьте свой сайт
Аудит обходит сайт и показывает ошибки с адресами страниц: мета-теги, canonical, коды ответа, переадресации, время ответа сервера. Проверка бесплатная, смету по найденному вы увидите до любой оплаты.
Частые вопросы
Нужно ли закрывать в robots.txt корзину и личный кабинет?
Да, это разумно: в поиске этим страницам делать нечего, а обход на них тратится. Главное — не закрывать заодно разделы каталога или файлы стилей и скриптов, без которых робот не может отрисовать страницу.
Как убрать страницу из поиска?
Мета-тегом noindex или кодом ответа 404 или 410. Запрет в robots.txt для этого не подходит: он прекращает обход, но не всегда убирает адрес из индекса.
Нужна ли карта сайта маленькому сайту?
Если на все страницы ведут ссылки, робот найдёт их и без карты. Но карта ничего не стоит и помогает быстрее узнать о новых страницах, поэтому держать её стоит на сайте любого размера.