Два небольших текстовых файла в корне сайта способны как ускорить индексацию, так и целиком убрать проект из поиска. Речь о robots.txt и sitemap.xml. Первый говорит поисковым роботам, куда ходить нельзя, второй подсказывает, какие страницы стоит обойти. Ошибка в одной строке robots.txt иногда стоит владельцу сайта недель потерянного трафика.
Разберём, как устроены оба файла, как их правильно настроить и проверить.
Что такое robots.txt и зачем он нужен
Robots.txt — текстовый файл, который лежит в корне сайта и доступен по адресу вида site.ru/robots.txt. Поисковые роботы запрашивают его первым, прежде чем обходить остальные страницы. В нём записаны правила: какие разделы можно сканировать, а какие нет.
Важно понимать три вещи:
- Robots.txt управляет сканированием, а не индексацией. Закрытая в нём страница может всё равно попасть в выдачу, если на неё ведут внешние ссылки, просто без описания.
- Файл является рекомендацией. Добросовестные роботы поисковиков ему следуют, вредоносные боты — нет. Для защиты конфиденциальных данных он не годится.
- Закрытие в robots.txt не удаляет страницу из индекса. Для этого нужны другие инструменты, например мета-тег robots с запретом индексации.
Основные директивы
Файл состоит из блоков, каждый из которых относится к определённому роботу. Вот ключевые директивы:
| Директива | Назначение |
|---|---|
| User-agent | Указывает, для какого робота действуют правила |
| Disallow | Запрещает сканирование пути |
| Allow | Разрешает путь внутри запрещённого раздела |
| Sitemap | Сообщает адрес файла карты сайта |
| Clean-param | Помогает Яндексу игнорировать служебные параметры в адресах |
| Crawl-delay | Задаёт паузу между запросами, поддерживается не всеми роботами |
Простейший пример для сайта на популярной CMS:
User-agent: *
Disallow: /admin/
Disallow: /cart/
Disallow: /search/
Disallow: /*?sort=
Allow: /admin/public/
Sitemap: https://example.ru/sitemap.xml
Звёздочка в поле User-agent означает «любой робот». Если нужны особые правила для конкретной системы, создаётся отдельный блок с её названием. Роботы читают тот блок, который наиболее точно подходит именно им, и игнорируют остальные.
Что стоит закрывать, а что нет
Задача — не пустить роботов в технический мусор, чтобы они тратили лимит обхода на полезные страницы. Как правило, закрывают:
- админку и служебные разделы;
- корзину, оформление заказа, личный кабинет;
- внутренний поиск по сайту;
- страницы сортировки и фильтров, которые создают дубли;
- версии для печати и сессионные идентификаторы;
- тестовые и временные разделы.
Категорически нельзя закрывать файлы стилей и скриптов, которые нужны для отображения страницы. Роботы должны видеть сайт так же, как посетитель, иначе они не смогут оценить вёрстку и мобильную адаптацию. Также не закрывайте страницы, которые должны приносить трафик, и не прячьте через robots.txt то, что собираетесь удалять из индекса мета-тегом, ведь робот не сможет прочитать этот тег.
Типичные катастрофические ошибки
- Полный запрет. Строка
Disallow: /закрывает весь сайт. Её часто оставляют после разработки на тестовом домене и забывают убрать при запуске. - Опечатки в путях. Лишний пробел или неверный регистр делают правило бесполезным. Пути чувствительны к регистру.
- Пустая строка внутри блока. Некоторые роботы воспринимают её как конец блока и теряют продолжение правил.
- Неправильная кодировка. Файл должен быть в UTF-8 без лишних символов в начале.
- Недоступность файла. Если сервер отдаёт ошибку вместо файла, поведение роботов становится непредсказуемым.
- Одинаковый файл для разных сайтов. Копирование чужого robots.txt без проверки часто закрывает нужные разделы.
Что такое sitemap.xml
Карта сайта — это файл формата XML со списком адресов страниц, которые вы хотите видеть в индексе. Она не гарантирует индексацию, но помогает роботам быстрее находить новые и обновлённые страницы, особенно на больших сайтах, сайтах с плохой перелинковкой и недавно запущенных проектах.
Минимальный пример:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://example.ru/</loc>
<lastmod>текущая-дата-в-формате-ISO</lastmod>
</url>
<url>
<loc>https://example.ru/stati/pervaya/</loc>
</url>
</urlset>
Каждая запись обязательно содержит тег loc с полным адресом. Тег lastmod показывает дату изменения и полезен, если она заполняется честно. Устаревшие параметры приоритета и частоты обновления современные поисковики практически не учитывают.
Правила составления карты
- Включайте только страницы, отдающие код ответа 200, без перенаправлений и ошибок.
- Добавляйте канонические адреса, а не дубли с параметрами.
- Не включайте страницы, закрытые от индексации мета-тегом или в robots.txt: это противоречие сбивает роботов.
- Указывайте адреса с тем же протоколом и доменным именем, что используются на сайте.
- Соблюдайте ограничения: в одном файле не более пятидесяти тысяч адресов и размер не больше пятидесяти мегабайт в несжатом виде.
- Для больших сайтов создавайте несколько карт и общий индексный файл, который перечисляет их.
Если сайт работает на популярной CMS, карту обычно генерирует плагин или встроенный модуль, и она обновляется автоматически. Для самописных проектов на C#, PHP или другом языке стоит написать простой генератор, который собирает адреса из базы данных.
Как связать файлы между собой
Добавьте строку Sitemap в robots.txt, и любой робот найдёт карту без дополнительных действий. Кроме того, адрес карты стоит вручную отправить в Яндекс.Вебмастер и Google Search Console. Там вы получите отчёты: сколько адресов обработано, сколько попало в индекс и какие ошибки найдены.
Разные разделы большого сайта удобно выносить в отдельные карты: статьи, товары, категории. Так проще анализировать, какая часть проекта индексируется плохо.
Проверка и диагностика
После любых изменений обязательно проверьте результат.
- Откройте файл в браузере и убедитесь, что он отдаётся по ожидаемому адресу и читается как обычный текст.
- Используйте инструмент анализа robots.txt в Яндекс.Вебмастере: введите адреса страниц и посмотрите, разрешены ли они.
- В Google Search Console проверьте отчёты об индексации и о покрытии: там видны страницы, заблокированные файлом.
- Проверьте карту в соответствующем разделе вебмастерских панелей: ошибки формата и недоступные адреса будут перечислены.
- Периодически анализируйте логи сервера, чтобы увидеть, куда реально ходят роботы и не тратят ли они время на ненужные разделы.
Особенности для крупных проектов
На сайтах с десятками тысяч страниц важен бюджет обхода — количество страниц, которое робот готов просканировать за визит. Если значительная часть уходит на фильтры и дубли, новые материалы индексируются с задержкой. Закрытие мусорных адресов, настройка канонических ссылок и аккуратная перелинковка помогают перераспределить ресурсы. Здесь robots.txt работает вместе с другими инструментами, а не вместо них.
Для интернет-магазинов хорошо работает схема: открыты категории и карточки товаров, закрыты комбинации фильтров с низкой ценностью и страницы сортировки, а в карту попадают только основные посадочные страницы.
Заключение
Robots.txt и sitemap.xml — это фундамент технического SEO. Первый защищает от индексации служебного мусора, второй ускоряет попадание ценных страниц в поиск. Настройте их осознанно, не копируйте чужие файлы бездумно, проверяйте результат в панелях вебмастеров после каждой правки и возвращайтесь к ним при изменении структуры сайта. Эта простая рутина избавит от неприятных сюрпризов в виде внезапно исчезнувших страниц.