SEO

robots.txt, sitemap.xml и редиректы: техническая база индексации

Три файла и одна настройка сервера решают, какие страницы поисковик увидит, а какие пропустит. Разбираю robots.txt, sitemap.xml, meta robots и 301-редиректы так, как проверяю их сам перед запуском сайта. С примерами кода и честно о том, чего нельзя сделать на конструкторах.

Коротко. Связка robots txt и sitemap управляет обходом: robots.txt говорит роботу, куда не ходить, sitemap.xml показывает, какие страницы важны. Чтобы страница не попала в выдачу, нужен meta robots noindex, а не только Disallow. Чтобы старый адрес не превратился в ошибку, нужен 301-редирект на новый. На конструкторах часть этого недоступна: на моём тарифе Тильды 301-редиректов нет, поэтому адреса там надо продумывать до запуска.

Как поисковик обходит сайт: где помогают robots txt и sitemap

Робот Яндекса или Google приходит на сайт, первым делом запрашивает файл robots.txt, потом идёт по ссылкам и по адресам из sitemap.xml. Каждую страницу он скачивает, смотрит код ответа сервера, мета-теги и решает, добавлять её в индекс или нет.

Спотыкается робот в предсказуемых местах:

  • robots.txt закрывает то, что закрывать не надо: весь сайт, папку с картинками, страницы каталога.
  • Одна страница открывается по нескольким адресам: с www и без, http и https, со слешем и без.
  • Страницы есть, но на них нет ссылок, и в sitemap их тоже нет.
  • Старые адреса после переделки сайта отдают 404 вместо редиректа.
  • На рабочем сайте забыли снять noindex, который ставили на время разработки.

Из практики. Самая частая ошибка, которую я нахожу на запуске: разработчик закрыл тестовую версию от индексации, а при переносе на домен запрет переехал вместе с сайтом. Сайт работает, реклама крутится, а в поиске его нет. Проверка занимает минуту, поэтому я делаю её первой.

Смотреть, как робот видит сайт, удобнее всего в Яндекс Вебмастере и Google Search Console. Как пользоваться отчётами Вебмастера, я разбирал в отдельной статье про Яндекс Вебмастер.

robots.txt: синтаксис, Disallow, Allow, Sitemap

Что такое robots txt и для чего он нужен: это текстовый файл в корне сайта с правилами для поисковых роботов. Он лежит строго по адресу `site.ru/robots.txt`, в кодировке UTF-8, и должен отдавать код 200. Файл управляет обходом, то есть тем, какие адреса робот будет запрашивать.

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

ДирективаЧто делаетКто понимает
User-agentДля какого робота группа правил, * значит для всехЯндекс и Google
DisallowЗапрещает обход адресов, начинающихся с указанного путиЯндекс и Google
AllowРазрешает обход, используется как исключение из DisallowЯндекс и Google
SitemapПолный адрес файла sitemap.xmlЯндекс и Google
Clean-paramКакие параметры адреса не влияют на содержание страницыТолько Яндекс

В путях работают два спецсимвола: `*` означает любую последовательность символов, `$` означает конец адреса. Когда Allow и Disallow конфликтуют, применяется правило с более длинным путём, а при равной длине побеждает Allow.

Пример robots.txt для обычного сайта

``` User-agent: Disallow: /admin/ Disallow: /cart/ Disallow: /search Disallow: /?sort= Allow: /admin/images/

User-agent: Yandex Disallow: /admin/ Disallow: /cart/ Disallow: /search Clean-param: utm_source&utm_medium&utm_campaign&utm_content&utm_term

Sitemap: https://site.ru/sitemap.xml ```

Робот выбирает одну группу, самую точную для себя. Если есть группа `User-agent: Yandex`, Яндекс читает только её и игнорирует группу со звёздочкой. Поэтому общие запреты приходится дублировать, это частая ловушка.

Как запретить индексацию страницы в robots txt

Строго говоря, robots.txt запрещает не индексацию, а обход. Чтобы робот не заходил на страницу, достаточно строки с её путём:

``` User-agent: * Disallow: /stranica-dlya-svoih$ ```

Знак `$` нужен, чтобы не закрыть заодно все адреса, которые начинаются так же. Но если страница уже в индексе или на неё ведут внешние ссылки, одного Disallow мало, про это ниже в разделе о noindex.

Частые ошибки

  1. `Disallow: /` в группе для всех роботов. Это запрет на весь сайт.
  2. Правила без строки User-agent над ними: робот не понимает, к кому они относятся.
  3. Закрыты CSS и JS. Поисковик не может отрисовать страницу и хуже понимает её содержание.
  4. Относительный адрес в Sitemap. Нужен полный адрес с протоколом и доменом.
  5. Директивы Host и Crawl-delay. Яндекс их больше не учитывает, главное зеркало задаётся редиректом, а скорость обхода настраивается в Вебмастере. Google эти директивы не поддерживал никогда.
  6. Файл отдаёт ошибку сервера. Google при ошибке 5xx на robots.txt временно считает, что обход всего сайта запрещён.

Создать robots txt можно в любом текстовом редакторе: сохраните файл под именем robots.txt и загрузите в корень сайта. Проверить синтаксис удобно в анализаторе robots.txt в Яндекс Вебмастере.

Динамика запросов сайта в топ-10 по данным Яндекс Вебмастера
Динамика запросов сайта в топ-10 по данным Яндекс Вебмастера

robots.txt на Тильде и других конструкторах

На конструкторах robots.txt и sitemap.xml обычно генерируются автоматически. Это удобно, но вы не всегда можете написать туда свои правила.

Что нужноТильдаЧто делаю, если нельзя
Свой robots.txtФайл Тильда собирает сама, вручную его не редактируютЗакрываю страницы через настройку индексации в настройках страницы
Закрыть одну страницуЕсть галочка запрета индексации в настройках страницы, после публикации адрес уезжает в Disallow автоматическиMeta robots через HTML-вставку в head, если платформа разрешает
Sitemap.xmlФормируется автоматическиПроверяю, что в нём нет лишних страниц
301-редиректНа моём тарифе нетНе меняю адреса опубликованных страниц

По robots txt tilda и остальным настройкам конструктора под поиск есть подробная статья про SEO на Тильде. Главное, что стоит проверить после публикации: открыть `ваш-домен/robots.txt` и `ваш-домен/sitemap.xml` и убедиться, что сайт не закрыт целиком и в карте сайта лежат нужные страницы.

Meta robots и X-Robots-Tag: index, noindex, follow, nofollow

Meta robots это тег в блоке head конкретной страницы. Он управляет индексацией: показывать ли страницу в поиске и учитывать ли ссылки с неё.

``` <meta name="robots" content="noindex, follow"> ```

Все сочетания

Значение contentИндексировать страницуУчитывать ссылкиКогда применяю
index, followДаДаТо же, что без тега, отдельно писать не нужно
noindex, followНетДаСтраницы фильтров, пагинации, служебные страницы со ссылками на каталог
index, nofollowДаНетРедко, например страница со ссылками, за которые я не ручаюсь
noindex, nofollowНетНетСпасибо-страницы, личный кабинет, тестовые страницы

Вместо `noindex, nofollow` можно написать `none`, вместо `index, follow` значение `all`, смысл тот же. Если нужно правило только для одного поисковика, вместо robots в name пишут имя робота, например yandex или googlebot.

Атрибут title в теге ссылки или картинки к meta robots отношения не имеет: это всплывающая подсказка для человека, на индексацию он не влияет. Его путают с тегом title страницы, а это заголовок, который показывается в выдаче.

X-Robots-Tag

X-Robots-Tag делает то же самое, но через HTTP-заголовок ответа сервера. Он нужен там, где в документ нельзя вставить мета-тег: PDF, картинки, документы Word. Пример для Apache с модулем mod_headers:

``` <FilesMatch "\.pdf$"> Header set X-Robots-Tag "noindex, nofollow" </FilesMatch> ```

Проверить, какие заголовки отдаёт страница, можно в Вебмастере в проверке ответа сервера или в инструментах разработчика браузера на вкладке сети.

Чем noindex отличается от Disallow и когда что применять

Это главное место, где путаются. Disallow в robots.txt запрещает роботу заходить на страницу. Noindex разрешает зайти, но запрещает показывать страницу в поиске.

Отсюда ловушка: если закрыть страницу в robots.txt и одновременно поставить на неё noindex, робот не зайдёт и тег не увидит. Google в такой ситуации может оставить адрес в индексе без описания, если на него есть ссылки. Поэтому чтобы убрать страницу из выдачи, я открываю её для обхода и ставлю noindex, а Disallow добавляю только после того, как она выпала из индекса, и то не всегда.

ЗадачаЧто использовать
Страница не должна быть в поискеmeta robots noindex
Не тратить обход на тысячи мусорных адресовDisallow в robots.txt
Дубли с метками и параметрамиCanonical, для Яндекса дополнительно Clean-param
Страница переехала301-редирект
Закрыть PDF или картинкиX-Robots-Tag
Закрыть тестовую версию сайта целикомПароль на уровне сервера, а не только robots.txt

sitemap.xml: как создать, что включать, как отдать поисковику

Sitemap.xml это список адресов, которые вы хотите видеть в индексе. Он не заставляет поисковик индексировать страницы, но помогает найти их быстрее, особенно новые и глубокие.

Как выглядит файл

``` <?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc>https://site.ru/</loc> <lastmod>2026-09-15</lastmod> </url> <url> <loc>https://site.ru/uslugi/remont-kvartir</loc> <lastmod>2026-09-10</lastmod> </url> </urlset> ```

В одном файле допускается до 50 000 адресов и до 50 МБ в несжатом виде. Если адресов больше, делают несколько файлов и файл-индекс, который на них ссылается. Google говорит, что игнорирует теги priority и changefreq, а lastmod учитывает, если дата честная.

Что включать и что нет

  • Включать: страницы, которые отдают код 200, открыты для индексации и являются каноническими.
  • Не включать: адреса с редиректом, страницы с noindex, закрытые в robots.txt, дубли с параметрами, страницы 404.

Как создать файл sitemap для сайта

На CMS и конструкторах sitemap обычно формируется сам или ставится плагином. Для самописного сайта его генерирует разработчик, чтобы файл обновлялся при добавлении страниц. Для разовой задачи подойдёт краулер, который обойдёт сайт и выгрузит список адресов в формате sitemap. Создать sitemap вручную имеет смысл только для сайта на 5-10 страниц, который почти не меняется.

Отдать карту сайта поисковику можно двумя способами: строкой Sitemap в robots.txt и добавлением файла в Яндекс Вебмастер и Google Search Console. Я делаю оба.

Как ускорить индексацию сайта

Честно: гарантированных сроков индексации не называет ни Яндекс, ни Google. Но есть вещи, которые реально помогают, и вещи, которые только создают видимость работы.

Что реально ускоряет

  1. Отправка страницы на переобход в Яндекс Вебмастере. У инструмента есть суточный лимит адресов, остаток Вебмастер показывает прямо под формой, поэтому отправляю новые и изменённые важные страницы, а не весь сайт.
  2. Запрос индексации через проверку URL в Google Search Console. Там тоже есть квота, частые повторные запросы не помогают.
  3. Протокол IndexNow: сайт сам сообщает об изменённых адресах. Его поддерживает Яндекс, Google не поддерживает.
  4. Ссылки на новую страницу с уже проиндексированных страниц сайта: с главной, из меню, из свежих статей.
  5. Актуальный sitemap с честным lastmod.
  6. Быстрый ответ сервера. Если сайт медленный, робот обходит меньше страниц за визит, подробнее в статье про скорость загрузки сайта.

Что не ускоряет

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

Удаление страницы из поиска: способы и сроки

Удалить страницу из поиска можно, только если сначала убрать её с сайта или закрыть. Сам по себе запрос на удаление без этого не сработает.

Порядок действий

  1. Сделать так, чтобы страница отдавала 404 или 410, либо поставить на неё meta robots noindex. Если у страницы есть замена, поставить 301-редирект на неё.
  2. Для Яндекса: в Вебмастере есть инструмент удаления страниц из поиска, туда вносится адрес. Так работает запрос яндекс вебмастер удалить страницу из поиска. Страница пропадает из выдачи не мгновенно: роботу нужно заново обойти адрес и увидеть запрет или код 404.
  3. Для Google: инструмент удалений в Search Console скрывает адрес из выдачи примерно на полгода. Это временная мера, постоянное удаление обеспечивает шаг 1.
  4. Проверить через несколько дней поиском по точному адресу.

301-редирект: что это, где настраивается, .htaccess

Что такое редирект: автоматическая переадресация с одного адреса на другой. Сервер отвечает не страницей, а кодом редиректа и новым адресом, и браузер сразу идёт туда.

Коды редиректа

КодНазваниеКогда использовать
301Moved PermanentlyСтраница переехала навсегда: смена адреса, домена, переход на https
302FoundВременная переадресация, старый адрес вернётся
307Temporary RedirectВременная, с сохранением метода запроса
308Permanent RedirectПостоянная, с сохранением метода запроса

Что такое 301 редирект с точки зрения SEO: сигнал поисковику, что основным теперь считается новый адрес и накопленные сигналы старой страницы надо перенести на него. 302 такого сигнала не даёт, поэтому для переездов я использую только 301.

Примеры для .htaccess

Настраивается редирект в .htaccess на Apache, в конфигурации nginx, в панели хостинга или CMS, на конструкторе в его настройках, если они есть.

301 редирект htaccess с одной страницы на другую:

``` Redirect 301 /old-page https://site.ru/new-page ```

Редирект с http на https для всего сайта:

``` RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L] ```

301 редирект htaccess с одного домена на другой, с сохранением путей:

``` RewriteEngine On RewriteCond %{HTTP_HOST} ^(www\.)?old-site\.ru$ [NC] RewriteRule ^(.*)$ https://new-site.ru/$1 [R=301,L] ```

Для nginx переход на https делается в блоке server для порта 80 строкой `return 301 https://$host$request_uri;`. При переезде на новый домен в Яндекс Вебмастере стоит отдельно сообщить о переезде сайта.

Почему не работает 301 редирект в htaccess

  1. Сервер работает на nginx без Apache, и .htaccess он просто не читает.
  2. Модуль mod_rewrite выключен или хостинг запрещает переопределять настройки через .htaccess.
  3. Файл лежит не в корне сайта или назван с ошибкой.
  4. Выше стоит правило, которое срабатывает раньше: порядок правил важен.
  5. Сайт за прокси или CDN, и проверка `%{HTTPS}` всегда видит off. Получается бесконечный цикл редиректов: за прокси признак защищённого соединения приходит в заголовке, и условие надо писать под свой хостинг.
  6. Браузер запомнил старый 301. Проверяйте в режиме инкогнито или сервисом проверки ответа сервера.

Когда редирект не нужен и чем его заменить

Редирект не нужен, если страница удалена насовсем и ей нет замены: пусть отдаёт 404 или 410. Не нужен редирект всех удалённых страниц на главную: поисковики часто считают такое ошибкой 404, а человек не понимает, почему попал не туда. Не нужны цепочки из нескольких редиректов подряд: я всегда веду старый адрес сразу на конечный.

Если редиректов нет вообще

На конструкторах это обычная ситуация. На моём тарифе Тильды 301-редиректов нет, и я работаю по таким правилам:

  1. Адреса страниц продумываю до публикации и больше не меняю.
  2. Если страницу нужно переделать, меняю содержимое по старому адресу, а не создаю новую.
  3. Если две страницы дублируют друг друга, на второстепенной ставлю canonical на основную.
  4. Если страница больше не нужна, снимаю её с публикации и убираю все ссылки на неё с сайта.
  5. Редирект с http на https и выбор версии с www или без проверяю в настройках домена на стороне конструктора и хостинга.

Предупреждение. Редирект через JavaScript или meta refresh иногда предлагают как замену. Для человека он работает, но как поисковики учитывают такой переход, зависит от реализации: робот должен сначала выполнить скрипт, а это не гарантировано. Для важных страниц я на это не полагаюсь.

Чек-лист технической проверки перед запуском

Этот список я прохожу перед запуском любого сайта. Полную проверку со структурой, контентом и ссылками делаю в рамках SEO-аудита.

Что проверитьКак
Сайт не закрыт от индексацииОткрыть /robots.txt, найти Disallow: /, проверить meta robots на главной
Одно главное зеркалоВерсии http, https, с www и без ведут 301 на одну
robots.txt отдаёт 200Проверка ответа сервера в Вебмастере
В robots.txt есть строка SitemapПолный адрес файла
Sitemap без мусораТолько канонические страницы с кодом 200
Нет noindex на рабочих страницахВыборочно в коде или краулером
Страница 404 отдаёт код 404Открыть несуществующий адрес и проверить ответ
Старые адреса ведут на новыеСписок старых адресов прогнать через проверку ответа
Сайт добавлен в Вебмастер и Search ConsoleПрава подтверждены, sitemap отправлен

Если все строки закрыты, техническая часть связки robots txt и sitemap не будет мешать продвижению. Дальше работают контент и структура, про них в статье о SEO-оптимизации.

FAQ

Что такое robots.txt и для чего он нужен?

Это текстовый файл в корне сайта с правилами для поисковых роботов: какие разделы можно обходить, какие нельзя и где лежит sitemap. Он экономит обход на служебных страницах и дублях. Для удаления страниц из поиска его одного недостаточно, для этого нужен noindex.

Как закрыть страницу от индексации?

Поставить в head страницы тег `<meta name="robots" content="noindex">`, для файлов без HTML использовать заголовок X-Robots-Tag. Страница при этом должна оставаться открытой в robots.txt, иначе робот не увидит запрет. На конструкторах для этого обычно есть галочка в настройках страницы.

Чем 301 отличается от 302?

301 означает постоянный переезд: поисковик заменяет старый адрес новым и переносит на него сигналы. 302 означает временную переадресацию, и поисковик может оставить в индексе старый адрес. Для смены адресов, домена и перехода на https нужен 301.

Как сделать редирект с http на https?

На Apache добавить в .htaccess правило с RewriteCond %{HTTPS} off и RewriteRule с флагом R=301, пример выше в статье. На nginx прописать return 301 в блоке server для порта 80. На хостингах и конструкторах часто есть отдельная настройка, её стоит поискать до правки файлов.

Можно ли поставить 301-редирект на Тильде?

На моём тарифе Тильды 301-редиректов нет, поэтому я закладываю адреса до публикации и не меняю их у живых страниц. Есть ли редиректы на других тарифах, лучше проверить в актуальной документации конструктора: набор возможностей у тарифов разный. Если сменить адрес всё же пришлось, помогают canonical и замена всех внутренних ссылок.

Как удалить страницу из поиска Яндекса?

Сначала сделать так, чтобы страница отдавала 404 или 410 либо имела noindex. Потом внести адрес в инструмент удаления страниц из поиска в Яндекс Вебмастере. Без первого шага запрос на удаление не сработает.

Нужен ли sitemap маленькому сайту?

Если на сайте 5-10 страниц и все связаны меню, поисковик найдёт их и без карты сайта. Но sitemap не вредит, а на конструкторах и CMS появляется сам, поэтому я всё равно добавляю его в Вебмастер. Для сайтов с каталогом и блогом он нужен обязательно.

Как быстро страница попадает в индекс?

Точных сроков поисковики не называют, на практике это может быть от нескольких дней до нескольких недель. Ускоряют процесс переобход в Вебмастере, запрос индексации в Search Console, ссылки с уже проиндексированных страниц и актуальный sitemap. Если страница не попадает в индекс месяцами, нужно искать причину, а не отправлять её повторно.

Бесплатно · 60 минут

Проверю техническую базу сайта перед запуском и после переезда

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

  • Разбор robots.txt и meta robots
  • Проверка sitemap.xml и индексации в Вебмастере
  • Схема 301-редиректов при переезде и смене адресов
  • Чек-лист запуска нового сайта

Пишите в Telegram @The_nickson или WhatsApp +7 977 549-42-98. Час консультации 5000 ₽.

Обсудить сайт

Разбор бесплатный и ни к чему не обязывает.

Поисковик видит только то, что вы ему разрешили

Пришлите адрес сайта, и я скажу, что мешает его индексации.

Пн-Пт 9:00-19:00 · Москва