«Хороший сайт делается для людей, а поисковики приходят следом»

— из принципов редакции SeoLiga.ru
Главная » Статьи » Оптимизация сайтов » Robots.txt и sitemap.xml: настройка для поисковых систем

Robots.txt и sitemap.xml: настройка для поисковых систем

Два небольших текстовых файла в корне сайта способны как ускорить индексацию, так и целиком убрать проект из поиска. Речь о 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 то, что собираетесь удалять из индекса мета-тегом, ведь робот не сможет прочитать этот тег.

Типичные катастрофические ошибки

  1. Полный запрет. Строка Disallow: / закрывает весь сайт. Её часто оставляют после разработки на тестовом домене и забывают убрать при запуске.
  2. Опечатки в путях. Лишний пробел или неверный регистр делают правило бесполезным. Пути чувствительны к регистру.
  3. Пустая строка внутри блока. Некоторые роботы воспринимают её как конец блока и теряют продолжение правил.
  4. Неправильная кодировка. Файл должен быть в UTF-8 без лишних символов в начале.
  5. Недоступность файла. Если сервер отдаёт ошибку вместо файла, поведение роботов становится непредсказуемым.
  6. Одинаковый файл для разных сайтов. Копирование чужого 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. Там вы получите отчёты: сколько адресов обработано, сколько попало в индекс и какие ошибки найдены.

Разные разделы большого сайта удобно выносить в отдельные карты: статьи, товары, категории. Так проще анализировать, какая часть проекта индексируется плохо.

Проверка и диагностика

После любых изменений обязательно проверьте результат.

  1. Откройте файл в браузере и убедитесь, что он отдаётся по ожидаемому адресу и читается как обычный текст.
  2. Используйте инструмент анализа robots.txt в Яндекс.Вебмастере: введите адреса страниц и посмотрите, разрешены ли они.
  3. В Google Search Console проверьте отчёты об индексации и о покрытии: там видны страницы, заблокированные файлом.
  4. Проверьте карту в соответствующем разделе вебмастерских панелей: ошибки формата и недоступные адреса будут перечислены.
  5. Периодически анализируйте логи сервера, чтобы увидеть, куда реально ходят роботы и не тратят ли они время на ненужные разделы.

Особенности для крупных проектов

На сайтах с десятками тысяч страниц важен бюджет обхода — количество страниц, которое робот готов просканировать за визит. Если значительная часть уходит на фильтры и дубли, новые материалы индексируются с задержкой. Закрытие мусорных адресов, настройка канонических ссылок и аккуратная перелинковка помогают перераспределить ресурсы. Здесь robots.txt работает вместе с другими инструментами, а не вместо них.

Для интернет-магазинов хорошо работает схема: открыты категории и карточки товаров, закрыты комбинации фильтров с низкой ценностью и страницы сортировки, а в карту попадают только основные посадочные страницы.

Заключение

Robots.txt и sitemap.xml — это фундамент технического SEO. Первый защищает от индексации служебного мусора, второй ускоряет попадание ценных страниц в поиск. Настройте их осознанно, не копируйте чужие файлы бездумно, проверяйте результат в панелях вебмастеров после каждой правки и возвращайтесь к ним при изменении структуры сайта. Эта простая рутина избавит от неприятных сюрпризов в виде внезапно исчезнувших страниц.

СЛ
Сергей Лигин
Автор SeoLiga.ru. Пишет о практике: что работает на реальных проектах, а что лучше обойти стороной. Хотите предложить свою статью? Загляните в раздел «Авторам».