Агентство интернет-маркетинга полного цикла в Москве сайты
реклама
seo
[email protected]
Главная›Блог›SEO-продвижение›Файлы robots.txt и sitemap.xml: настройка без ошибок

Файлы robots.txt и sitemap.xml: настройка без ошибок

Два небольших служебных файла во многом определяют, как поисковые роботы видят сайт. Объясняем, как настроить robots.txt и sitemap.xml без ошибок, которые могут стоить вам трафика.

SEO-продвижениеВремя чтения ≈ 7 минАвтор: редакция КомРА
SEO-ПРОДВИЖЕНИЕ

Зачем нужны эти файлы

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

Robots.txt — текстовый файл в корне сайта, который содержит правила для поисковых роботов: какие разделы можно сканировать, а какие нет. Он помогает не тратить ресурсы робота на служебные страницы, корзину, поиск по сайту, бесконечные комбинации фильтров.

Sitemap.xml — карта сайта в формате XML, список адресов страниц, которые вы хотите видеть в индексе. Она помогает роботу быстрее находить новые и обновлённые страницы, особенно на больших сайтах и на ресурсах со слабой внутренней перелинковкой.

Оба файла — рекомендации, а не жёсткие команды. Добросовестные роботы Яндекса и Google их соблюдают, но с нюансами, о которых важно знать.

Как устроен robots.txt

Файл располагается строго по адресу «домен/robots.txt», записывается в кодировке UTF-8 и состоит из групп правил. Каждая группа начинается с указания робота, к которому она относится.

Основные директивы:

  • User-agent — для какого робота правила. Звёздочка означает «для всех», можно указать конкретного робота, например Yandex или Googlebot.
  • Disallow — запрещает сканирование адресов, начинающихся с указанного пути.
  • Allow — разрешает сканирование, используется для исключений внутри запрещённых разделов.
  • Sitemap — указывает адрес карты сайта. Можно указать несколько.
  • Clean-param — директива Яндекса, которая сообщает, что определённые GET-параметры не меняют содержимое страницы. Робот будет считать адреса с такими параметрами одной страницей.

Также в правилах можно использовать специальные символы: звёздочку как любую последовательность символов и знак доллара как конец адреса. Например, правило «Disallow: /?sort=» закроет все адреса с параметром сортировки, а «Disallow: /.pdf$» — все адреса, заканчивающиеся на .pdf.

При конфликте правил Allow и Disallow и Яндекс, и Google применяют более специфичное — то есть то, у которого путь длиннее. Если длины равны, приоритет у Allow.

Что обычно закрывают в robots.txt

Набор зависит от CMS и устройства сайта, но типичный список выглядит так.

  1. Служебные разделы и административную панель. Например, разделы админки WordPress или 1С-Битрикс.
  2. Корзину, оформление заказа, личный кабинет. Эти страницы персональны и не нужны в поиске.
  3. Внутренний поиск по сайту. Страницы результатов поиска генерируются бесконечно и создают дубли.
  4. Параметры сортировки, фильтров без спроса, сессий, UTM-меток. Для Яндекса часть из них удобнее обработать через Clean-param.
  5. Версии для печати, технические дубли.
  6. Страницы сравнения и избранного.

Что закрывать не нужно:

  • файлы CSS и JavaScript — поисковикам нужно их видеть, чтобы правильно отрисовать страницу и оценить мобильную версию;
  • изображения, если вы хотите получать трафик из поиска по картинкам;
  • страницы пагинации — через них робот находит товары и статьи;
  • страницы, которые вы хотите удалить из индекса (об этом ниже).

Перед тем как что-то закрыть, задайте вопрос: может ли кто-то найти эту страницу в поиске и получить от неё пользу? Если да — закрывать не нужно.

Robots.txt не удаляет страницы из индекса

Это самое частое заблуждение. Директива Disallow запрещает роботу сканировать страницу, но не гарантирует её исключение из индекса. Если на закрытую страницу ведут ссылки, Google может показать её в выдаче без описания — с пометкой, что информация недоступна.

Более того, если страница закрыта в robots.txt, робот не увидит на ней метатег noindex или атрибут canonical. Получается парадокс: вы закрыли страницу и добавили noindex, а она продолжает висеть в индексе, потому что робот не может прочитать запрет.

Правильный порядок, если страницу нужно убрать из поиска:

  1. Оставьте страницу открытой для сканирования в robots.txt.
  2. Добавьте на неё метатег robots со значением noindex или отдайте соответствующий HTTP-заголовок.
  3. Дождитесь, пока робот переобойдёт страницу и исключит её из индекса.
  4. Только после этого при необходимости закройте раздел в robots.txt, чтобы не тратить ресурсы на сканирование.

Для ускорения можно воспользоваться инструментами удаления адресов в Яндекс Вебмастере и Google Search Console, но это временная мера, если запрет не прописан на самой странице.

Типичные ошибки в robots.txt

  • Полный запрет после разработки. Строка «Disallow: /» для всех роботов остаётся с тестового сервера — и сайт целиком выпадает из поиска. Встречается гораздо чаще, чем кажется.
  • Закрытые стили и скрипты. Поисковик не может корректно отрисовать страницу и считает её неудобной для мобильных.
  • Опечатки в путях. Пропущенный слеш, лишний пробел, неправильный регистр — и правило работает не так, как задумано.
  • Слишком широкие правила. «Disallow: /catalog» закроет не только раздел /catalog/, но и все адреса, начинающиеся с этих символов, например /catalog-new/.
  • Противоречия с sitemap. В карте сайта указаны страницы, которые запрещены в robots.txt.
  • Устаревшие директивы. Например, Host и Crawl-delay Яндекс больше не учитывает: главное зеркало определяется редиректами, а нагрузку робота можно регулировать в Вебмастере.
  • Один файл для нескольких поддоменов. Каждый поддомен должен иметь свой robots.txt.

Проверить файл можно в Яндекс Вебмастере, где есть анализатор robots.txt, и в Google Search Console. Там же можно проверить, разрешён ли конкретный адрес.

Как устроен sitemap.xml

Карта сайта — это XML-файл со списком адресов. Для каждого адреса указывается тег loc с полным URL, а также необязательные теги: lastmod (дата последнего изменения), changefreq (частота изменений) и priority (приоритет).

На практике важен прежде всего loc. Тег lastmod полезен, если он честно отражает реальное изменение содержимого страницы, — Google его учитывает при правильном заполнении. А changefreq и priority поисковики практически игнорируют, поэтому тратить силы на их настройку не стоит.

Ограничения формата: один файл может содержать до 50 тысяч адресов и весить не более 50 МБ в несжатом виде. Если адресов больше, создаётся несколько файлов карты и индексный файл sitemap, который их объединяет. Удобно разделять карты по типам страниц: категории, товары, статьи. Тогда в панелях вебмастеров видно, как индексируется каждый тип.

Что включать в sitemap.xml

Главное правило — в карту сайта попадают только те страницы, которые вы хотите видеть в индексе.

  • Только адреса с кодом ответа 200.
  • Только канонические версии страниц — без дублей, без адресов с параметрами.
  • Без страниц с noindex.
  • Без адресов, закрытых в robots.txt.
  • Без редиректов и удалённых страниц.
  • С тем же протоколом и вариантом домена, что и основное зеркало.

Если карта содержит много мусора, поисковики начинают меньше ей доверять. Чистая карта, в которой каждый адрес — полезная индексируемая страница, работает гораздо лучше.

Изображения и видео можно описать в отдельных картах или с помощью расширений формата — это помогает в поиске по картинкам и видео.

Генерация и обновление карты сайта

Вручную поддерживать карту сайта имеет смысл только на очень маленьких ресурсах. В остальных случаях её генерирует CMS или отдельный модуль.

  • В WordPress карта создаётся встроенными средствами или SEO-плагинами.
  • В 1С-Битрикс есть стандартный модуль генерации карты с настройкой разделов.
  • В Tilda карта формируется автоматически.
  • Для самописных сайтов генерацию нужно предусмотреть на уровне разработки.

Важно, чтобы карта обновлялась автоматически: новые товары и статьи появлялись в ней сразу, удалённые — исчезали. Статичная карта, собранная однажды и забытая, со временем превращается в источник ошибок.

После создания карты укажите её адрес в robots.txt директивой Sitemap и добавьте в Яндекс Вебмастер и Google Search Console. Там же отслеживайте статус обработки и ошибки.

Как проверить, что всё настроено правильно

Небольшой чек-лист, который мы в КомРА проходим при каждом аудите.

  1. Файл robots.txt доступен по адресу в корне и отдаёт код 200.
  2. В нём нет полного запрета для всех роботов.
  3. Стили, скрипты и изображения открыты.
  4. Служебные разделы, корзина, поиск и бесполезные параметры закрыты.
  5. Указана карта сайта.
  6. Sitemap.xml доступен, валиден, обновляется автоматически.
  7. В карте только канонические страницы с кодом 200 без noindex.
  8. Нет противоречий: ни один адрес из карты не закрыт в robots.txt.
  9. Количество адресов в карте сопоставимо с числом полезных страниц сайта.
  10. В панелях вебмастеров нет ошибок обработки файлов.

Коротко о главном

Robots.txt управляет сканированием: он закрывает от роботов служебные и бесполезные страницы, экономя их ресурсы. Но он не удаляет страницы из индекса — для этого нужен метатег noindex на самой странице. Самые опасные ошибки — полный запрет индексации, закрытые стили и скрипты и слишком широкие правила.

Sitemap.xml подсказывает роботу, какие страницы важны. В неё должны попадать только канонические индексируемые страницы с кодом 200, а сама карта должна обновляться автоматически. Оба файла проверяются в Яндекс Вебмастере и Google Search Console, и делать это стоит после каждого серьёзного изменения на сайте.

‹ Технический SEO-аудит: что проверять в первую очередьКак писать SEO-тексты, которые читают люди ›

Ещё по теме «SEO-продвижение»

Другие материалы этой рубрики

SEO-ПРОДВИЖЕНИЕ
SEO-продвижение

Санкции поисковых систем: за что можно получить фильтр

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

Чтение ≈ 7 мин · Читать статью
Обсудим ваш проект

Напишите нам — подготовим план и оценку

Расскажите о задаче в двух словах: что продаёте, есть ли сайт, какой нужен результат. Мы изучим нишу и конкурентов, предложим решение и назовём стоимость по этапам. Консультация и предварительная оценка — бесплатно.

  • Ответ в течение рабочего дня
  • Договор и оплата по этапам
  • Отчёты понятным языком

Или пишите напрямую: [email protected]

Нажимая кнопку «Оставить заявку», вы подтверждаете согласие с политикой конфиденциальности. Ответим в течение рабочего дня.

Спасибо! Заявка отправлена — мы свяжемся с вами по e-mail.