Закрытие страниц от индексации. Как запретить индексацию определенных частей текста? Запрет индексации тегом

22.04.2019

Robots.txt для сайта - это индексный текстовый файл в кодировке UTF-8.

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

Если кодировка файла отличается от UTF-8, то поисковые роботы могут неправильно воспринимать находящуюся в нем информацию.

Файл действителен для протоколов http, https, ftp, а также имеет «силу» только в пределах хоста/протокола/номера порта, на котором размещен.

Где находится robots.txt на сайте?

У файла robots.txt может быть только одно расположение - корневой каталог на хостинге. Выглядит это примерно вот так: http://vash-site.xyz/robots.txt

Директивы файла robots txt для сайта

Обязательными составляющими файла robots.txt для сайта являются правило Disallow и инструкция User-agent. Есть и второстепенные правила.

Правило Disallow

Disallow - это правило, с помощью которого поисковому роботу сообщается информация о том, какие страницы сканировать нет смысла. И сразу же несколько конкретных примеров применения этого правила:

Пример 1 - разрешено индексировать весь сайт:

Пример 2 - полностью запретить индексацию сайта:

В таком случае будет бесполезно. Применение этого примера актуально в том случае, если сайт «закрыт» на доработку (например, неправильно функционирует). В этом случае сайту в поисковой выдаче не место, поэтому его нужно через файл robots txt закрыть от индексации. Разумеется, после того, как сайт будет доработан, запрет на индексирование надо снять, но об этом забывают.

Пример 6 - как в robots txt закрыть от индексации файлы конкретного расширенияданном случае - .gif):

Звездочка перед.gif$ сообщает, что имя файла может быть любым, а знак $ сообщает о конце строки. Т.е. такая «маска» запрещает сканирование вообще всех GIF-файлов.

Правило Allow в robots txt

Правило Allow все делает с точностью до наоборот - разрешает индексирование файла/папки/страницы.

И сразу же конкретный пример:

Мы с вами уже знаем, что с помощью директивы Disallow: / мы можем закрыть сайт от индексации robots txt. В то же время у нас есть правило Allow: /catalog, которое разрешает сканирование папки /catalog. Поэтому комбинацию этих двух правил поисковые роботы будут воспринимать как «запрещено сканировать сайт, за исключением папки /catalog»

Сортировка правил и директив Allow и Disallow производится по возрастанию длины префикса URL и применяется последовательно. Если для одной и той же страницы подходит несколько правил, то робот выбирает последнее подходящее из списка.

Рассмотрим 2 ситуации с двумя правилами, которые противоречат друг другу - одно правило запрещает индексировать папки /content, а другое - разрешает.

В данном случае будет приоритетнее директива Allow, т.к. оно находится ниже по списку:

А вот здесь приоритетным является директива Disallow по тем же причинам (ниже по списку):

User-agent в robots txt

User-agent — правило, являющееся «обращением» к поисковому роботу, мол, «список рекомендаций специально для вас» (к слову, списков в robots.txt может быть несколько - для разных поисковых роботов от Google и Яндекс).

Например, в данном случае мы говорим «Эй, Googlebot, иди сюда, тут для тебя специально подготовленный список рекомендаций», а он такой «ОК, специально для меня - значит специально для меня» и другие списки сканировать не будет.

Правильный robots txt для Google (Googlebot)

Примерно та же история и с поисковым ботом Яндекса. Забегая вперед, список рекомендаций для Яндекса почти в 100% случаев немного отличается от списка для других поисковых роботов (чем - расскажем чуть позже). Но суть та же: «Эй, Яндекс, для тебя отдельный список» - «ОК, сейчас изучим его».

Т.е. если в одном и том же robots.txt есть 3 списка с User-agent: *, User-agent: Googlebot и User-agent: Yandex, это значит, первый является «одним для всех», за исключением Googlebot и Яндекс, т.к. для них есть «личные» списки.

Sitemap

Правило Sitemap - расположение файла с XML-картой сайта, в которой содержатся адреса всех страниц, являющихся обязательными к сканированию. Как правило, указывается адрес вида http://site.ua/sitemap.xml.

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

Правило Sitemap должно быть вписано в Robots.txt следующим образом:

Директива Host

Межсекционная директива Host в файле robots.txt так же является обязательной. Она необходима для поискового робота Яндекса - сообщает ему, какое из зеркал сайта нужно учитывать при индексировании. Именно поэтому для Яндекса формируется отдельный список правил, т.к. Google и остальные поисковые системы директиву Host не понимают. Поэтому если у вашего сайта есть копии или же сайт может открываться под разными URL адресами, то добавьте директиву host в файл robots txt, чтобы страницы сайта правильно индексировались.

«Зеркалом сайта» принято называть либо точную, либо почти точную «копию» сайта, которая доступна по другому адресу.

Адрес основного зеркала обязательно должно быть указано следующим образом:

Для сайтов, работающих по http - Host: site.ua или Host: http://site.ua (т.е. http:// пишется по желанию)

Для сайтов, работающих по https - Host: https://site.ua (т.е. https:// прописывается в обязательном порядке)

Пример директивы host в robots txt для сайта на протоколе HTTPS:

Crawl delay

В отличие от предыдущих, параметр Crawl-delay уже не является обязательным. Основная его задача - подсказать поисковому роботу, в течение скольких секунд будут грузиться страницы. Обычно применяется в том случае, если Вы используете слабые сервера. Актуален только для Яндекса.

Clean param

С помощью директивы Clean-param можно бороться с get-параметрами, чтобы не происходило дублирование контента, т.к. один и тот же контент бывает доступен по разным динамическим ссылкам (это те, которые со знаками вопроса). Динамические ссылки могут генерироваться сайтом в том случае, когда используются различные сортировки, применяются идентификаторы сессий и т.д.

Например, один и тот же контент может быть доступен по трем адресам:

www.site.com/catalog/get_phone.ua?ref=page_1&phone_id=1

www.site.com/catalog/get_phone.ua?ref=page_2&phone_id=1

www.site.com/catalog/get_phone.ua?ref=page_3&phone_id=1

В таком случае директива Clean-param оформляется вот так:

Т.е. после двоеточия прописывается атрибут ref, указывающий на источник ссылки, и только потом указывается ее «хвост» (в данном случае - /catalog/get_phone.ua).

Самые частые вопросы

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

Для этих целей придумано правило Disallow: т.е. копируем ссылку на документ/файл, который нужно закрыть от индексации, вставляем ее после двоеточия:

Disallow: http://your-site.xyz/privance.html

Disallow: http://your-site.xyz/foord.doc

Disallow: http://your-site.xyz/barcode.jpg

А затем удаляете адрес домена (в данном случае удалить надо вот эту часть - http://your-site.xyz). После удаления у нас останется ровно то, что и должно остаться:

Disallow: /privance.html

Disallow: /foord.doc

Disallow: /barcode.jpg

Ну а если требуется закрыть от индексирования все файлы с определенным расширением, то правила будут выглядеть следующим образом:

Disallow: /*.html

Disallow: /*.doc

Disallow: /*.jpg

Как в robots.txt указать главное зеркало?

Для этих целей придумана директива Host. Т.е. если адреса http://your-site.xyz и http://yoursite.com являются «зеркалами» одного и того же сайта, то одно из них необходимо указать в директиве Host. Пусть основным зеркалом будет http://your-site.xyz. В этом случае правильными вариантами будут следующие:

Если сайт работает по https-протоколу, то нужно делать только так:

User-agent: Yandex

Disallow: /privance.html

Disallow: /foord.doc

Disallow: /barcode.jpg

Host: https://your-site.xyz

Если сайт работает по http-протоколу, то оба приведенных ниже варианта будут верными:

User-agent: Yandex

Disallow: /privance.html

Disallow: /foord.doc

Disallow: /barcode.jpg

Host: http://your-site.xyz

User-agent: Yandex

Disallow: /privance.html

Disallow: /foord.doc

Disallow: /barcode.jpg

Host: your-site.xyz

Однако, следует помнить, директива Host является рекомендацией, а не правилом. Т.е. не исключено, что в Host будет указан один домен, а Яндекс посчитает за основное зеркало другой, если у него в панели вебмастера введены соответствующие настройки.

Простейший пример правильного robots.txt

В таком виде файл robots.txt можно разместить практически на любом сайте (с мельчайшими корректировками).

Давайте теперь разберем, что тут есть.

  1. Здесь 2 списка правил - один «персонально» для Яндекса, другой - для всех остальных поисковых роботов.
  2. Правило Disallow: пустое, а значит никаких запретов на сканирование нет.
  3. В списке для Яндекса присутствует директива Host с указанием основного зеркала, а также, ссылка на карту сайта.

НО… Это НЕ значит, что нужно оформлять robots.txt именно так. Правила должны быть прописаны строго индивидуально для каждого сайта. Например, нет смысла индексировать «технические» страницы (страницы ввода логина-пароля, либо тестовые страницы, на которых отрабатывается новый дизайн сайта, и т.д.). Правила, кстати, зависят еще и от используемой CMS.

Закрытый от индексации сайт - как выглядит robots.txt?

Даем сразу же готовый код, который позволит запретить индексацию сайта независимо от CMS:

Как указать главное зеркало для сайта на https robots.txt?

Очень просто:

Host: https://your-site.xyz

ВАЖНО!!! Для https-сайтов протокол должен указываться строго обязательно!

Наиболее частые ошибки в robots.txt

Специально для Вас мы приготовили подборку самых распространенных ошибок, допускаемых в robots.txt. Почти все эти ошибки объединяет одно - они допускаются по невнимательности.

1. Перепутанные инструкции:

Правильный вариант:

2. В один Disallow вставляется куча папок:

В такой записи робот может запутаться. Какую папку нельзя индексировать? Первую? Последнюю? Или все? Или как? Или что? Одна папка = одно правило Disallow и никак иначе.

3. Название файла допускается только одно - robots.txt, причем все буквы маленькие. Имена Robots.txt, ROBOTS.TXT и т.п. не допускаются.

4. Правило User-agent запрещено оставлять пустым. Либо указываем имя поискового робота (например, для Яндекса), либо ставим звездочку (для всех остальных).

5. Мусор в файле (лишние слэши, звездочки и т.д.).

6. Добавление в файл полных адресов скрываемых страниц, причем иногда даже без правила Disallow.

Неправильно:

http://mega-site.academy/serrot.html

Тоже неправильно:

Disallow: http://mega-site.academy/serrot.html

Правильно:

Disallow: /serrot.html

Онлайн-проверка файла robots.txt

Существует несколько способов проверки файла robots.txt на соответствие общепринятому в интернете стандарту.

Способ 1. Зарегистрироваться в панелях веб-мастера Яндекс и Google. Единственный минус - придется покопаться, чтоб разобраться с функционалом. Далее вносятся рекомендованные изменения и готовый файл закачивается на хостинг.

Способ 2. Воспользоваться онлайн-сервисами:

Https://services.sl-team.ru/other/robots/

Https://technicalseo.com/seo-tools/robots-txt/

Http://tools.seochat.com/tools/robots-txt-validator/

Итак, robots.txt сформирован. Осталось только проверить его на ошибки. Лучше всего использовать для этого инструменты, предлагаемые самими поисковыми системами.

Google Вебмастерс (Search Console Google): заходим в аккаунт, если в нем сайт не подтвержден - подтверждаем, далее переходим на Сканирование -> Инструмент проверки файла robots.txt.

Здесь можно:

  • моментально обнаружить все ошибки и потенциально возможные проблемы,
  • сразу же «на месте» внести поправки и проверить на ошибки еще раз (чтоб не перезагружать файл на сайт по 20 раз)
  • проверить правильность запретов и разрешений индексирования страниц.

Является аналогом предыдущего, за исключением:

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

Готовые решения для самых популярных CMS

Правильный robots.txt для Wordpress

Disallow: /cgi-bin # классика жанра

Disallow: /? # любые параметры запроса на главной

Disallow: /wp- # все файлы WP: /wp-json/, /wp-includes, /wp-content/plugins

Disallow: *?s= # поиск

Disallow: *&s= # поиск

Disallow: /search # поиск

Disallow: *?attachment_id= # страница вложения. Вообще-то на ней редирект...

Disallow: */feed # все фиды

Disallow: */rss # rss фид

Disallow: */embed # все встраивания

Disallow: */page/ # все виды пагинации

Allow: */uploads # открываем uploads

Allow: /*/*.js # внутри /wp- (/*/ - для приоритета)

Allow: /*/*.css # внутри /wp- (/*/ - для приоритета)

Allow: /wp-*.png # картинки в плагинах, cache папке и т.д.

Allow: /wp-*.jpg # картинки в плагинах, cache папке и т.д.

Allow: /wp-*.jpeg # картинки в плагинах, cache папке и т.д.

Allow: /wp-*.gif # картинки в плагинах, cache папке и т.д.

Allow: /wp-*.svg # картинки в плагинах, cache папке и т.д.

Allow: /wp-*.pdf # файлы в плагинах, cache папке и т.д.

#Disallow: /wp/ # когда WP установлен в подкаталог wp

Sitemap: http://site.ru/sitemap2.xml # еще один файл

#Sitemap: http://site.ru/sitemap.xml.gz # сжатая версия (.gz)

Host: www.site.ru # для Яндекса и Mail.RU. (межсекционная)

# Версия кода: 1.0

# Не забудьте поменять `site.ru` на ваш сайт.

Давайте разберем код файла robots txt для WordPress CMS:

Здесь мы указываем, что все правила актуальны для всех поисковых роботов (за исключением тех, для кого составлены «персональные» списки). Если список составляется для какого-то конкретного робота, то * меняется на имя робота:

User-agent: Yandex

User-agent: Googlebot

Allow: */uploads

Здесь мы осознанно даем добро на индексирование ссылок, в которых содержится /uploads. В данном случае это правило является обязательным, т.к. в движке WordPress есть директория /wp-content/uploads (в которой вполне могут содержаться картинки, либо другой «открытый» контент), индексирование которой запрещено правилом Disallow: /wp-. Поэтому с помощью Allow: */uploads мы делаем исключение из правила Disallow: /wp-.

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

Disallow: /cgi-bin - запрет на индексирование скриптов

Disallow: /feed - запрет на сканирование RSS-фида

Disallow: /trackback - запрет сканирования уведомлений

Disallow: ?s= или Disallow: *?s= - запрет на индексирование страниц внутреннего поиска сайта

Disallow: */page/ - запрет индексирования всех видов пагинации

Правило Sitemap: http://site.ru/sitemap.xml указывает Яндекс-роботу путь к файлу с xml-картой. Путь должен быть прописан полностью. Если таких файлов несколько - прописываем несколько Sitemap-правил (1 файл = 1 правило).

В строке Host: site.ru мы специально для Яндекса прописали основное зеркало сайта. Оно указывается для того, чтоб остальные зеркала индексировались одинаково. Пустая строка перед Host: является обязательной.

Где находится robots txt WordPress вы все наверное знаете - так как и в другие CMS, данный файл должен находится в корневом каталоге сайта.

Файл robots.txt для Joomla

Joomla — почти самый популярный движок у вебмастеров, т.к. не смотря на широчайшие возможности и множества готовых решений, он поставляется бесплатно. Однако, штатный robots.txt всегда имеет смысл подправить, т.к. для индексирования открыто слишком много «мусора», но картинки закрыты (это плохо).

Вот так выглядит правильный robots.txt для Joomla:

Disallow: /administrator/

Disallow: /cache/

Disallow: /components/

Disallow: /images/

Disallow: /includes/

Disallow: /installation/

Disallow: /language/

Disallow: /layouts/

Disallow: /libraries/

Disallow: /logs/

Disallow: /media/

Disallow: /modules/

Disallow: /plugins/

Disallow: /templates/

robots.txt Wix

Платформа Wix автоматически генерирует файлы robots.txt персонально для каждого сайта Wix. Т.е. к Вашему домену добавляете /robots.txt (например: www.domain.com/robots.txt) и можете спокойно изучить содержимое файла robots.txt, находящегося на Вашем сайте.

Отредактировать robots.txt нельзя. Однако с помощью noindex можно закрыть какие-то конкретные страницы от индексирования.

robots.txt для Opencart

Стандартный файл robots.txt для OpenCart:

Disallow: /*route=account/

Disallow: /*route=affiliate/

Disallow: /*route=checkout/

Disallow: /admin

Disallow: /catalog

Disallow: /download

Disallow: /export

Disallow: /system

Disallow: /*?sort=

Disallow: /*&sort=

Disallow: /*?order=

Disallow: /*&order=

Disallow: /*?limit=

Disallow: /*&limit=

Disallow: /*?filter_name=

Disallow: /*&filter_name=

Disallow: /*?filter_sub_category=

Disallow: /*&filter_sub_category=

Disallow: /*?filter_description=

Disallow: /*&filter_description=

Disallow: /*?tracking=

Disallow: /*&tracking=

Disallow: /*?page=

Disallow: /*&page=

Disallow: /wishlist

Disallow: /login

User-agent: Yandex

Disallow: /*route=account/

Disallow: /*route=affiliate/

Disallow: /*route=checkout/

Disallow: /*route=product/search

Disallow: /index.php?route=product/product*&manufacturer_id=

Disallow: /admin

Disallow: /catalog

Disallow: /download

Disallow: /export

Disallow: /system

Disallow: /*?sort=

Disallow: /*&sort=

Disallow: /*?order=

Disallow: /*&order=

Disallow: /*?limit=

Disallow: /*&limit=

Disallow: /*?tracking=

Disallow: /*&tracking=

Disallow: /*route=product/search

Disallow: /*?page=

Disallow: /*&page=

Clean-param: tracking

Clean-param: filter_name

Clean-param: filter_sub_category

Clean-param: filter_description

Disallow: /wishlist

Disallow: /login

Disallow: /index.php?route=product/manufacturer

Disallow: /index.php?route=product/compare

Disallow: /index.php?route=product/category

Host: Vash_domen

Sitemap: http://Vash_domen/sitemap.xml

robots.txt для Битрикс (Bitrix)

1. Папки /bitrix и /cgi-bin должны быть закрыты, т.к. это чисто технический «хлам», который незачем светить в поисковой выдаче.

Disallow: /bitrix

Disallow: /cgi-bin

2. Папка /search тоже не представляет интереса ни для пользователей, ни для поисковых систем. Да и образование дублей никому не нужно. Поэтому тоже ее закрываем.

Disallow: /search

Disallow: /auth/

Disallow: /auth.php

4. Материалы для печати (например, счета на оплату) тоже нет смысла светить в поисковой выдаче. Закрываем.

Disallow: /*?print=

Disallow: /*&print=

5. Один из жирных плюсов «Битрикса» в том, что он фиксирует всю историю сайта - кто когда залогинился, кто когда сменил пароль, и прочую конфиденциальную информацию, утечка которой не допустима. Поэтому закрываем:

Disallow: /*register=yes

Disallow: /*forgot_password=yes

Disallow: /*change_password=yes

Disallow: /*login=yes

Disallow: /*logout=yes

Disallow: /*auth=yes

6. Back-адреса тоже нет смысла индексировать. Эти адреса могут образовываться, например, при просмотре фотоальбома, когда Вы сначала листаете его «вперед», а потом - «назад». В эти моменты в адресной строке вполне может появиться что-то типа матерного ругательства: ?back_url_ =%2Fbitrix%2F%2F. Ценность таких адресов равна нулю, поэтому их тоже закрываем от индексирования. Ну а в качестве бонуса - избавляемся от потенциальных «дублей» в поисковой выдаче.

Disallow: /*BACKURL=*

Disallow: /*back_url=*

Disallow: /*BACK_URL=*

Disallow: /*back_url_admin=*

7. Папку /upload необходимо закрывать строго по обстоятельствам. Если там хранятся фотографии и видеоматериалы, размещенные на страницах, то ее скрывать не нужно, чтоб не срезать дополнительный трафик. Ну а если что-то конфиденциальное - однозначно закрываем:

Disallow: /upload

Готовый файл robots.txt для Битрикс:

Allow: /search/map.php

Allow: /bitrix/templates/

Disallow: */index.php

Disallow: /*action=

Disallow: /*print=

Disallow: /*/gallery/*order=

Disallow: /*/search/

Disallow: /*/slide_show/

Disallow: /*?utm_source=

Disallow: /*ADD_TO_COMPARE_LIST

Disallow: /*arrFilter=

Disallow: /*auth=

Disallow: /*back_url_admin=

Disallow: /*BACK_URL=

Disallow: /*back_url=

Disallow: /*backurl=

Disallow: /*bitrix_*=

Disallow: /*bitrix_include_areas=

Disallow: /*building_directory=

Disallow: /*bxajaxid=

Disallow: /*change_password=

Disallow: /*clear_cache_session=

Disallow: /*clear_cache=

Disallow: /*count=

Disallow: /*COURSE_ID=

Disallow: /*forgot_password=

Disallow: /*index.php$

Disallow: /*login=

Disallow: /*logout=

Disallow: /*modern-repair/$

Disallow: /*MUL_MODE=

Disallow: /*ORDER_BY

Disallow: /*PAGE_NAME=

Disallow: /*PAGE_NAME=detail_slide_show

Disallow: /*PAGE_NAME=search

Disallow: /*PAGE_NAME=user_post

Disallow: /*PAGEN_

Disallow: /*print_course=

Disallow: /*print=

Disallow: /*register=

Disallow: /*register=yes

Disallow: /*set_filter=

Disallow: /*show_all=

Disallow: /*show_include_exec_time=

Disallow: /*show_page_exec_time=

Disallow: /*show_sql_stat=

Disallow: /*SHOWALL_

Disallow: /*sort=

Disallow: /*sphrase_id=

Disallow: /*tags=

Disallow: /access.log

Disallow: /admin

Disallow: /auth.php

Disallow: /bitrix

Disallow: /bitrix/

Disallow: /cgi-bin

Disallow: /club/$

Disallow: /club/forum/search/

Disallow: /club/gallery/tags/

Disallow: /club/group/search/

Disallow: /club/log/

Disallow: /club/messages/

Disallow: /club/search/

Disallow: /communication/blog/search.php

Disallow: /communication/forum/search/

Disallow: /communication/forum/user/

Disallow: /content/board/my/

Disallow: /content/links/my/

Disallow: /error

Disallow: /e-store/affiliates/

Disallow: /e-store/paid/detail.php

Disallow: /examples/download/download_private/

Disallow: /examples/my-components/

Disallow: /include

Disallow: /personal

Disallow: /search

Disallow: /upload

Disallow: /*/*ELEMENT_CODE=

Disallow: /*/*SECTION_CODE=

Disallow: /*/*IBLOCK_CODE

Disallow: /*/*ELEMENT_ID=

Disallow: /*/*SECTION_ID=

Disallow: /*/*IBLOCK_ID=

Disallow: /*/*CODE=

Disallow: /*/*ID=

Disallow: /*/*IBLOCK_EXTERNAL_ID=

Disallow: /*/*SECTION_CODE_PATH=

Disallow: /*/*EXTERNAL_ID=

Disallow: /*/*IBLOCK_TYPE_ID=

Disallow: /*/*SITE_DIR=

Disallow: /*/*SERVER_NAME=

Sitemap: http://site.ru/sitemap_index.xml

Sitemap: http://site.ru/sitemap.xml

robots.txt для Modx и Modx Revo

CMS Modx Revo тоже не лишена проблемы дублей. Однако, она не так сильно обострена, как в Битриксе. Теперь о ее решении.

  1. Включаем ЧПУ в настройках сайта.
  2. закрываем от индексации:

Disallow: /index.php # т.к. это дубль главной страницы сайта

Disallow: /*? # разом решаем проблему с дублями для всех страниц

Готовый файл robots.txt для Modx и Modx Revo:

Disallow: /*?id=

Disallow: /assets

Disallow: /assets/cache

Disallow: /assets/components

Disallow: /assets/docs

Disallow: /assets/export

Disallow: /assets/import

Disallow: /assets/modules

Disallow: /assets/plugins

Disallow: /assets/snippets

Disallow: /connectors

Disallow: /index.php

Disallow: /install

Disallow: /manager

Disallow: /profile

Disallow: /search

Sitemap: http://site.ru/sitemap.xml

Выводы

Без преувеличения файл robots.txt можно назвать «поводырём для поисковых роботов Яндекс и Гугл» (разумеется, если он составлен правильно). Если файл robots txt отсутствует, то его нужно обязательно создать и загрузить на хостинг Вашего сайта. Справка Disallow правил описаны выше в этой статьей и вы можете смело их использоваться в своих целях.

Еще раз резюмируем правила/директивы/инструкции для robots.txt:

  1. User-agent — указывает, для какого именно поискового робота создан список правил.
  2. Disallow - «рекомендую вот это не индексировать».
  3. Sitemap - указывает расположение XML-карты сайта со всеми URL, которые нужно проиндексировать. В большинстве случаев карта расположена по адресу http://[ваш_сайт]/sitemap.xml.
  4. Crawl-delay — директива, указывающая период (в секундах), через который будет загружена страница сайта.
  5. Host - показывает Яндексу основное зеркало сайта.
  6. Allow - «рекомендую вот это проиндексировать, не смотря на то, что это противоречит одному из Disallow-правил».
  7. Clean-param - помогает в борьбе с get-параметрами, применяется для снижения рисков образования страниц-дублей.

Знаки при составлении robots.txt:

  1. Знак «$» для «звездочки» является «ограничителем».
  2. После слэша «/» указывается наименование файла/папки/расширения, которую нужно скрыть (в случае с Disallow) или открыть (в случае с Allow) для индексирования.
  3. Знаком «*» обозначается «любое количество любых символов».
  4. Знаком «#» отделяются какие-либо комментарии или примечания, оставленные вэб-мастером для себя, либо для кого-то другого. Поисковые роботы их не читают.

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



У нас с вами имеются в распоряжении два основных инструмента, с помощью которых мы можем управлять индексацией сайта в Гугле и Яндексе. Во-первых, это, конечно же, файлrobots.txt , который позволит нам настроить запрет индексации всего того на сайте, что не содержит основного контента (файлы движка и дубли контента) и именно о robots.txt и пойдет речь в этой статье, но кроме robots.txt существует еще один важный инструмент для управления индексацией —карта сайта (Sitemap xml), о которой я уже довольно подробно писал в приведенной по ссылке статье.

Robots.txt — почему так важно управлять индексацией сайта в Яндексе и Гугле

Robots.txt и Sitemap xml (файлы позволяющие управлять индексацией сайта) очень важны для успешного развития вашего проект и это вовсе не голословное утверждение. В статье по Sitemap xml (см. ссылку выше) я приводил в пример результаты очень важного исследования по наиболее частым техническим ошибкам начинающих вебмастеров и там на втором и третьем месте (после не уникального контента) находятся как разrobots.txt и Sitemap xml , а точнее либо отсутствие этих файлов, либо их неправильное составление и использование.

Надо очень четко понимать, что не все содержимое сайта (файлы и директории), созданного на каком-либо движке (CMS Joomla,SMFилиВордпресс), должно быть доступно для индексации Яндексом и Гугле (другие поисковые системы я не рассматриваю, в силу их малой доли в поиске рунета).

Если не прописать определенные правила поведения в robots.txt дляботов поисковых систем, то при индексации в поисковые системы попадет множество страниц, не имеющих отношения к содержимому сайта, а также может произойти многократное дублирование контента информации (по разным ссылкам будет доступен один и тот же материал сайта), что поисковики не любят. Хорошим решением будет запрет индексации в robots.txt.

Для того, чтобы задать правила поведения для поисковых ботов используется файл robots.txt . С его помощью мы сможем влиять на процесс индексации сайта Яндексом и Google. Robot.txt представляет из себя обычный текстовый файл, который вы сможете создать, и в дальнейшем редактировать, в любом текстовом редакторе (например,Notepad++). Поисковый робот будет искать этот файл в корневом каталогевашего сайта и если не найдет, то будет индексировать все до чего сможет дотянуться.

Поэтому после написания требуемого файла robots.txt (все буквы в названии должны быть в нижнем регистре — без заглавных букв) его нужно сохранить в корневую папку сайта, например, с помощьюFtp клиента Filezilla, так чтобы он был доступен по такому адресу: http://vash_site.ru/robots.txt.

Кстати, если вы хотите узнать как выглядит файл robots.txt того или иного сайта, то достаточно будет дописать к адресу главной страницы этого сайта /robots.txt . Это может быть полезно для определения наилучшего варианта для вашего файла robots.txt, но при этом надо учитывать, что для разных сайтовых движков оптимальный файл robots.txt будет выглядеть по разному (запрет индексации в robots.txt нужно будет делать для разных папок и файлов движка). Поэтому если вы хотите определиться с лучшим вариантом файла robots.txt>, допустим для форума на SMF, то и изучать файлы robots.txt нужно для форумов, построенных на этом движке.

Директивы и правила написания файла robots.txt (disallow, user-agent, host)

Файл robots.txt имеет совсем не сложный синтаксис, который очень подробно описан, например, в Я ндексе. Обычно, в файле robots.txt указывается для какого поискового робота предназначены описанные ниже директивы (директива"User-agent" ), сами разрешающие ("Allow ") и запрещающие директивы ("Disallow "), а также еще активно используется директива "Sitemap " для указания поисковикам, где именно находится файл карты сайта.

Еще полезно указать в файле robots.txt какое из зеркал вашего сайта является главнымв директиве "Host ". Если даже у вашего сайта нет зеркал, то полезно будет указать в этой директиве, какой из вариантов написания вашего сайта является главным с www или без него. Т.к. это тоже является своего рода зеркалированием. Об этом я подробно рассказывал в этой статье:Домены с www и без www — история появления, использование 301 редиректа для их склеивания.

Теперь поговорим немного оправилах написания файла robots.txt . Директивы в файле robots.txt имеют следующий вид:

Правильный файл robots.txt должен содержать хотя бы одну директиву «Disallow» после каждой записи «User-agent». Пустой файл robots.txt предполагает разрешение на индексирование всего сайта.

Директива «User-agent» должна содержать название поискового робота. При помощи этой директивы в robots.txt можно настроить индексацию сайта для каждого конкретного поискового робота (например, создать запрет индексации отдельной папки только для Яндекса). Пример написания директивы «User-agent», адресованной всем поисковым роботам зашедшим на ваш ресурс, выглядит так:

Приведу несколько простых примеровуправления индексацией сайта в Яндексе , Гугле и других поисковиках с помощью директив файла robots.txt с объяснением его действий.

    1 . Приведенный ниже код для файла robots.txt разрешает всем поисковым роботам проводить индексацию всего сайта без каких-либо исключений. Это задается пустой директивой Disallow.

    3 . Такой файл robots.txt будет запрещать всем поисковикам проводить индексацию содержимого каталога /image/ (http://mysite.ru/image/ — путь к этому каталогу)

    5 . При описании путей для директив Allow-Disallow можно использоватьсимволы "*" и "$" , задавая, таким образом, определенные логические выражения. Символ "*" означает любую (в том числе пустую) последовательность символов. Следующий пример запрещает всем поисковикам индексацию файлов на сайте с расширение «.aspx»:

    Disallow: *.aspx

Во избежания возникновения неприятных проблем с зеркалами сайта (Домены с www и без www — история появления, использование 301 редиректа для их склеивания) , рекомендуется добавлять в файлrobots.txt директиву Host , которая указывает роботу Яндекса на главное зеркало вашего сайта (Директива Host, позволяющая задать главное зеркало сайта для Яндекса). По правилам написания robots.txt в записи для User-agent должна быть хотя бы одна директива Disallow (обычно ставят пустую, ничего не запрещающую):

User-agent: Yandex

Host: www.site.ru

Robots и Robots.txt — запрет индексации поисковыми системами дубликатов на сайте


Существует еще один способнастроить индексацию отдельных страниц сайта для Яндекса и Гугле. Для этого внутри тега «HEAD» нужной страницы, прописывается МЕТА-тег Robots и так повторяется для всех страниц, к которым нужно применить то или иное правило индексации (запрет или разрешение). Пример применения мета-тега:

...

В этом случае роботы всех поисковых систем должны будут забыть об индексации этой страницы (об это говорит noindex в мета-теге) и анализе размещенных на ней ссылок (об этом говорит nofollow) .

Существуют только две парыдиректив мета тега Robots : index и follow:

  1. Index — указывают, может ли робот проводить индексацию данной страницы
  2. Follow — может ли он следовать по ссылкам со страницы

Значения по умолчанию – «index» и «follow». Есть также укороченный вариант написания с использованием «all» и «none», которые обозначают активность всех директив или, соответственно, наоборот: all=index,follow и none=noindex,nofollow .

Для блога на WordPress вы сможете настроить мета-тег Robots, например, с помощью плагинаAll in One SEO Pack . Ну все, с теорией покончено и пора переходить к практике, а именно, к составлению оптимальных файлов robots.txt для Joomla, SMF и WordPress.

Как известно, у проектов, созданных на основе какого-либо движка (Joomla, WordPress, SMF и др), имеется множество вспомогательных файлов не несущих никакой информативной нагрузки.

Если не запретить индексацию всего этого мусора вrobots.txt , то время, отведенное поисковыми системами Яндекс и Гугл на индексацию вашего сайта, будет тратиться на перебор поисковыми роботами файлов движка на предмет поиска в них информационной составляющей, т.е. контента, который, кстати, в большинстве CMS хранится в базе данных, к которой поисковым роботам никак не добраться (вы можете работать с базами черезPhpMyAdmin). В этом случае, времени на полноценнуюиндексацию сайта у роботов Яндекса и Гугла может не остаться.

Кроме того, следует стремиться к уникальности контента на своем проекте и не следует допускать дублирования контента (информационного содержимого) вашего сайта при индексировании. Дублирование может возникнуть в том случае, если один и тот же материал будет доступен по разным адресам (URL). Поисковые системы Яндекс и Гугл, проводя индексацию сайта, обнаружат дубли и, возможно, примут меры к некоторой пессимизации вашего ресурса при их большом количестве.

Если ваш проект создан на основе какого-либо движка (Joomla, SMF, WordPress), то дублирование контента будет иметь место возможно с высокой вероятностью, а значит нужно с ним бороться, в том числе ис помощью запрета индексации в robots.txt .

Например, в WordPress, страницы с очень похожим содержимым, могут попасть в индекс Яндекса и Гугле если разрешена индексация содержимого рубрик, содержимого архива тегов и содержимого временных архивов. Но если с помощью мета-тега Robots создать запрет на индексацию архива тегов и временного архива (можно теги оставить, а запретить индексацию содержимого рубрик), то дублирования контента не возникнет. Для этой цели в WordPress лучше всего будет воспользоваться возможностямиплагина All in One SEO Pack.

Еще сложнее с дублированием контента обстоит дело в форумном движке SMF. Если не производить тонкую настройку (запрет) индексации сайта в Яндексе и Гугле через robots.txt, то в индекс поисковых систем попадут многократные дубли одних и тех же постов. В Joomla иногда возникает проблема с индексацией и дублированием контента обычных страниц и их копий, предназначенных для печати.

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

Для запрета индексации в Яндексе и Гугле одной единственной страницы, удобно использовать мета-тег Robots, который прописывается в шапке (между тегами HEAD) нужной страницы. Подробно о синтаксисе мета-тега Robots чуть выше по тексту. Для запрета индексации внутри страницы можно использовать тег NOINDEX , но он, правда, поддерживается только поисковой системой Яндекс.

Директива Host в robots.txt для Яндекса

Теперь давайте рассмотрим конкретные примеры robots.txt, предназначенного для разных движков — Joomla, WordPress и SMF. Естественно, что все три файла robots.txt, созданные для разных движков, будут существенно (если не сказать кардинально) отличаться друг от друга. Правда, будет во всех этих robots.txt один общий момент и момент этот связан с поисковой системой Яндекс.

Т.к. в рунете поисковик Яндекс имеет достаточно большой вес, то нужно учитывать все нюансы его работы, то для корректнойиндексации сайта в Яндексе нужна директива Host в robots.txt . Эта директива, в явной форме, укажет Яндексу главное зеркало вашего сайта. Более подробно почитать об этом вы можете здесь:Директива Host, позволяющая задать главное зеркало сайта для Яндекса.

Для указания директивы Host советуют использовать отдельный блог User-agent в файле robots.txt, предназначенный только для Яндекса (User-agent: Yandex). Это связано с тем, что остальные поисковые системы могут не понимать директиву Host и, соответственно, ее включение в директиву User-agent, предназначенную для всех поисковиков (User-agent: *), может привести к негативным последствиям и неправильной индексации вашего сайта.

Как обстоит дело на самом деле — сказать трудно, ибоалгоритмы работы поисковиков — это вещь в себе, поэтому лучше сделать в robots.txt все так, как советуют. Но в этом случае в файле robots.txt вам придется дублировать в директиве User-agent: Yandex все те правила, что вы задали в директиве User-agent: * . Если вы оставите директиву User-agent: Yandex с пустой директивой Disallow: , то таким образом выв robots.txt разрешите Яндексу индексацию всего сайта .

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

Правильный robots.txt для форума SMF

Allow: /forum/*sitemap

Allow: /forum/*arcade

Allow: /forum/*rss

Disallow: /forum/attachments/

Disallow: /forum/avatars/

Disallow: /forum/Packages/

Disallow: /forum/Smileys/

Disallow: /forum/Sources/

Disallow: /forum/Themes/

Disallow: /forum/Games/

Disallow: /forum/*.msg

Disallow: /forum/*. new

Disallow: /forum/*sort

Disallow: /forum/*topicseen

Disallow: /forum/*wap

Disallow: /forum/*imode

Disallow: /forum/*action

User-agent: Slurp

Crawl-delay: 100

Обратите внимание, что этот robots.txt приведен для того случая, когда ваш форум SMF установлен в директории forum основного сайта. Если форум не стоит в директории, то просто удалите из всех правил /forum . Авторы данного варианта файла robots.txt для форума на движке SMF говорят, что он даст максимальный эффект для правильной индексации в Яндексе и Гугле, если вы не будете активировать на своем форуме дружественные URL (ЧПУ).

Дружественные URL в SMF можно активировать или дезактивировать в админке форума, пройдя по следующему пути: в левой колонке админки выбираете пункт «Характеристики и настройки», в нижней части открывшегося окна находите пункт "Разрешить дружественные URL ", где можете поставить или снять галочку.

Еще одинправильный файл robots.txt для форума SMF (но, наверное, еще не окончательно оттестированный):

Allow: /forum/*sitemap

Allow: /forum/*arcade # если не стоит мод игр, удалить без пропуска строки

Allow: /forum/*rss

Allow: /forum/*type=rss

Disallow: /forum/attachments/

Disallow: /forum/avatars/

Disallow: /forum/Packages/

Disallow: /forum/Smileys/

Disallow: /forum/Sources/

Disallow: /forum/Themes/

Disallow: /forum/Games/

Disallow: /forum/*.msg

Disallow: /forum/*. new

Disallow: /forum/*sort

Disallow: /forum/*topicseen

Disallow: /forum/*wap

Disallow: /forum/*imode

Disallow: /forum/*action

Disallow: /forum/*prev_next

Disallow: /forum/*all

Disallow: /forum/*go.php # либо тот редирект что стоит у вас

Host: www.мой сайт.ru # указать ваше главное зеркало

User-agent: Slurp

Crawl-delay: 100

Как вы можете видеть в этом robots.txt, директива Host , предназначенная только для Яндекса, включена в директиву User-agent для всех поисковиков. Я бы, наверное, все-таки добавил отдельную директиву User-agent в robots.txt только для Яндекса, с повтором всех правил. Но решайте сами.

User-agent: Slurp

Crawl-delay: 100

связано с тем, что поисковая система Yahoo (Slurp — это имя его поискового бота) производит индексацию сайта в много потоков, что может негативно сказаться на его производительности. В этом правиле robots.txt, директива Crawl-delay, позволяет задать поисковому роботу Yahoo минимальный период времени (в секундах) между концом закачки одной страницы и началом закачки следующей. Это позволит снять нагрузку на серверпри индексации сайта поисковой системой Yahoo .

Для запрета индексации в Яндексе и Гугле версий для печати страниц форума SMF рекомендуют проделать, описанные ниже операции (для их осуществления понадобится открыть некоторые файлы SMF на редактирование с помощью программы FileZilla). В файле Sources/Printpage.php находите (например, с помощью встроенного поиска вNotepad++) строку:

В файле Themes/название_вашей_темы_оформления/Printpage.template.php находите строку:

Если вы так же хотите, чтобы в версии для печати была ссылка для перехода на полную версию форума (в случае, если часть страниц для печати уже прошла индексацию в Яндексе и Гугле), то в том же файле Printpage.template.php вы находите строку с открывающим тегом HEAD:

Получить больше информации по этому варианту файлаrobots.txt для форума SMF вы можете, почитавэту ветку русскоязычного форума поддержки SMF.

Правильный robots.txt для сайта на Joomla

При каждом обращении к сайту поисковые роботы первым делом ищут и считывают файл robots.txt. В нем записаны специальные директивы, управляющие поведением робота. Скрытую опасность для любого сайта может нести как отсутствие этого файла, так и его некорректная настройка. Предлагаю детальнее изучить вопрос настройки robots.txt вообще и для CMS WordPress в частности, а также обратить внимание на частые ошибки.

Файл robots.txt и стандарт исключений для роботов

Все поисковые системы понимают инструкции, написанные в специальном файле согласно стандарта исключений для роботов . В этих целях используется обычный текстовый файл с названием robots.txt, расположенный в корневом каталоге сайта. При корректном размещении содержимое этого файла можно посмотреть на любом сайте просто дописав после адреса домена /robots.txt . Например, .

Инструкции для роботов позволяют запрещать к сканированию файлы/каталоги/страницы, ограничивать частоту доступа к сайту, указывать зеркало и XML карту. Каждую инструкцию пишут с новой строки в следующем формате:

[директива]: [значение]

Весь список директив разбивают на секции (записи), разделяя их одной или несколькими пустыми строками. Новую секцию начинают с одной или нескольких инструкций User-agent. Запись должна содержать как минимум одну директиву User-agent и одну Disallow.

Текст после символа # (решетка) считается комментарием и игнорируется поисковыми роботами.

Директива User-agent

User-agent — первая директива в секции, сообщает имена роботов, для которых предназначены следующие за ней правила. Звездочка в значении обозначает любое имя, разрешается только одна секция с инструкциями для всех роботов. Пример:

# инструкции для всех роботов User-agent: * ... # инструкции для роботов Яндекса User-agent: Yandex ... # инструкции для роботов Google User-agent: Googlebot ...

Директива Disallow

Disallow — основная директива, запрещающая сканирование URL/файлов/каталогов, имена которых полностью или частично совпадают с указанными после двоеточия.

Продвинутые поисковые роботы вроде Яндекса и Google понимают спецсимвол * (звездочка), обозначающий любую последовательность символов. Подстановку не желательно использовать в секции для всех роботов.

Примеры директивы Disallow:

# пустое значение разрешает индексировать все User-agent: * Disallow: # запрещает сканировать весь сайт User-agent: * Disallow: / # запрещает к сканированию все файлы и/или каталоги, начинающиеся из символов "wp-" User-agent: * Disallow: /wp- # запрещает сканировать файлы page-1.php, page-vasya.php, page-news-345.php # вместо * может встречаться любая последовательность символов User-agent: * Disallow: /page-*.php

Директива Allow (неофициальная)

Allow разрешает сканирование указанных ресурсов. Официально этой директивы нету в стандарте исключений для роботов, поэтому не желательно использовать ее в секции для всех роботов (User-agent: *). Отличный пример использования — разрешить к сканированию ресурсы из каталога, который ранее запрещен к индексации директивой Disallow:

# запрещает сканировать ресурсы начинающиеся с /catalog # но разрешает сканировать страницу /catalog/page.html User-agent: Yandex Disallow: /catalog Allow: /catalog/page.html

Sitemap (неофициальная)

Sitemap — директива, указывающая адрес карты сайта в формате XML. Эта директива так же не описана в стандарте исключений и поддерживается не всеми роботами (работает для Яндекс, Google, Ask, Bing и Yahoo). Можно указывать одну или несколько карт — все будут учтены. Может использоваться без User-agent после пустой строки. Пример:

# одна или несколько карт в формате XML, указывается полный URL Sitemap: http://sitename.com/sitemap.xml Sitemap: http://sitename.com/sitemap-1.xml

Директива Host (только Яндекс)

Host — директива для робота Яндекс, указывающая основное зеркало сайта. Вопрос о зеркалах детальнее можно изучить в справке Яндекса . Эту инструкцию можно указывать как в секции для роботов Яндекса, так и отдельной записью без User-agent (инструкция межсекционная и в любом случае будет учтена Яндексом, а остальные роботы ее проигнорируют). Если в одном файле Host указан несколько раз, то будет учтена только первая. Примеры:

# указываем главное зеркало в секции для Яндекса User-agent: Yandex Disallow: Host: sitename.com # главное зеркало для сайта с SSL сертификатом User-agent: Yandex Disallow: Host: https://sitename.com # или отдельно без User-agent после пустой строки Host: sitename.com

Другие директивы

Роботы Яндекса также понимают директивы Crawl-delay и Clean-param . Детальнее об их использовании читайте в справочной документации.

Роботы, директивы robots.txt и индекс поисковых систем

Ранее поисковые роботы следовали директивам robots.txt и не добавляли в индекс «запрещенных» там ресурсов.

Сегодня все обстоит иначе. Если Яндекс послушно исключит из индекса адреса, запрещенные в файле роботс, то Google поступит совершенно иначе. Он обязательно добавит их индекс, но в результатах поиска будет стоять надпись «Описание веб-страницы недоступно из-за ограничений в файле robots.txt» .

Почему Google добавляет в индекс страницы, запрещенные в robots.txt?

Ответ кроется в маленькой хитрости гугла. Если внимательно прочесть справку для вебмастера, то все становится более чем понятно:

Google без зазрения совести сообщает, что директивы в robots.txt являются рекомендацией , а не прямыми командами к действию.

Это означает, что робот директивы учитывает, но поступает все-же по-своему. И он может добавить в индекс страницу, запрещенную в robots.txt, если встретит на нее ссылку.

Добавление адреса в robots.txt не гарантирует исключения его из индекса поисковой системы Google.

Индекс Google + некорректный robots.txt = ДУБЛИ

Практически каждое руководство в сети говорит о том, что закрытие страниц в robots.txt запрещает их индексацию.

Ранее так и было. Но мы уже знаем, что для Google такая схема сегодня не работает. А что еще хуже — каждый последовавший таким рекомендациям совершает огромную ошибку — закрытые URL попадают в индекс и помечаются как дубли, процент дублированного контента постоянно растет и рано или поздно сайт наказывается фильтром Панда.

Google предлагает два действительно рабочих варианта для исключения из индекса ресурсов веб-сайта:

  1. закрытие паролем (применяется для файлов вроде.doc, .pdf, .xls и других)
  2. добавление метатега robots с атрибутом noindex в (применяется для веб-страниц):

Главное, что нужно учесть:

Если на веб-страницу добавить указанный выше мета-тег, запрещающий индексацию, и дополнительно запретить сканирование этой-же страницы в robots.txt, то робот Google не сможет прочесть мета-тег с запретом и добавит страницу в индекс!
(поэтому он и пишет в результатах поиска, что описание ограничено в robots.txt)

Детальнее об этой проблеме можно почитать в справке Google . А решение здесь одно — открывать доступ в robots.txt и настраивать запрет на индексацию страниц метатегом (или паролем, если речь о файлах).

Примеры robots.txt для WordPress

Если внимательно ознакомиться с предыдущим разделом, то становится понятно, что сегодня не стоит практиковать чрезмерный запрет адресов в robots.txt , по крайне мере для Google. Управлять индексацией страниц лучше через метатег robots.

Вот самый банальный и при этом совершенно правильный robots.txt для WordPress:

User-agent: * Disallow: Host: sitename.com

Удивлены? Еще бы! Все гениальное просто 🙂 На западных ресурсах, где нету Яндекса, рекомендации по составлению robots.txt для WordPress сводятся к двум первым строчкам, как это показали авторы WordPress SEO by Yoast .

Правильно настроенный SEO-плагин позаботится о канонических ссылках и метатеге robots со значением noindex, а страницы админки под паролем и не нуждаются в запрете индексации (исключением могут быть только страницы входа и регистрации на сайта — убедитесь, что на них есть meta тег robots со значением noindex). Карту сайта правильнее добавить вручную в вебмастере поисковой системы и заодно проследить, чтобы она была корректно прочитана. Осталось единственное и важное для рунета — указать главное зеркало для Яндекса.

Еще один вариант, подойдет для менее смелых:

User-agent: * Disallow: /wp-admin Host: sitename.com Sitemap: http://sitename.com/sitemam.xml

В первой секции запрещается индексация для всех роботов каталога wp-admin и его содержимого. В последних двух строках указанные зеркало сайта для робота Яндекса и карта сайта.

Прежде чем изменять свой robots.txt…

Если приняли решение о смене директив в robots.txt, то сначала позаботьтесь о трех вещах:

  1. Убедитесь, что в корне вашего сайта нету дополнительных файлов или каталогов, содержимое которых стоит скрыть от сканирования (это могут быть личные файлы или медиаресурсы);
  2. Включите канонические ссылки в своем SEO-плагине (это исключит из индекса URL c параметрами запроса вроде http://sitename.com/index.php?s=word )
  3. Настройте вывод метатега robots со значением noindex на страницах, которые хотите скрыть от индексации (для WordPress это архивы по дате, метке, автору и страницы пагинации). Сделать это можно для части страниц в настройках SEO-плагинов (в All In One SEO неполные настройки). Или специальным кодом вывести самостоятельно: /* ========================================================================== * Добавляем свой * ========================================================================== */ function my_meta_noindex () { if (//is_archive() OR // любые страницы архивов - за месяц, за год, по рубрике, по авторам //is_category() OR // архивы рубрик is_author() OR // архивы статей по авторам is_time() OR // архивы статей по времени is_date() OR // архивы статей по любым датам is_day() OR // архивы статей по дням is_month() OR // архивы статей по месяцам is_year() OR // архивы статей по годам is_tag() OR // архивы статей по тегам is_tax() OR // архивы статей для пользовательской таксономии is_post_type_archive() OR // архивы для пользовательского типа записи //is_front_page() OR // статическая главная страница //is_home() OR // главная страница блога с последними записями //is_singular() OR // любые типы записей - одиночные посты, страницы, вложения и т.д. //is_single() OR // любой одиночный пост любого типа постов (кроме вложений и Страниц) //is_page() OR // любая одиночная Страница ("Страницы" в админке) is_attachment() OR // любая страница вложения is_paged() OR // все и любые страницы пагинации is_search() // страницы результатов поиска по сайту) { echo "".""."\n"; } } add_action("wp_head", "my_meta_noindex", 3); /* ========================================================================== */

    В строчках, начинающихся с // метатег не будет выводится (в каждой строке описано для какой страницы предназначено правило). Добавляя или удаляя в начале строки два слеша, можно контролировать будет ли выводиться мета-тег роботс или нет на определенной группе страниц.

В двух словах о том, что закрывать в robots.txt

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

Используйте файл robots.txt, чтобы управлять доступом к файлам и каталогам сервера . Файл robots.txt играет роль электронного знака «Вход запрещен: частная территория»

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

Цель этого руководства – помочь веб-мастерам и администраторам в использовании robots.txt.

Введение

Стандарт исключений для роботов по сути своей очень прост. Вкратце, это работает следующим образом:

Когда робот, соблюдающий стандарт заходит на сайт, он прежде всего запрашивает файл с названием «/robots.txt». Если такой файл найден, Робот ищет в нем инструкции, запрещающие индексировать некоторые части сайта.

Где размещать файл robots.txt

Робот просто запрашивает на вашем сайте URL «/robots.txt», сайт в данном случае – это определенный хост на определенном порту.

URL Сайта URL файла robots.txt
http://www.w3.org/ http://www.w3.org/robots.txt
http://www.w3.org:80/ http://www.w3.org:80/robots.txt
http://www.w3.org:1234/ http://www.w3.org:1234/robots.txt
http://w3.org/ http://w3.org/robots.txt

На сайте может быть только один файл «/robots.txt». Например, не следует помещать файл robots.txt в пользовательские поддиректории – все равно роботы не будут их там искать. Если вы хотите иметь возможность создавать файлы robots.txt в поддиректориях, то вам нужен способ программно собирать их в один файл robots.txt, расположенный в корне сайта. Вместо этого можно использовать .

Не забывайте, что URL-ы чувствительны к регистру, и название файла «/robots.txt» должно быть написано полностью в нижнем регистре.

Неправильное расположение robots.txt
http://www.w3.org/admin/robots.txt
http://www.w3.org/~timbl/robots.txt Файл находится не в корне сайта
ftp://ftp.w3.com/robots.txt Роботы не индексируют ftp
http://www.w3.org/Robots.txt Название файла не в нижнем регистре

Как видите, файл robots.txt нужно класть исключительно в корень сайта.

Что писать в файл robots.txt

В файл robots.txt обычно пишут нечто вроде:

User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /~joe/

В этом примере запрещена индексация трех директорий.

Затметьте, что каждая директория указана на отдельной строке – нельзя написать «Disallow: /cgi-bin/ /tmp/». Нельзя также разбивать одну инструкцию Disallow или User-agent на несколько строк, т.к. перенос строки используется для отделения инструкций друг от друга.

Регулярные выражения и символы подстановки так же нельзя использовать. «Звездочка» (*) в инструкции User-agent означает «любой робот». Инструкции вида «Disallow: *.gif» или «User-agent: Ya*» не поддерживаются.

Конкретные инструкции в robots.txt зависят от вашего сайта и того, что вы захотите закрыть от индексации. Вот несколько примеров:

Запретить весь сайт для индексации всеми роботами

User-agent: *
Disallow: /

Разрешить всем роботам индексировать весь сайт

User-agent: *
Disallow:

Или можете просто создать пустой файл «/robots.txt».

Закрыть от индексации только несколько каталогов

User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /private/

Запретить индексацию сайта только для одного робота

User-agent: BadBot
Disallow: /

Разрешить индексацию сайта одному роботу и запретить всем остальным

User-agent: Yandex
Disallow:

User-agent: *
Disallow: /

Запретить к индексации все файлы кроме одного

Это довольно непросто, т.к. не существует инструкции “Allow”. Вместо этого можно переместить все файлы кроме того, который вы хотите разрешить к индексации в поддиректорию и запретить ее индексацию:

User-agent: *
Disallow: /docs/

Либо вы можете запретить все запрещенные к индексации файлы:

User-agent: *
Disallow: /private.html
Disallow: /foo.html
Disallow: /bar.html

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

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

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

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

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

Контент

Проблемы, связанные с закрытием контента на сайте:

Страница оценивается поисковыми роботами комплексно, а не только по текстовым показателям. Увлекаясь закрытием различных блоков, часто удаляется и важная для оценки полезности и ранжирования информация.

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

– скрываются от индексации фильтры, форма поиска, сортировка. Наличие таких возможностей у интернет-магазина – важный коммерческий показатель, который лучше показать, а не прятать.
– прячется информация об оплате и доставке. Это делают, чтобы повысить уникальность на товарных карточках. А ведь это тоже информация, которая должна быть на качественной товарной карточке.
– со страниц «вырезается» меню, ухудшая оценку удобства навигации по сайту.

Зачем на сайте закрывают часть контента?
Обычно есть несколько целей:
– сделать на странице акцент на основной контент, убрав из индекса вспомогательную информацию, служебные блоки, меню;
– сделать страницу более уникальной, полезной, убрав дублирующиеся на сайте блоки;
– убрать «лишний» текст, повысить текстовую релевантность страницы.

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

Много возможностей выбора в фильтрах?
Выводите в основном коде только популярные. Подгружайте остальные варианты, только если пользователь нажмёт кнопку «показать всё». Да, здесь используются скрипты, но никакого обмана нет – скрипт срабатывает по требованию пользователя. Найти все пункты поисковик сможет, но при оценке они не получат такое же значение, как основной контент страницы.

На странице большой блок с новостями?
Сократите их количество, выводите только заголовки или просто уберите блок новостей, если пользователи редко переходят по ссылкам в нём или на странице мало основного контента.

Поисковые роботы хоть и далеки от идеала, но постоянно совершенствуются. Уже сейчас Google показывает скрытие скриптов от индексирования как ошибку в панели Google Search Console (вкладка «Заблокированные ресурсы»). Не показывать часть контента роботам действительно может быть полезным, но это не метод оптимизации, а, скорее, временные «костыли», которые стоит использовать только при крайней необходимости.

Мы рекомендуем:
– относиться к скрытию контента, как к «костылю», и прибегать к нему только в крайних ситуациях, стремясь доработать саму страницу;
– удаляя со страницы часть контента, ориентироваться не только на текстовые показатели, но и оценивать удобство и информацию, влияющую на ;
– перед тем как прятать контент, проводить эксперимент на нескольких тестовых страницах. Поисковые боты умеют разбирать страницы и ваши опасения о снижение релевантности могут оказаться напрасными.

Давайте рассмотрим, какие методы используются, чтобы спрятать контент:

Тег noindex

У этого метода есть несколько недостатков. Прежде всего этот тег учитывает только Яндекс, поэтому для скрытия текста от Google он бесполезен. Помимо этого, важно понимать, что тег запрещает индексировать и показывать в поисковой выдаче только текст. На остальной контент, например, ссылки, он не распространяется.

Поддержка Яндекса не особо распространяется о том, как работает noindex. Чуть больше информации есть в одном из обсуждений в официальном блоге.

Вопрос пользователя:

«Не до конца понятна механика действия и влияние на ранжирование тега текст. Далее поясню, почему так озадачены. А сейчас - есть 2 гипотезы, хотелось бы найти истину.

№1 Noindex не влияет на ранжирование / релевантность страницы вообще

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

№2 Noindex влияет на ранжирование и релевантность, так как закрытый в тег контент не оценивается вообще. Соответственно, все наоборот. Страница будет ранжироваться в соответствии с открытым для роботов контентом.»

В каких случаях может быть полезен тег:
– если есть подозрения, что страница понижена в выдаче Яндекса из-за переоптимизации, но при этом занимает ТОПовые позиции по важным фразам в Google. Нужно понимать, что это быстрое и временное решение. Если весь сайт попал под «Баден-Баден», noindex, как неоднократно подтверждали представители Яндекса, не поможет;
– чтобы скрыть общую служебную информацию, которую вы из-за корпоративных ли юридических нормативов должны указывать на странице;
– для корректировки сниппетов в Яндексе, если в них попадает нежелательный контент.

Скрытие контента с помощью AJAX

Это универсальный метод. Он позволяет спрятать контент и от Яндекса, и от Google. Если хотите почистить страницу от размывающего релевантность контента, лучше использовать именно его. Представители ПС такой метод, конечно, не приветствую и рекомендуют, чтобы поисковые роботы видели тот же контент, что и пользователи.
Технология использования AJAX широко распространена и если не заниматься явным клоакингом, санкции за её использование не грозят. Недостаток метода – вам всё-таки придётся закрывать доступ к скриптам, хотя и Яндекс и Google этого не рекомендуют делать.

Страницы сайта

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

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

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

Рассмотрим способы, которыми можно закрыть страницы от индексации.

Закрыть в robots.txt

Это не самый лучший метод.

Во-первых, файл robots не предназначен для борьбы с дублями и чистки сайтов от мусорных страниц. Для этих целей лучше использовать другие методы.

Во-вторых, запрет в файле robots не является гарантией того, что страница не попадёт в индекс.

Вот что Google пишет об этом в своей справке:

Метатег noindex

Чтобы гарантированно исключить страницы из индекса, лучше использовать этот метатег.

Ниже приведём вариант метатега, который понимают оба поисковика:

Важный момент!

Чтобы Googlebot увидел метатег noindex, нужно открыть доступ к страницам, закрытым в файле robots.txt. Если этого не сделать, робот может просто не зайти на эти страницы.

Заголовки X-Robots-Tag

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

Этот метод не очень распространён в Рунете. Полагаем, основная причина такой ситуации в том, что Яндекс этот метод долгое время не поддерживал.
В этом году сотрудники Яндекса написали, что метод теперь поддерживается.

Ответ поддержки подробным не назовёшь))). Прежде чем переходить на запрет индексации, используя X-Robots-Tag, лучше убедиться в работе этого способа под Яндекс. Свои эксперименты на эту тему мы пока не ставили, но, возможно, сделаем в ближайшее время.

Защита с помощью пароля

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

Исключить появление мусорных страниц c помощью AJAX

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

Например, если пользователь выбрал в фильтре поиска набор параметров, под которые вы не создавали отдельную страницу, изменения в товарах, отображаемых на странице, происходит без изменения самого URL.

Сложность этого метода в том, что обычно его нельзя применить сразу для всех случаев. Часть формируемых страниц используется для продвижения.

Например, страницы фильтров. Для «холодильник + Samsung + белый» нам нужна страница, а для «холодильник + Samsung + белый + двухкамерный + no frost» – уже нет.

Поэтому нужно делать инструмент, предполагающий создание исключений. Это усложняет задачу программистов.

Использовать методы запрета индексации от поисковых алгоритмов

«Параметры URL» в Google Search Console

Этот инструмент позволяет указать, как идентифицировать появление в URL страниц новых параметров.

Директива Clean-param в robots.txt

В Яндексе аналогичный запрет для параметров URL можно прописать, используя директиву Clean-param.
Почитать об этом можно .

Канонические адреса, как профилактика появления мусорных страниц на сайте
Этот метатег был создан специально для борьбы с дублями и мусорными страницами на сайте. Мы рекомендуем прописывать его на всём сайте, как профилактику появления в индексе дубле и мусорных страниц.

Инструменты точечного удаления страниц из индекса Яндекса и Google

Если возникла ситуация, когда нужно срочно удалить информацию из индекса, не дожидаясь, пока ваш запрет увидят поисковые работы, можно использовать инструменты из панели Яндекс.Вебмастера и Google Search Console.

В Яндексе это «Удалить URL»:

В Google Search Console «Удалить URL-адрес»:

Внутренние ссылки

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

Рассмотрим варианты, которые используются для скрытия ссылок:

Тег noindex

Для скрытия ссылок этот тег бесполезен. Он распространяется только на текст.

Атрибут rel=”nofollow”

Сейчас атрибут не позволяет сохранять вес на странице. При использовании rel=”nofollow” вес просто теряется. Само по себе использование тега для внутренних ссылок выглядит не особо логично.

Скрытие ссылок с помощью скриптов

Это фактически единственный рабочий метод, с помощью которого можно спрятать ссылки от поисковых систем. Можно использовать Аjax и подгружать блоки ссылок уже после загрузки страницы или добавлять ссылки, подменяя скриптом тег на . При этом важно учитывать, что поисковые алгоритмы умеют распознавать скрипты.

Как и в случае с контентом – это «костыль», который иногда может решить проблему. Если вы не уверены, что получите положительный эффект от спрятанного блока ссылок, лучше такие методы не использовать.

Заключение

Удаление со страницы объёмных сквозных блоков действительно может давать положительный эффект для ранжирования. Делать это лучше, сокращая страницу, и выводя на ней только нужный посетителям контент. Прятать контент от поисковика – костыль, который стоит использовать только в тех случаях, когда сократить другими способами сквозные блоки нельзя.

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

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

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

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

Похожие статьи