robots.txt и sitemap.xml решают разные задачи. Первый задаёт поисковым роботам правила обхода сайта, второй помогает обнаруживать важные URL и сообщает, какие страницы владелец сайта считает предпочтительными для индексации.
Ошибки в настройках могут привести к тому, что робот будет тратить ресурсы на ненужные URL или не сможет получить доступ к важным страницам. При этом ни один из файлов сам по себе не гарантирует попадание страницы в поиск или её исключение из индекса.
1. Что такое robots.txt и зачем он нужен
robots.txt — текстовый файл в корне сайта, который содержит инструкции для поисковых роботов. С его помощью можно ограничивать обход отдельных разделов и URL, например технических страниц или некоторых параметрических адресов.
Файл должен открываться по адресу:
https://example.com/robots.txt
Для корректной работы важно соблюдать несколько условий.
-
Файл размещается в корневом каталоге сайта.
-
Используется кодировка UTF-8.
-
Сервер возвращает корректный HTTP-ответ.
-
Правила проверяются отдельно для каждого нужного хоста, поддомена и протокола.
Например, https://example.com/robots.txt и https://shop.example.com/robots.txt — разные файлы. Настройки одного адреса не заменяют настройки другого.
Пример robots.txt
User-agent: *
Disallow: /admin/
Disallow: /cart/
Disallow: /search/
Sitemap: https://example.com/sitemap.xml
В этом примере правила адресованы всем роботам. Они запрещают обход указанных путей, а директива Sitemap сообщает расположение карты сайта.
Важно: такие запреты подходят не для любого проекта. Перед закрытием корзины, поиска или других разделов нужно оценить, какие URL доступны пользователям и поисковикам и есть ли у них SEO-ценность.
Какие директивы используются в robots.txt
|
Директива |
Назначение |
На что обратить внимание |
|---|---|---|
|
User-agent |
Выбирает робота, к которому относятся правила |
* означает всех роботов, поддерживающих стандарт |
|
Disallow |
Запрещает обход соответствующих URL |
Не гарантирует исключение URL из поисковой выдачи |
|
Allow |
Разрешает обход URL, в том числе в некоторых случаях внутри запрещённого раздела |
Поддержка и обработка правил могут различаться у роботов |
|
Sitemap |
Указывает путь к карте сайта |
Можно указать несколько файлов sitemap |
|
Clean-param |
Помогает Яндексу учитывать параметры URL при обходе и обработке страниц |
Это специфичная для Яндекса директива |
Нужно ли закрывать технические страницы
Решение зависит от назначения URL, его доступности и влияния на поисковую индексацию. Не стоит добавлять все технически похожие адреса в Disallow без проверки.
Например.
-
Административная часть. Можно ограничить её обход, но конфиденциальность необходимо обеспечивать авторизацией и контролем доступа. robots.txt не является средством защиты данных.
-
Корзина и оформление заказа. Обычно это не целевые посадочные страницы для поиска. Однако сначала нужно проверить, какие адреса создаёт сайт и есть ли причины ограничивать их обход.
-
Внутренний поиск. Страницы с результатами поиска по сайту часто не представляют самостоятельной SEO-ценности. Правила следует выбирать с учётом структуры URL.
-
Сортировки и фильтры. Параметры могут создавать большое количество похожих адресов. Но некоторые фильтры формируют полезные посадочные страницы, поэтому закрывать их все одним правилом рискованно.
Например, правило Disallow: /*?sort= может ограничить обход URL с параметром сортировки, если конкретный робот поддерживает такую обработку шаблонов. Но сначала нужно проверить, как сайт формирует адреса: параметр может стоять в другой части URL, а нужные страницы могут использовать другие параметры.
Важно: robots.txt управляет обходом, а не гарантирует исключение страниц из поиска. Если URL закрыт от обхода, поисковик в некоторых случаях всё равно может показать его в результатах — например, если на него ведут внешние или внутренние ссылки.
2. Чем Disallow отличается от noindex
Disallow и noindex решают разные задачи.
Disallow ограничивает доступ поискового робота к URL при обходе.
noindex сообщает роботу, что страницу не нужно включать в поисковый индекс, если робот может прочитать эту инструкцию.
Если нужно исключить страницу из поиска с помощью noindex, не блокируйте её обход через robots.txt: иначе поисковый робот может не увидеть директиву.
Как выбрать подходящий способ
|
Задача |
Что рассмотреть |
Важное ограничение |
|---|---|---|
|
Ограничить обход большого количества ненужных URL |
Disallow |
Не гарантирует исключение URL из индекса |
|
Исключить доступную страницу из индекса |
noindex в meta robots или HTTP-заголовке X-Robots-Tag |
Робот должен иметь возможность получить инструкцию |
|
Защитить закрытые данные |
Авторизация, разграничение прав доступа |
Запрет в robots.txt не обеспечивает защиту |
|
Указать предпочтительную версию страницы |
rel="canonical" и согласованная внутренняя перелинковка |
Это сигнал поисковику, а не абсолютная гарантия выбора URL |
Не следует использовать robots.txt как замену noindex или canonical. Если задача заключается именно в управлении индексацией, выбирайте инструмент, соответствующий этой задаче.
3. Что такое sitemap.xml
sitemap.xml — XML-файл со списком URL, которые владелец сайта считает важными для обнаружения поисковыми системами. Карта сайта помогает роботам находить нужные страницы, в том числе те, до которых сложно добраться по внутренним ссылкам.
Обычно карта размещается по адресу:
https://example.com/sitemap.xml
Пример простого файла:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://example.com/</loc>
</url>
<url>
<loc>https://example.com/catalog/</loc>
</url>
<url>
<loc>https://example.com/catalog/product-1/</loc>
</url>
</urlset>
Элементы <loc> содержат адреса страниц. При необходимости можно использовать и другие поля, например <lastmod> для даты последнего значимого изменения страницы.
При этом карта сайта — рекомендация для поисковой системы, а не приказ проиндексировать каждый URL. Наличие страницы в sitemap не гарантирует её обход или появление в поисковой выдаче.
Какие URL включать в sitemap.xml
В карту сайта следует добавлять важные страницы, которые должны быть доступны поисковым системам и которые владелец сайта считает предпочтительными для индексации.
Как правило, стоит включать.
-
Главную страницу.
-
Категории и подкатегории.
-
Карточки товаров или услуг.
-
Полезные статьи и другие значимые материалы.
-
Канонические версии страниц.
Обычно не нужно включать в sitemap адреса корзины, внутреннего поиска, служебных разделов, а также URL с сортировками, случайными параметрами и дублями. Исключения возможны, если конкретный тип страницы действительно предназначен для поискового трафика.
Проверьте согласованность сигналов: страницы в карте сайта должны отвечать корректно, не быть закрытыми от обхода и не указывать на другую страницу в качестве канонической версии без обоснованной причины.
Что делать с большим сайтом
Для крупных интернет-магазинов и порталов удобно разбивать карту сайта на несколько файлов. Например, можно создать отдельные карты для товаров, категорий и статей, а затем объединить их через индексный файл sitemap.
Стандартные ограничения для одного файла sitemap — до 50 000 URL или 50 МБ в несжатом виде. Если сайт превышает эти пределы, карты нужно разделить и при необходимости создать индекс sitemap.
Поля <changefreq> и <priority> предусмотрены форматом sitemap, но не стоит рассчитывать, что Google будет использовать их для определения частоты обхода или приоритета URL. Для Google эти поля игнорируются. Дату <lastmod> указывайте только тогда, когда она отражает реальное существенное изменение страницы.
4. Как связать robots.txt и sitemap.xml
Файлы работают эффективнее, когда их настройки не противоречат друг другу.
В robots.txt можно указать расположение карты сайта:
User-agent: *
Disallow: /admin/
Disallow: /search/
Sitemap: https://example.com/sitemap.xml
Если карт несколько, можно добавить несколько директив Sitemap:
Sitemap: https://example.com/sitemap-products.xml
Sitemap: https://example.com/sitemap-categories.xml
Sitemap: https://example.com/sitemap-articles.xml
Также карты сайта можно отправлять через инструменты веб-мастера — Google Search Console и Яндекс Вебмастер. Для Google при использовании нескольких хостов учитывайте требования к подтверждению сайтов и доступности URL; не следует предполагать, что любая карта сайта автоматически подходит для любого домена.
Практическое правило: не включайте в sitemap страницы, которые намеренно закрыты от обхода, исключены из индекса или являются дублями других URL. Если важная страница оказалась в Disallow, сначала пересмотрите правила robots.txt, а не пытайтесь компенсировать запрет добавлением URL в карту сайта.
5. Пошаговая проверка robots.txt и sitemap.xml
Проверяем robots.txt
-
Откройте https://example.com/robots.txt и убедитесь, что файл доступен и содержит актуальные правила.
-
Проверьте, что важные категории, товары, услуги и статьи не попали под запрет обхода.
-
Изучите правила для параметров URL, фильтров и пагинации. Не закрывайте их массово без анализа спроса, структуры сайта и выбранной стратегии индексации.
-
Проверьте правила отдельно для Googlebot, Яндекса и других необходимых роботов, если для них заданы разные группы User-agent.
-
После изменений протестируйте доступность важных URL с помощью инструментов соответствующих поисковых систем и повторно проверьте файл после публикации.
Проверяем sitemap.xml
-
Убедитесь, что XML-файл открывается и содержит корректный список URL.
-
Проверьте, что в карте находятся нужные канонические страницы, а не параметры сортировки, дубли и случайные адреса.
-
Удалите URL, которые возвращают ошибки, перенаправляют на другие адреса или закрыты от индексации, если для них нет обоснованного исключения.
-
Для большого сайта проверьте индекс sitemap, число URL в каждом файле и общий размер.
-
Отправьте карту сайта в Google Search Console и Яндекс Вебмастер, затем отслеживайте сообщения об ошибках и состояние обнаруженных страниц.
6. Типичные ошибки при настройке
-
Считать Disallow запретом на индексацию. Это правило обхода, а не гарантированный способ скрыть URL из поиска.
-
Закрывать все фильтры и параметры. Среди них могут быть страницы с самостоятельной ценностью для органического трафика.
-
Добавлять в sitemap все адреса сайта. Карта должна помогать находить важные URL, а не дублировать технический мусор.
-
Использовать noindex на странице, закрытой через robots.txt. Робот может не прочитать директиву noindex.
-
Считать отправку sitemap гарантией индексации. Поисковая система сама решает, какие URL обходить и включать в результаты.
-
Использовать robots.txt для защиты личных данных. Для этого нужны технические механизмы контроля доступа.
Итог
robots.txt помогает управлять обходом сайта, а sitemap.xml сообщает поисковым системам о важных URL. Эти файлы не заменяют друг друга и не гарантируют индексацию или исключение страницы из поиска.
Для стабильной SEO-работы важно согласовать правила обхода, карту сайта, канонические адреса и директивы индексации. После изменений проверяйте настройки в Google Search Console и Яндекс Вебмастере: это позволит выявить ошибки до того, как они повлияют на обнаружение и обработку важных страниц.
