
Два небольших служебных файла определяют, что поисковая система увидит на вашем сайте. Одна лишняя строчка в robots.txt способна выкинуть из индекса весь каталог, а неаккуратная карта сайта — засорить его мусором. Рассказываем, как настраивать оба файла и как их проверять.
Robots.txt и sitemap.xml — первое, что мы открываем на любом новом проекте. Это занимает пару минут, но нередко объясняет, почему сайт не растёт. За время работы мы встречали robots.txt, закрывающий весь сайт от индексации после переноса с тестового сервера, карты сайта с тысячами несуществующих страниц и файлы, в которых директивы противоречили друг другу.
Оба файла отвечают за одно и то же — управление индексацией, — но с разных сторон. Robots.txt говорит роботу, куда ходить не нужно. Sitemap.xml подсказывает, какие страницы важны и где их найти. Настроенные вместе, они помогают поисковой системе тратить ресурсы на нужные страницы, а не на технический мусор.
Зачем вообще управлять индексацией
У каждой поисковой системы есть ограниченный ресурс, который она готова тратить на обход вашего сайта. Для небольшого сайта из пятидесяти страниц это не критично — робот обойдёт всё. Но как только страниц становится тысячи, а за счёт фильтров, сортировок, UTM-меток и сессионных параметров их может стать сотни тысяч, робот начинает тратить время на бесполезные адреса, а важные страницы индексируются с задержкой.
Кроме того, в индекс не должны попадать:
- служебные разделы — админка, личный кабинет, корзина, оформление заказа;
- результаты внутреннего поиска по сайту;
- дубли страниц с параметрами сортировки и отслеживания;
- технические страницы — версии для печати, тестовые разделы, черновики;
- страницы с персональными данными пользователей.
Если всё это попадает в индекс, сайт выглядит для поисковой системы как смесь полезных страниц и мусора, и общая оценка качества снижается.
Robots.txt: синтаксис без мифов
Файл лежит в корне сайта и состоит из групп правил. Каждая группа начинается с директивы User-agent, которая указывает, к какому роботу относятся правила. Звёздочка означает «ко всем».
Основные директивы:
- User-agent — для какого робота правила;
- Disallow — запрет обхода пути или шаблона;
- Allow — разрешение, которое уточняет более общий запрет;
- Sitemap — полный адрес карты сайта;
- Clean-param — директива Яндекса, которая указывает параметры, не влияющие на содержимое страницы.
В шаблонах можно использовать звёздочку для любой последовательности символов и знак доллара для обозначения конца адреса. Например, правило «Disallow: /*?sort=» закроет все адреса с параметром сортировки, а «Disallow: /*.pdf$» — все PDF-файлы.
Когда правила Allow и Disallow конфликтуют, выигрывает более длинное, то есть более специфичное правило. Это позволяет, например, закрыть весь раздел, но открыть в нём конкретную подпапку.
Robots.txt запрещает обход, но не гарантирует исключение из индекса. Если на закрытую страницу ведут внешние ссылки, она может оказаться в выдаче без описания. Чтобы гарантированно убрать страницу из индекса, используйте метатег robots со значением noindex и не закрывайте её при этом в robots.txt — иначе робот этот тег просто не увидит.
Типичные ошибки в robots.txt
Вот что мы находим чаще всего, когда проводим аудит.
- Сайт целиком закрыт директивой «Disallow: /». Обычно это наследство тестовой версии, которое забыли убрать при запуске. Сайт может неделями работать без трафика, пока кто-нибудь не заметит.
- Закрыты CSS и JavaScript. Раньше это было распространённой практикой, но сейчас поисковые системы отрисовывают страницы, и без стилей и скриптов робот видит сломанную вёрстку.
- Закрыты изображения, хотя по ним мог бы идти трафик из поиска по картинкам.
- Закрыты страницы, которые должны быть в индексе, из-за слишком широкого шаблона. Например, правило «Disallow: /catalog» закроет и «/catalog-uslug/», если автор не поставил завершающий слэш.
- Противоречие между robots.txt и метатегами: страница закрыта в файле и одновременно помечена noindex. Робот не может прочитать метатег и оставляет страницу в индексе.
- Отсутствие ссылки на карту сайта или ссылка на несуществующий файл.
Однажды к нам обратился клиент — производитель мебели — с жалобой на резкое падение трафика после редизайна. Первый же взгляд на robots.txt показал, что подрядчик при переносе закрыл весь каталог шаблоном, который должен был закрывать только сортировки. На исправление ушло пять минут, на возвращение позиций — около месяца.
Sitemap.xml: какие страницы включать
Карта сайта — это список адресов, которые вы считаете важными и хотите видеть в индексе. Ключевое слово — «важными». Карта не должна быть полной выгрузкой всех адресов из базы данных.
В sitemap.xml должны попадать только страницы, которые:
- отдают код ответа 200;
- открыты для индексации и не содержат noindex;
- являются каноническими, то есть не ссылаются через canonical на другой адрес;
- несут ценность для пользователя и имеют потенциал получать трафик.
Не нужно включать страницы с редиректами, закрытые в robots.txt, дубли с параметрами, пустые категории, страницы пагинации (в большинстве случаев) и служебные разделы.
Для больших сайтов карту стоит разбивать на несколько файлов — например, отдельно категории, товары, статьи блога — и объединять их индексным файлом. Это удобно не только из-за ограничения на количество адресов в одном файле, но и для диагностики: в панелях вебмастеров видно, какая часть каждой карты проиндексирована.
Про теги lastmod, priority и changefreq
Тег lastmod с датой последнего изменения полезен, если он отражает реальные изменения содержимого. Если же CMS проставляет всем страницам текущую дату при каждой генерации, поисковая система быстро перестаёт доверять этому тегу. Теги priority и changefreq на практике большинством систем игнорируются, и тратить время на их настройку мы не рекомендуем.
Карта сайта должна генерироваться автоматически и обновляться при добавлении или удалении страниц. Статичный файл, сделанный один раз при запуске, через полгода будет содержать десятки несуществующих адресов.
Как мы настраиваем индексацию на проектах
Наш порядок работы при запуске нового сайта или аудите существующего выглядит так.
- Обходим сайт краулером и получаем полный список адресов с кодами ответа, каноническими ссылками и метатегами.
- Смотрим, какие страницы уже есть в индексе, через панели вебмастеров.
- Разделяем адреса на группы: целевые страницы, дубли, служебные, мусорные.
- Для каждой группы выбираем инструмент: закрытие в robots.txt, noindex, canonical, редирект или удаление.
- Составляем robots.txt и проверяем каждое правило на списке реальных адресов, чтобы убедиться, что не закрыли лишнего.
- Настраиваем автоматическую генерацию sitemap.xml только с целевыми страницами.
- Добавляем карту в панели вебмастеров и через две-три недели сверяем, что проиндексировано.
Выбор инструмента зависит от ситуации. Страницы сортировок удобно закрыть в robots.txt или через Clean-param. Страницы, которые уже в индексе и должны оттуда уйти, лучше пометить noindex. Дубли с незначительными отличиями — связать каноническими ссылками. Устаревшие адреса после смены структуры — перенаправить на актуальные.
Как проверить, что всё работает
После настройки мало положить файлы на сервер. Мы обязательно проверяем:
- robots.txt открывается по адресу в корне сайта и отдаёт код 200;
- каждое правило проверено в инструментах анализа robots.txt в панелях вебмастеров на примерах реальных адресов;
- в sitemap.xml нет адресов с кодами ответа, отличными от 200;
- в sitemap.xml нет неканонических и закрытых страниц;
- количество страниц в индексе постепенно приближается к количеству страниц в карте.
Дальше важен регулярный мониторинг. Мы настраиваем для клиентов оповещения об изменении robots.txt: если кто-то из разработчиков случайно поменяет файл при очередном обновлении, мы узнаем об этом в тот же день, а не через месяц по падению трафика.
Коротко о главном
Robots.txt и sitemap.xml не принесут трафик сами по себе, но могут его отнять. Поэтому их настройка — это не формальность, а часть гигиены сайта, которую стоит проверять после каждого крупного обновления.
Если выделить главное: закрывайте в robots.txt только то, что точно не нужно роботу, не путайте запрет обхода с запретом индексации, держите в карте сайта только канонические страницы с кодом 200 и генерируйте её автоматически. И обязательно проверяйте файлы после каждого переезда, редизайна или смены CMS — именно в эти моменты случается большинство ошибок, которые потом стоят месяцев трафика.
Нужна помощь с задачей?
Команда MediaFrukt разберёт ваш проект и предложит решение. Консультация бесплатна.
Обсудить проект

