Адрес офиса:
Москва, Одесская ул., 2кС, 117638
Время работы:
Ежедневно
с 10 до 19
+7(495)477-57-39
Ежедневно
с 10 до 19

Как запретить индексацию разных элементов, сайта, страниц или отдельных папок в robots.txt и htaccess

Опубликовано: 29.04.2022
Дмитрий Михайлов
3552

Формирование логичной индексации ресурса — один из приоритетов внутренней оптимизации сайта, если не самый главный. В разных CMS и самописных скриптах для администрирования сайтов создается много не нужных для поисковых систем документов, но важных для корректной работы. Такие страницы необходимо запретить от индексации, чтобы поисковик брал в индекс документы, созданные для него, а не все подряд. Разберемся в видами запретов индексации, как лучше ими управлять.

Запретить индексацию в robots.txt

Многие SEO специалисты пишут, что запрет в файле robots txt работает 50/50. Это не так, запрет индексации в данном файле работает всегда и почти со 100% вероятностью все ПС их придерживаются. Разбираться с синтаксисом это тема другой статьи, сейчас разберем методы, которыми нужно закрывать от индексации разные сущности проекта. Единственное – обязательно роботс должен находиться в корне, то есть site.ru/robots.txt.

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

Сначала уясним маркировку и название ботов поисковых систем:

  • * – все боты, которые заходят на сайт
  • Yandex – основной бот Яндекса
  • YandexImages – бот Яндекс картинок
  • Slurp — поисковый робот от Yahoo
  • MSNBot — поисковая система Bing
  • SputnіkВоt – Спутник
User-agent: * 
Disallow: /

Если необходимо исключить какого-либо бота, то есть дать ему доступ, то пишем разрешающую директиву с именем робота.

User-agent: * 
Disallow: /
User-agent: Yandex
Allow: /
 
Важное замечание – разрешающие директива allow обязательно пишется после запрещающих, чтобы сохранялась логичность сканирования robots файла, сначала мы запрещаем всем, а потом как исключение открываем одной ПС доступ. Это правило касается создания любого роботса.

Запрет индексации корневой папки с помощью robots.txt

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

User-agent: * 
Disallow: /papka
Disallow: */papka/*
Allow: */papka/podpapka
  1. Показывает, что блокировать адрес типа site.ru/papka и только в таком порядке, сразу после домена.
  2. Показывает, что до и после данной папки может быть еще много других значений – папок, подпапок, страниц на параметрах. То есть все адреса, которые содержат /papka/ будут закрыты от индексации.
  3. Дает исключение, что именно этот url можно брать в индексацию.

Запрет индексации файла

Опять метод аналогичен, но не забываем про вложенность:

User-agent: * 
Disallow: /fayl.jpg
Disallow: */fayl.jpg
Allow: */papka/fayl.jpg
Allow: fayl.jpg

Логика понятна, в первой строке запрет идет только если картинка в корне сайта, если он появиться в других местах, то будет открыт для индексации. Вторая полностью закроет изображение с таким именем во всех URL. Третья дает исключение, что вот в такой папке можно индексировать файл. Четвертая говорит, что не зависимо от всех запретов, во всех категориях разрешено брать в индекс это фото.

Запрет индексации картинок

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

User-agent: *
Disallow: /images/*.jpg

Изображения скрывают от ПС в одном случае – чтобы они не попадали в поиск по картинкам и их не могли скачать напрямую с поиска. Но если фото скрыто таким методом, то скорее всего проверка Google на мобильную версию выдаст ошибку и вам не отобразиться в результатах проверки роботом Гугла. Поэтому скрывать стоит именно те изображения, которые не являются частью контента и интерфейса, а принадлежат к какой-либо дополнительной ценности.

Скрыть от индексации картинки

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

User-Agent: *
Disallow: *.jpg
Disallow: *.png
Disallow: *.gif

Запрет индексации страниц с параметрами и clean-param

Что значит страницы с параметрами? То есть страницы, которые содержать знак вопроса «?». В основном они не содержат в себе ничего полезного, являются дублями, служат для перенаправления, в общем индексироваться не должны. Для упрощения работы с ними разработана директива clean-param. Что это такое вы можете посмотреть в официально видео Яндекс Вебмастера.

https://www.youtube.com/watch?v=vem5R7xy8Ng&t=297s

Преимущество в том, что не нужно для каждого параметра задавать свой disallow, а можно объединить все в один, который не закроет по случайности нормальные страницы, а только те, которые содержат «?». Например, сайт генерирует такие адреса:

  • site.ru/catalog/odezhda/kostyumy/?sort=down
  • site.ru/catalog/odezhda/?filter=rtyi
  • site.ru/catalog/?backurl=567

В тех же интернет магазинах их намного больше, тогда приходиться под каждую писать отдельную строку с disallow и закрывать от индексации, это будет выглядеть так:

User-agent: *
Disallow: *PAGEN_*
Disallow: *filter=*
Disallow: *backurl=*

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

User-agent: *
Clean-param: sort&filter&backurl
 
К нам приходят вопросы, а как закрыть ПС поддомены в роботсе основного сайта? Ответ – никак. У каждого сайта есть своя директория, в которой должен быть в корне robots, вот в нем нужно делать настройки касаемо только данного поддомена.

Закрытие от индексации Яндекс и Google всей страницы

Отойдем от robots, перейдем к более жестким мерам. Чтобы заблокировать конкретную страницу, нужно в шапке, точнее в разделе <head>, прописать комбинацию.

<html>
    <head>
        <meta name="robots" content="noindex, nofollow" />
    </head>
    <body>...</body>
</html>

В атрибуте content видим значение noindex, то есть это полный запрет на то, чтобы поисковой робот индексировал страницу. Nofollow говорит, что переходить по ссылкам и передавать вес с данного документа нельзя.

Значения можно комбинировать с index – разрешена индексация, follow – можно переходить по ссылкам. Например, комбинация ниже запрещает индексацию, но переходить по ссылкам можно.

<meta name="robots" content="noindex, follow" />
 
Официальная позиция Google и Яндекса такая – если данная комбинация постоянно содержится на странице, то в будущем страница просто будет исключена из обхода поисковой системы, даже если на нее будут вести ссылки с других сайтов. Поэтому ставить этот код необходимо если вы уверенны, что документ не завязан с индексацией и с него не идет уникальных ссылок.

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

Закрыть сайт с помощью серверного файла htaccess

Данный способ относиться к способам блокировки по user agent. То есть если в прошлых методах могут быть исключения и робот берет в индекс страницы (но это очень редко), то в данном методе робота просто разворачивают и не дают зайти на сайт.

SetEnvIfNoCase User-Agent "^Googlebot" search_bot

SetEnvIfNoCase User-Agent "^Yandex" search_bot

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

X-Robots-Tag – блокировка через ответ сервера

Последний метод — это с помощью ответа сервера. Вы наверное слышали фразы, код ответа 200, 404, 301 и т.д. Когда какой либо user agent заходит на сайт, то его браузер получает код ответа, наряду с которым можно уточнить, какому виду агентов закрывать доступ к сайту.

HTTP/1.1 200 OK
Date: Tue, 25 May 2010 21:42:43 GMT
X-Robots-Tag: noindex, nofollow
X-Robots-Tag: noarchive

Полный перечень и детальное описание можете прочитать в Яндекс Справке. Метод применяется очень редко ввиду сложности внедрения и высокой вероятности сбоя.

Скрываем только часть или определенный блок на странице

Метод крайне не стабилен и работает 50 на 50, потому что вырывать из контекста документа какой-либо блок и просить его не воспринимать при создании кешированных копий и построения выдачи – сложная задача для ПС. Можете поэкспериментировать, поместите что-нибудь в тег <noindex> либо <!—noindex—>, пример:

<noindex>тут все что угодно</noindex>

Скрыть от индексирования страницы в CMS и модулях на примере WordPress

Изначально в WordPress есть только возможность заблокировать весь сайт от индексации. Переходим в раздел Чтение и ставим соответствующую галочку.

WordPress

Для точечного управления индексацией используем плагин Yoast SEO, наиболее подходящий под все задачи. Чтобы закрывать целые разделы переходим в раздел «Отображение в поисковой выдаче» далее по каждому табу и где необходимо ставим переключатель в положение ВЫКЛ.

плагин yoast seo

Для точечного закрытия рубрик, записей, товаров, категорий и всего остального, входим в редактирование любой сущности, внизу открываем поле Дополнительно и выбираем пункт «НЕТ», отмеченный на скриншоте.

работа плагина Yoast

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

Разберем три способа проверки индексации: с помощью инструментов от поисковых систем, через поисковую выдачу и через расширения.

Через кабинет вебмастера

Если запрет делали через файл robots, то проверьте его обработку через кабинет Вебмастера Яндекс. Заходим Инструменты — > Анализ robots txt

Вебмастер яндекса
  1. Проверяем нет ли ошибок в файле.
  2. Вводим URL, который нужно запретить, жмем проверить.
  3. Если файл открыт для поиска, то будет зеленая галочка, если нет, то будет красная надпись с той директивой, которая запрещает.

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

Серч консоль

Через поисковую строку

Отмечу, что если изменения внесены недавно, то страницы мгновенно не вылетят из индекса. То есть не стоит после правок сразу идти в поиск и проверять есть ли там страница или нет. Проверяйте как минимум через 1-2 недели. Для проверки наличия в индексе используйте запрос вида URL:адрес страницы, работает в обоих поисковиках Yandex и Google. Если ничего не ,eltn найдено, то значит документ вылетел из индекса.

проверка индексации в поиске

С помощью расширений в браузерах

Самое популярное решение это RDS бар, можете поставить его через любой магазин (оно бесплатно), например в хроме. Нажимаете и получаете информацию.

rds бар

В статье разобрались, как происходит и как запретить индексацию разных элементов, это важная часть SEO и оптимизации в целом, настраивайте и следите за количеством документов в поиске.

Смотрите полезные видео по статье:

 

Последние статьи

Каждую неделю я готовлю для вас интересные и полезные материалы. Здесь представлены только бесплатные статьи, остальные доступны участникам закрытого клуба
Дочитали?
для вас бонус
Осталось 3 бесплатных консультации - аудита вашего сайта. Успейте оставить заявку