Noindex в Яндексе: что я проверяю в коде страницы

20.10.2026 · 8 мин чтения
Тёмная карточка страницы с коралловой полосой и отдельный знак запрета
Когда нужно убрать из Яндекса всю страницу или только кусок, я сначала разделяю задачу. Документ целиком, абзац и ссылка закрываются по-разному. Старый тег noindex я больше не беру как универсальную обёртку. Он про фрагмент текста. Метатег robots про страницу. Файл robots.txt про обход адреса. Ниже — на что я у старого тега больше не рассчитываю, чем он отличается от двух других способов и что я смотрю в коде, прежде чем решить, что запрет стоит правильно.

На что я больше не рассчитываю

Раньше тегом noindex закрывали всё подряд: абзац, служебный блок, ссылку, иногда целый внутренний раздел. Ожидание было простое — Яндекс не возьмёт то, что внутри. На это я больше не опираюсь. Тег не выключает страницу. Адрес остаётся отдельным документом: на него можно сослаться, его можно открыть, и обёртка вокруг одного абзаца этого не отменяет.
На ссылку расчёта нет совсем. Ссылку внутри старого noindex робот может учесть, и она способна появиться во внешних или внутренних ссылках Вебмастера. Пустая строка в отчёте тоже ничего не доказывает. Показ ссылки не значит, что алгоритм её учитывает. Список ссылок я не использую как экзамен для этого тега.
Сохранённая копия — слабый аргумент. Робот скачивает HTML целиком, и текст внутри noindex в копии может остаться. Это значит только то, что страница была загружена, а не то, что фрагмент пошёл в поиск или адрес из поиска выпал. Директива noarchive убирает из сниппета ссылку на копию и к решению про индекс страницы не относится.
Скрывать ссылку или кусок скриптом я не буду. Если человек видит блок, а робот должен получить пустое место, это уже не настройка индексации. Такой приём я не применяю. Ненужную ссылку убираю из кода или помечаю атрибутом. Ненужный абзац либо не попадает в HTML, либо стоит в noindex с закрытием. Невидимый текст в код я не кладу.

Чем тег отличается от meta robots и robots.txt

Слово noindex стоит в двух местах и значит разное. В метатеге это запрет индексировать текст страницы: в результаты поиска она попадать не должна. В старом элементе это запрет на кусок между открытием и закрытием. В robots.txt этого слова нет. Там Disallow, и он про обход адреса, а не про абзац и не про метатег.
Что закрываюЧто ставлюГде смотрюНа что не рассчитываю
Кусок текстаЭлемент noindex паройВ теле страницыЧто пропадёт вся страница или ссылка
Вся страницаMeta robots noindex или заголовок X-Robots-TagВ head или в ответе сервераЧто сработает, если адрес закрыт в robots.txt
Обход адресаDisallowВ файле robots.txtЧто адрес гарантированно исчезнет из поиска
Ссылкаrel nofollow, ugc или sponsoredНа самой ссылкеЧто строка пропадёт из Вебмастера
Тёмный блок между коралловыми скобками и полоска заголовка с меткой
Скобки вокруг блока — кусок текста. Метка в полоске сверху — запрет на всю страницу.
Метатег и заголовок X-Robots-Tag читаются только на открытой странице. Если тот же URL запрещён в robots.txt, директива не действует. Робот смотрит файл раньше, чем HTML, и до строки в head не доходит. Связка «и Disallow, и noindex» для живой страницы у меня не рабочая. Я оставляю один способ, а не два запрета друг на друге.
У Disallow есть свой предел. Страница, закрытая в файле, может иногда появляться в поиске, если на неё ведут ссылки с других сайтов. Запрет обхода не прячет адрес, о котором Яндекс уже знает. Когда документ должен открываться у человека и не должен быть в выдаче, я не кладу его в Disallow. Ставлю meta noindex и оставляю адрес доступным для робота.
Если страницы на сайте больше нет, логика другая. Тогда уместны код ответа 404, 403 или 410. Для человека со старого адреса удобнее редирект на живую страницу, если ей есть куда вести. Это уже переезд документа, а не запрет индексации. Метатег на адресе, которого нет, я не изображаю.
Небольшой робот рядом с файлом, карточкой страницы и блоком текста
Робот смотрит три разные вещи: файл обхода, шапку страницы и кусок текста.

Что я смотрю в коде страницы

Беру исходник того ответа, который отдаётся роботу, и отдельно заголовки этого ответа. Часть запрета в HTML не видна. Черновик в админке меня не устраивает: на сайте правило может приехать из шаблона, плагина или с сервера.
  1. Ищу meta в head. Строка в теле страницы для меня не считается запретом на документ.
  2. Читаю content: noindex, nofollow, none, noarchive, all, index, follow. none — это noindex вместе с nofollow.
  3. Проверяю, нет ли рядом all или index. Разрешающая директива перекрывает запрет, и страница останется в индексе.
  4. Смотрю пару name robots и name yandex. Яндекс складывает оба указания, а не выбирает одно.
  5. Ищу старый элемент или комментарий noindex и проверяю, что закрывающий тег есть.
  6. Не оставляю вложенные noindex: учитывается разметка только до первого закрытия.
  7. Для ссылки смотрю rel, а не обёртку. nofollow, ugc или sponsored ставлю по смыслу ссылки.
  8. В robots.txt проверяю, что для этого URL нет Disallow, если запрет должен прочитаться из метатега.
  9. В заголовках ответа ищу X-Robots-Tag. Им можно закрыть адрес, у которого в HTML запрета нет.
Для куска текста я сейчас ставлю комментарий, чтобы разметка оставалась валидной: открывающий noindex и закрывающий. Обычный тег тоже допустим, мне важна пара. Если закрытия нет, скрытым считается весь контент страницы, а не один абзац. Так можно случайно убрать из индекса текст, который я как раз хотел оставить. Вложенные теги я не ставлю.
Ссылку в эту пару я не заворачиваю. На самой ссылке ставлю rel: nofollow, если роботу не нужно по ней переходить, ugc для ссылки посетителя, sponsored для рекламной или партнёрской. Значения можно совместить. Это рекомендация, а не стирание. Строка может остаться в Вебмастере, и робот может узнать адрес с другой страницы.
Элемент noscript в справке тоже числится способом убрать кусок из индекса. Для видимого текста я его не использую: у человека с обычным браузером этот текст не показывается. Скриптом видимый блок от робота я не прячу.

Что ставлю, когда нужно убрать страницу

Живая страница, которой не место в поиске, отвечает обычным успехом. В head у неё один понятный meta name robots с content noindex. В robots.txt на этот путь нет Disallow. Если править HTML нельзя, тот же запрет ставлю заголовком X-Robots-Tag. Дублировать оба без нужды не хочу, но если заголовок уже приходит с сервера, я проверяю, что он не спорит с метатегом.
name yandex ставлю, только если запрет нужен именно Яндексу. Старый элемент в теле для этого не годится: остальные роботы его понимать не обязаны. Если рядом уже есть robots с noindex и yandex с nofollow, для Яндекса это оба запрета. Такой набор я либо оставляю сознательно, либо свожу к одной строке.
none в content — это сразу noindex и nofollow. Его ставлю, только если не нужны ни текст страницы в поиске, ни переходы по ссылкам с неё. На служебной странице, где ссылки нормальные, хватает одного noindex. Личные данные и закрытый кабинет одним тегом в теле я не прячу: туда нужна авторизация.
Каноническая ссылка эту задачу не закрывает. Она называет основной адрес среди похожих и не выключает страницу из индекса. Когда мне нужно именно убрать URL, я не ограничиваюсь canonical.
Заявка в Вебмастере, удаление страниц из поиска, ускоряет снятие уже известного адреса. Кнопку без кода я не ставлю вместо запрета. Заявку отклоняют, если запрета нет или сервер отвечает не кодом 404, 403 или 410. В справке к инструменту удаление срабатывает, когда для адреса есть Disallow. Для живой страницы я оставляю метатег и открытый обход.

Как понимаю, что запрет на месте

Общий смотр индексации я здесь не устраиваю. Смотрю слой, который решает задачу. Для куска это закрытая пара noindex в теле. Для страницы это meta или заголовок, и robots.txt адресу не мешает. Для ссылки это rel, без ожидания пустого отчёта.
Пока робот не зашёл заново, старый сниппет может оставаться. Это не сигнал добавить второй запрет поверх первого. Disallow поверх meta как раз не даст прочитать meta. Исключённый адрес я потом смотрю в Вебмастере, в страницах в поиске: ему место среди исключённых, а не в списке документов, которые участвуют в выдаче.
  • В исходнике meta стоит в head, без спорящего all или index.
  • В ответе сервера нет чужого X-Robots-Tag, о котором я забыл.
  • В robots.txt нет Disallow на живую страницу с meta noindex.
  • У фрагмента есть закрытие, и он не захватил лишнюю половину страницы.
  • Ссылка размечена rel, а не старым тегом.
Лупа над стопкой тёмных строк, одна строка выделена
Смотрю не слово noindex вообще, а строку, которая решает именно эту задачу.
Так я отделяю старую привычку от того, что ставлю сейчас. Кусок текста — noindex парой, с закрытием. Страница — метатег robots или заголовок X-Robots-Tag, обход открыт. Ссылка — атрибут rel по её типу. Файл robots.txt — только когда адрес действительно не нужно обходить. Одно слово noindex на все три случая я больше не растягиваю.
SEO

Проверю запрет на странице

Посмотрю исходник, заголовок ответа и robots.txt и скажу, что из этого реально убирает страницу или кусок из Яндекса.
Интернет-маркетолог и автор материала
Читайте также