robots.txt и sitemap.xml для сайтов в зоне .UZ: что настроить и чего не делать
Два текстовых файла в корне решают, что поисковик увидит и на что потратит краулинговый бюджет. Ошибка в одной строке способна убрать из индекса весь сайт.
Что robots.txt на самом деле делает
robots.txt управляет обходом, а не индексацией. Закрытая директивой Disallow страница может остаться в индексе без сниппета, если на неё есть внешние ссылки — Google прямо это документирует.
Чтобы убрать страницу из индекса, нужен meta name="robots" content="noindex" в HTML или HTTP-заголовок X-Robots-Tag: noindex. При этом страница не должна быть закрыта в robots.txt, иначе робот не сможет прочитать директиву — классическая логическая ловушка.
Практическое следствие: robots.txt используют для экономии краулингового бюджета на служебных разделах, а не как инструмент удаления страниц из выдачи.
Различия Google и Яндекса в директивах
Google поддерживает User-agent, Disallow, Allow, Sitemap и подстановочные символы * и $. Директиву Crawl-delay Google не поддерживает с 2019 года — она игнорируется полностью, скорость обхода регулируется автоматически.
Яндекс поддерживает Clean-param — уникальную и очень полезную директиву. Строка Clean-param: utm_source&utm_medium&sort /catalog/ говорит роботу, что эти параметры не меняют содержимое, и все варианты URL склеиваются в один. Google такую строку просто пропустит без ошибки.
Директива Host, которую раньше писали для указания главного зеркала в Яндексе, устарела и не используется. Зеркало определяется 301-редиректом и rel=canonical.
Рабочий шаблон для коммерческого .uz-сайта
Минимально разумный файл выглядит так: секция User-agent: * с Disallow на /admin/, /cart/, /checkout/, /search/, /*?sort=, /*?page=, затем Allow на статические ресурсы вроде /assets/ и /*.css, потом отдельная секция User-agent: Yandex с теми же правилами плюс Clean-param, и в конце строка Sitemap с полным абсолютным URL.
Никогда не закрывайте /assets/, /static/, папки с CSS и JS от Googlebot. Без них рендерер видит страницу без стилей, mobile-friendly проверка проваливается, а оценка вёрстки уходит в минус. Это одна из самых частых находок при аудитах.
Файл должен отдаваться с кодом 200 и типом text/plain по адресу https://домен.uz/robots.txt. Отдача 404 не блокирует обход, но 5xx на robots.txt Google трактует как временный запрет обхода всего сайта — при долгих сбоях сервера это приводит к выпадению из индекса.
sitemap.xml: что в него класть
В карту сайта включаются только канонические, отдающие 200 и открытые для индексации URL. Наличие в sitemap страницы с noindex или редиректом — не критическая ошибка, но она загрязняет отчёт и мешает диагностике расхождений.
Поле lastmod должно отражать реальную дату последнего содержательного изменения. Если CMS ставит текущую дату всем URL при каждой сборке, поле обесценивается и перестаёт учитываться. Поля changefreq и priority Google игнорирует — их можно не заполнять.
Ограничения формата: не более 50 000 URL и 50 МБ в несжатом виде на один файл. Для магазина на 200 000 карточек делается несколько файлов и индекс карт sitemap-index.xml, ссылающийся на них. Разбивайте по типам сущностей — категории, товары, статьи — так проще смотреть индексацию по разделам.
Многоязычность и карта сайта
Для сайта с русской, узбекской и английской версиями удобно указывать языковые альтернативы прямо в sitemap через xhtml:link rel="alternate" hreflang="...". Это избавляет от необходимости вставлять полный набор тегов в head каждой страницы.
Каждая языковая версия должна ссылаться на все остальные и на саму себя. Асимметричная разметка — самая частая причина, по которой Google игнорирует hreflang целиком и показывает не ту версию.
Значения языка задавайте корректно: ru, uz, en, а при разделении по стране — ru-UZ, uz-UZ. Значение x-default ставится на версию для тех, чей язык не покрыт, обычно на русскую или английскую.
Проверка и типичные аварии
После правки robots.txt проверьте его в Google Search Console — там есть отчёт по robots.txt с датой последнего чтения и обнаруженными ошибками. В Яндекс.Вебмастере аналогичный инструмент позволяет проверить конкретный URL на доступность для обхода.
Авария номер один: выкатка с тестового окружения строки User-agent: * с Disallow: /. Сайт исчезает из выдачи за несколько дней. Добавьте проверку содержимого robots.txt в чек-лист релиза и в мониторинг доступности.
Авария номер два: sitemap с URL на http при работающем https, или с URL другого домена. Google отклоняет такие записи как находящиеся вне области действия карты. Проверяйте абсолютные адреса после каждой смены протокола или домена.