Как запретить индексацию нужных страниц

Robots.txt - это текстовый файл, который содержит параметры индексирования сайта для роботов поисковых систем.

Яндекс поддерживает следующие директивы:

Директива Что делает
User-agent *
Disallow
Sitemap
Clean-param
Allow
Crawl-delay
Директива Что делает
User-agent * Указывает на робота, для которого действуют перечисленные в robots.txt правила.
Disallow Запрещает индексирование разделов или отдельных страниц сайта.
Sitemap Указывает путь к файлу Sitemap , который размещен на сайте.
Clean-param Указывает роботу, что URL страницы содержит параметры (например, UTM-метки), которые не нужно учитывать при индексировании.
Allow Разрешает индексирование разделов или отдельных страниц сайта.
Crawl-delay Задает роботу минимальный период времени (в секундах) между окончанием загрузки одной страницы и началом загрузки следующей.

* Обязательная директива.

Наиболее часто вам могут понадобиться директивы Disallow, Sitemap и Clean-param. Например:

User-agent: * #указываем, для каких роботов установлены директивы\nDisallow: /bin/ # запрещает ссылки из \"Корзины с товарами\".\nDisallow: /search/ # запрещает ссылки страниц встроенного на сайте поиска\nDisallow: /admin/ # запрещает ссылки из панели администратора\nSitemap: http://example.com/sitemap # указываем роботу на файл sitemap для сайта\nClean-param: ref /some_dir/get_book.pl

Роботы других поисковых систем и сервисов могут иначе интерпретировать эти директивы.

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

Использование кириллицы

Использование кириллицы запрещено в файле robots.txt и HTTP-заголовках сервера.

Для указания имен доменов используйте Punycode . Адреса страниц указывайте в кодировке, соответствующей кодировке текущей структуры сайта.

Пример файла robots.txt :

#Неверно:\nUser-agent: Yandex\nDisallow: /корзина\n\n#Верно:\nUser-agent: Yandex\nDisallow: /%D0%BA%D0%BE%D1%80%D0%B7%D0%B8%D0%BD%D0%B0

Как создать robots.txt

Вопросы и ответы

В Яндекс.Вебмастере на странице «Диагностика сайта» возникает ошибка «Сервер отвечает редиректом на запрос /robots.txt»

Чтобы файл robots.txt учитывался роботом, он должен находиться в корневом каталоге сайта и отвечать кодом HTTP 200. Индексирующий робот не поддерживает использование файлов, расположенных на других сайтах.

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

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

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



У нас с вами имеются в распоряжении два основных инструмента, с помощью которых мы можем управлять индексацией сайта в Гугле и Яндексе. Во-первых, это, конечно же, файл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 для wordpress один из главных моментов настройки индексации. Ранее мы говорили об ускорении и улучшении процесса индексации статей. Причем рассматривали этот вопрос так, как будто поисковый робот ничего не знает и не умеет, а мы ему должны подсказать. Для этого мы использовали карту сайта файл .

Возможно вы еще не догадывается, что делает поисковый робот когда попадает на ваш сайт? По умолчанию индексировать ему разрешено всё. И робот-паук, получив сигнал о том, что есть сайт, который надо посетить, тут же ставит его в очередь на индексацию. Поэтому индексация происходит не мгновенно по нашему требованию, а через какое-то время. Как только очередь доходит до вашего сайта этот робот-паук тут как тут. Он не стучится и не спрашивает разрешения, так как ему по умолчанию всё разрешено. А сразу вламывается на сайт, как полноправный хозяин и начинает шарить по всем закоулкам, по всем папкам и файлам, выискивая тексты и всевозможные ссылки.

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

Сделав полную копию всего, что ему удалось найти, он покидает ваш сайт, до следующего раза. Как вы понимаете, после такого обшаривания в базу индекса поисковика попадает всё, что надо и всё, что не надо. То что надо вы знаете - это ваши статьи, страницы, картинки, ролики и т.д. А вот чего индексировать не надо?

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

WordPress создаёт очень много копий ваших статей с разными адресами, но одним и тем же содержанием. Выглядит это так:

//название_сайта/название_статьи,

//название_сайта/название_рубрики/название_статьи,

//название_сайта/название_рубрики/название_подрубрики/название_статьи,

//название_сайта/название_тега/название_статьи,

//название_сайта/дата_создания_архива/название_статьи

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

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

WordPress оформляет картинки как отдельные статьи без текста. В таком виде без текста и описания они как статьи выглядят абсолютно некорректно. Следовательно нужно принять меры чтобы эти адреса не попали в индекс поисковиков.

Почему же не надо всё это индексировать?

Пять причин для запрета индексации!

1. Полное индексирование создаёт лишнюю нагрузку на ваш сервер.

2. Отнимает драгоценное время самого робота.

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

4. Папки с шаблонами и плагинами содержат огромное количество ссылок на сайты создателей и рекламодателей. Это очень плохо для молодого сайта, когда на ваш сайт ссылок из вне еще нет или очень мало.

5. Индексируя все копии ваших статей в архивах и комментариях, у поисковика складывается плохое мнение о вашем сайте. Много дублей. Поисковая машина будет плохо ваш сайт показывать в результатах поиска. А картинки, оформленные в виде отдельной статьи с названием и без текста, приводят робота просто в ужас. Если изображений очень много, то сайт может загреметь под фильтр АГС Яндекса. Мой сайт там был. Проверено!

Теперь после всего сказанного возникает резонный вопрос: "А можно ли как то запретить индексировать то что не надо?". Оказывается можно. Хотя бы не в приказном порядке, а в рекомендательном. Ситуация не полного запрета индексации некоторых объектов возникает из-за файла sitemap.xml, который обрабатывается после robots.txt. Получается так: robots.txt запрещает, а sitemap.xml разрешает. И всё же решить эту задачу мы можем. Как это сделать правильно сейчас и рассмотрим.

Файл robots.txt для wordpress по умолчанию динамический и реально в wordpress не существует. А генерируется только в тот момент, когда его кто-то запрашивает, будь это робот или просто посетитель. То есть если через FTP соединение вы зайдете на сайт, то в корневой папке файла robots.txt для wordpressвы там просто не найдете. А если в браузере укажите его конкретный адрес http://название_вашего_сайта/robots.txt, то на экране получите его содержимое, как будто файл существует. Содержимое этого сгенерированного файла robots.txt для wordpress будет такое:

В правилах составления файла robots.txt по умолчанию разрешено индексировать всё. Директива User-agent: * указывает на то, что все последующие команды относятся ко всем поисковым агентам (*). Но далее ничего не ограничивается. И как вы понимаете этого не достаточно. Мы с вами уже обсудили папок и записей, имеющих ограниченный доступ, достаточно много.

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

Как создать robots.txt для wordpress

В любом текстовом редакторе (только ни в коем случае не используйте MS Word и ему подобные с элементами автоматического форматирования текста) создайте текстовый файл с примерным содержимым приведенным ниже и отправьте его в корневую папку вашего сайта. Изменения можно делать в зависимости от необходимости.

Только надо учитывать особенности составления файла:

В начале строк цифр, как здесь в статье, быть не должно. Цифры здесь указаны для удобства рассмотрения содержимого файла. В конце каждой строки не должно быть ни каких лишних знаков включая пробелы или табуляторы. Между блоками должна быть пустая строка без каких либо знаков включая пробелы. Всего один пробел может принести вам огромный вред - БУДЬТЕ ВНИМАТЕЛЬНЫ .

Как проверить robots.txt для wordpress

Проверить robots.txt на наличие лишних пробелов можно следующим образом. В текстовом редакторе выделить весь текст, нажав кнопки Ctrl+A. Если пробелов в конце строк и в пустых строках нет, вы это заметите. А если есть выделенная пустота, то вам надо убрать пробелы и всё будет ОК.

Есть ещё один способ проверить файл robots.txt для сайта wordpress, это загрузить его содержимое в вебмастер яндекса или указать адрес его расположения. Если есть какие-либо ошибки вы тут же узнаете.

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

Теперь давайте перейдем непосредственно к содержимому файла robots.txt для сайта wordpress. Какие директивы в нем должны присутствовать обязательно. Примерное содержание файла robots.txt для wordpress, учитывая его особенности приведено ниже:

  1. User-agent: *
  2. Disallow: /wp-login.php
  3. Disallow: /wp-admin
  4. Disallow: /wp-includes
  5. Disallow: /wp-content/plugins
  6. Disallow: /wp-content/themes
  7. Disallow: */*comments
  8. Disallow: */*category
  9. Disallow: */*tag
  10. Disallow: */trackback
  11. Disallow: */*feed
  12. Disallow: /*?*
  13. Disallow: /?s=
  14. Allow: /wp-content/uploads/
  15. Allow: /*?replytocom
  16. User-agent: Yandex
  17. Disallow: /wp-login.php
  18. Disallow: /wp-admin
  19. Disallow: /wp-includes
  20. Disallow: /wp-content/plugins
  21. Disallow: /wp-content/themes
  22. Disallow: */comments
  23. Disallow: */*category
  24. Disallow: */*tag
  25. Disallow: */trackback
  26. Disallow: */*feed
  27. Disallow: /*?*
  28. Disallow: /*?s=
  29. Allow: /wp-admin/admin-ajax.php
  30. Allow: /wp-content/uploads/
  31. Allow: /*?replytocom
  32. Crawl-delay: 2,0
  33. Host: site.ru
  34. Sitemap: http://site.ru/sitemap.xml

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

Теперь давайте рассмотрим поподробнее:

1 – 16 строки блок настроек для всех роботов

User-agent: - Это обязательная директива, определяющая поискового агента. Звездочка говорит, что директива для роботов всех поисковых систем. Если блок предназначен для конкретного робота, то необходимо указать его имя, например Yandex, как в 18 строке.

По умолчанию для индексирования разрешено всё. Это равнозначно директиве Allow: /.

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

В нашем примере с помощью названий папок и масок названий файлов, сделан запрет на все служебные папки вордпресса, такие как admin, themes, plugins, comments, category, tag... Если указать директиву в таком виде Disallow: /, то будет дан запрет индексирования всего сайта.

Allow: - как я уже говорил директива разрешающая индексирование папок или файлов. Её нужно использовать когда в глубине запрещённых папок есть файлы которые всё же надо проиндексировать.

В моём примере строка 3 Disallow: /wp-admin - запрещает индексирование папки /wp-admin, а 14 строка Allow: /wp-admin/admin-ajax.php - разрешает индексирование файла /admin-ajax.php расположенного в запрещенной к индексированию папке /wp-admin/.

17 - Пустая строка (просто нажатие кнопки Enter без пробелов)

18 - 33 блок настроек конкретно для агента Яндекса (User-agent: Yandex). Как вы заметили этот блок полностью повторяет все команды предыдущего блока. И возникает вопрос: "А на фига такая заморочка?". Так вот это всё сделано всего лишь из-за нескольких директив которые рассмотрим дальше.

34 - Crawl-delay - Необязательная директива только для Яндекса. Используется когда сервер сильно нагружен и не успевает отрабатывать запросы робота. Она позволяет задать поисковому роботу минимальную задержку (в секундах и десятых долях секунды) между окончанием загрузки одной страницы и началом загрузки следующей. Максимальное допустимое значение 2,0 секунды. Добавляется непосредственно после директив Disallow и Allow.

35 - Пустая строка

36 - Host: site.ru - доменное имя вашего сайта (ОБЯЗАТЕЛЬНАЯ директива для блока Яндекса). Если наш сайт использует протокол HTTPS, то адрес надо указывать полностью как показано ниже:

Host: https://site.ru

37 - Пустая строка (просто нажатие кнопки Enter без пробелов) обязательно должна присутствовать.

38 - Sitemap: http://site.ru/sitemap.xml - адрес расположения файла (файлов) карты сайта sitemap.xml (ОБЯЗАТЕЛЬНАЯ директива), располагается в конце файла после пустой строки и относится ко всем блокам.

Маски к директивам файла robots.txt для wordpress

Теперь немного как создавать маски:

Disallow: /wp-register.php - Запрещает индексировать файл wp-register.php, расположенный в корневой папке.

Disallow: /wp-admin - запрещает индексировать содержимое папки wp-admin, расположенной в корневой папке.

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

Disallow: /wp-content/plugins - запрещает индексировать содержимое папки plugins, расположенной в подпапке (папке второго уровня) wp-content.

Disallow: /feed - запрещает индексировать канал feed т.е. закрывает RSS канал сайта.

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

Disallow: */*comments - запрещает индексировать содержимое папок и файлов в названии которых присутствует comments и расположенных в любых папках. (в данном случае запрещает индексировать комментарии)

Disallow: *?s= - запрещает индексировать страницы поиска

Приведенные выше строки вполне можно использовать в качестве рабочего файла robots.txt для wordpress. Только в 36, 38 строках необходимо вписать адрес вашего сайта и ОБЯЗАТЕЛЬНО УБРАТЬ номера строк. И у вас получится рабочий файл robots.txt для wordpress, адаптированный под любую поисковую систему. Единственная особенность - размер рабочего файла robots.txt для сайта wordpress не должен превышать 32 кБ дискового пространства.

Если вдруг где-либо в интернете вы встретите предложение применить директивы расширенного формата Sitemap, предназначенного для индексирования картинок, видео и RSS/Atom-фидов, то не соглашайтесь. Яндекс не поддерживает обработку расширенных форматов Sitemap для картинок, видео и RSS/Atom-фидов. Ваши файлы Sitemap окажутся некорректными для яндекса и могут возникнуть проблемы с индексацией ваших страниц. А так как 60-80% трафика у нас как правило идет от яндекса, то потери количества посетителей могут быть очень существенными. Будьте внимательны в этом вопросе.

Если вас абсолютно не интересует Яндекс, то строки 18-35 вам не понадобятся вообще. На этом пожалуй всё. Надеюсь что статья оказалась полезной. Если есть вопросы пишите в комментариях.

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

2. Понятие файла robots.txt и требования, предъявляемые к нему

Файл /robots.txt предназначен для указания всем поисковым роботам (spiders) индексировать информационные сервера так, как определено в этом файле, т.е. только те директории и файлы сервера, которые не описаны в /robots.txt. Этот файл должен содержать 0 или более записей, которые связаны с тем или иным роботом (что определяется значением поля agent_id) и указывают для каждого робота или для всех сразу, что именно им не надо индексировать.

Синтаксис файла позволяет задавать запретные области индексирования, как для всех, так и для определенных, роботов.

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

Основные требования:

  • все буквы в названии файла должны быть прописными, т. е. должны иметь нижний регистр:
  • robots.txt – правильно,
  • Robots.txt или ROBOTS.TXT – неправильно;
  • файл robots.txt должен создаваться в текстовом формате Unix. При копировании данного файла на сайт ftp-клиент должен быть настроен на текстовый режим обмена файлами;
  • файл robots.txt должен быть размещен в корневом каталоге сайта.

3. Содержимое файла robots.txt

Файл robots.txt включает в себя две записи: «User-agent» и «Disallow». Названия данных записей не чувствительны к регистру букв.

Некоторые поисковые системы поддерживают еще и дополнительные записи. Так, например, поисковая система «Yandex» использует запись «Host» для определения основного зеркала сайта (основное зеркало сайта – это сайт, находящийся в индексе поисковых систем).

Каждая запись имеет свое предназначение и может встречаться несколько раз, в зависимости от количества закрываемых от индексации страниц или (и) директорий и количества роботов, к которым Вы обращаетесь.

Предполагается следующий формат строк файла robots.txt:

имя_записи [необязательные

пробелы]: [необязательные

пробелы]значение [необязательные пробелы]

Чтобы файл robots.txt считался верным, необходимо, чтобы, как минимум, одна директива «Disallow» присутствовала после каждой записи «User-agent».

Полностью пустой файл robots.txt эквивалентен его отсутствию, что предполагает разрешение на индексирование всего сайта.

Запись «User-agent»

Запись «User-agent» должна содержать название поискового робота. В данной записи можно указать каждому конкретному роботу, какие страницы сайта индексировать, а какие нет.

Пример записи «User-agent», где обращение происходит ко всем поисковым системам без исключений и используется символ «*»:

Пример записи «User-agent», где обращение происходит только к роботу поисковой системы Rambler:

User-agent: StackRambler

Робот каждой поисковой системы имеет свое название. Существует два основных способа узнать его (название):

на сайтах многих поисковых систем присутствует специализированный§ раздел «помощь веб-мастеру», в котором часто указывается название поискового робота;

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

Запись «Disallow»

Запись «Disallow» должна содержать предписания, которые указывают поисковому роботу из записи «User-agent», какие файлы или (и) каталоги индексировать запрещено.

Рассмотрим различные примеры записи «Disallow».

Пример записи в robots.txt (разрешить все для индексации):

Disallow:

Пример (сайт полностью запрещен к . Для этого используется символ «/»):Disallow: /

Пример (для индексирования запрещен файл «page.htm», находящийся в корневом каталоге и файл «page2.htm», располагающийся в директории «dir»):

Disallow: /page.htm

Disallow: /dir/page2.htm

Пример (для индексирования запрещены директории «cgi-bin» и «forum» и, следовательно, все содержимое данной директории):

Disallow: /cgi-bin/

Disallow: /forum/

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

Пример (для индексирования запрещены директория «dir», а так же все файлы и директории, начинающиеся буквами «dir», т. е. файлы: «dir.htm», «direct.htm», директории: «dir», «directory1», «directory2» и т. д.):

Запись «Allow»

Опция «Allow» используется для обозначения исключений из неиндексируемых директорий и страниц, которые заданы записью «Disallow».

Например, есть запись следующего вида:

Disallow: /forum/

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

Disallow: /forum/

Allow: /forum/page1

Запись «Sitemap»

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

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

Запись «Host»

Запись «host» используется поисковой системой «Yandex». Она необходима для определения основного зеркала сайта, т. е. если сайт имеет зеркала (зеркало – это частичная или полная копия сайта. Наличие дубликатов ресурса бывает необходимо владельцам высокопосещаемых сайтов для повышения надежности и доступности их сервиса), то с помощью директивы «Host» можно выбрать то имя, под которым Вы хотите быть проиндексированы. В противном случае «Yandex» выберет главное зеркало самостоятельно, а остальные имена будут запрещены к индексации.

В целях совместимости с поисковыми роботами, которые при обработке файла robots.txt не воспринимают директиву Host, необходимо добавлять запись «Host» непосредственно после записей Disallow.

Пример: www.site.ru – основное зеркало:

Host: www.site.ru

Запись «Crawl-delay»

Эту запись воспринимает Яндекс. Она является командой для робота делать промежутки заданного времени (в секундах) между индексацией страниц. Иногда это бывает нужно для защиты сайта от перегрузок.

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

Комментарии

Любая строка в robots.txt, начинающаяся с символа «#», считается комментарием. Разрешено использовать комментарии в конце строк с директивами, но некоторые роботы могут неправильно распознать данную строку.

Пример (комментарий находится на одной строке вместе с директивой):

Disallow: /cgi-bin/ #комментарий

Желательно размещать комментарий на отдельной строке. Пробел в начале строки разрешается, но не рекомендуется.

4. Примеры файлов robots.txt

Пример (комментарий находится на отдельной строке):
Disallow: /cgi-bin/#комментарий

Пример файла robots.txt, разрешающего всем роботам индексирование всего сайта:

Host: www.site.ru

Пример файла robots.txt, запрещающего всем роботам индексирование сайта:

Host: www.site.ru

Пример файла robots.txt, запрещающего всем роботам индексирование директории «abc», а так же всех директорий и файлов, начинающихся с символов «abc».

Host: www.site.ru

Пример файла robots.txt, запрещающего индексирование страницы «page.htm», находящейся в корневом каталоге сайта, поисковым роботом «googlebot»:

User-agent: googlebot

Disallow: /page.htm

Host: www.site.ru

Пример файла robots.txt, запрещающего индексирование:

– роботу «googlebot» – страницы «page1.htm», находящейся в директории «directory»;

– роботу «Yandex» – все директории и страницы, начинающиеся символами «dir» (/dir/, /direct/, dir.htm, direction.htm, и т. д.) и находящиеся в корневом каталоге сайта.

User-agent: googlebot

Disallow: /directory/page1.htm

User-agent: Yandex

5. Ошибки, связанные с файлом robots.txt

Одна из самых распространенных ошибок – перевернутый синтаксис.

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

Disallow: Yandex

Правильно:

User-agent: Yandex

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

Disallow: /dir/ /cgi-bin/ /forum/

Правильно:

Disallow: /cgi-bin/

Disallow: /forum/

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

Ошибка, связанная с неправильным использованием регистра в файле robots.txt. Например, если необходимо закрыть директорию «cgi-bin», то в записе «Disallow» нельзя писать название директории в верхнем регистре «cgi-bin».

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

Disallow: /CGI-BIN/

Правильно:

Disallow: /cgi-bin/

Ошибка, связанная с отсутствием открывающей наклонной черты при закрытии директории от индексирования.

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

Disallow: page.HTML

Правильно:

Disallow: /page.HTML

Чтобы избежать наиболее распространенных ошибок, файл robots.txt можно проверить средствами Яндекс.Вебмастера или Инструментами для вебмастеров Google. Проверка осуществляется после загрузки файла.

6. Заключение

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

User-agent: *\nAllow:

Disallow: *

Disallow: /

Яндекс.Вебмастере


Команда Поиска

Как запрещающий сигнал в robots.txt.

Часто индексирующий робот не может получить доступ к сайтам из-за установленного по ошибке в robots.txt запрета на посещение всех страниц. Часть этих ошибок связана с использованием пустой директивы Allow:

User-agent: *\nAllow:

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

Поэтому мы решили изменить обработку роботом такой директивы - сейчас она игнорируется при обнаружении в robots.txt. Если на вашем сайте намеренно используются пустое правило Allow в robots.txt, то для того, чтобы робот корректно учитывал запрет, правило нужно изменить на директиву Disallow:

Disallow: *

Disallow: /

Проверить, что разрешено, а что запрещено в robots.txt можно в Яндекс.Вебмастере . Рекомендуем обратить особое внимание на пустые значения для Allow - если нужно запретить индексирование, то их быть не должно.

Теперь ограничения в robots.txt работают еще надёжнее
Команда Поиска

","contentType":"text/html"},"proposedBody":{"source":"

Как запрещающий сигнал в robots.txt.

Часто индексирующий робот не может получить доступ к сайтам из-за установленного по ошибке в robots.txt запрета на посещение всех страниц. Часть этих ошибок связана с использованием пустой директивы Allow:

User-agent: *\nAllow:

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

Поэтому мы решили изменить обработку роботом такой директивы - сейчас она игнорируется при обнаружении в robots.txt. Если на вашем сайте намеренно используются пустое правило Allow в robots.txt, то для того, чтобы робот корректно учитывал запрет, правило нужно изменить на директиву Disallow:

Disallow: *

Disallow: /

Проверить, что разрешено, а что запрещено в robots.txt можно в Яндекс.Вебмастере . Рекомендуем обратить особое внимание на пустые значения для Allow - если нужно запретить индексирование, то их быть не должно.

Теперь ограничения в robots.txt работают еще надёжнее
Команда Поиска

Как запрещающий сигнал в robots.txt.

Часто индексирующий робот не может получить доступ к сайтам из-за установленного по ошибке в robots.txt запрета на посещение всех страниц. Часть этих ошибок связана с использованием пустой директивы Allow:

User-agent: *\nAllow:

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

Поэтому мы решили изменить обработку роботом такой директивы - сейчас она игнорируется при обнаружении в robots.txt. Если на вашем сайте намеренно используются пустое правило Allow в robots.txt, то для того, чтобы робот корректно учитывал запрет, правило нужно изменить на директиву Disallow:

Disallow: *

Disallow: /

Проверить, что разрешено, а что запрещено в robots.txt можно в Яндекс.Вебмастере . Рекомендуем обратить особое внимание на пустые значения для Allow - если нужно запретить индексирование, то их быть не должно.

Теперь ограничения в robots.txt работают еще надёжнее
Команда Поиска

","contentType":"text/html"},"authorId":"30364427","slug":"izmeneniya-v-obrabotke-robots-txt","canEdit":false,"canComment":false,"isBanned":false,"canPublish":false,"viewType":"minor","isDraft":false,"isOnModeration":false,"isSubscriber":false,"commentsCount":45,"modificationDate":"Fri Jun 10 2016 14:41:00 GMT+0000 (Coordinated Universal Time)","isAutoPreview":true,"showPreview":true,"tags":[{"displayName":"Яндекс.Вебмастер","slug":"yandeks-vebmaster","url":"/blog??tag=yandeks-vebmaster"},{"displayName":"Индексирование","slug":"indeksirovanie","url":"/blog??tag=indeksirovanie"},{"displayName":"robots.txt","slug":"robots-txt","url":"/blog??tag=robots-txt"}],"isModerator":false,"commentsEnabled":true,"url":"/blog/575aa00fef202d16005fe180","urlTemplate":"/blog/%slug%","fullBlogUrl":"https://webmaster.yandex.ru/blog","addCommentUrl":"/blog/createComment/webmaster/575aa00fef202d16005fe180","updateCommentUrl":"/blog/updateComment/webmaster/575aa00fef202d16005fe180","addCommentWithCaptcha":"/blog/createWithCaptcha/webmaster/575aa00fef202d16005fe180","changeCaptchaUrl":"/blog/api/captcha/new","putImageUrl":"/blog/image/put","urlBlog":"/blog","urlEditPost":"/blog/575aa00fef202d16005fe180/edit","urlSlug":"/blog/post/generateSlug","urlPublishPost":"/blog/575aa00fef202d16005fe180/publish","urlUnpublishPost":"/blog/575aa00fef202d16005fe180/unpublish","urlRemovePost":"/blog/575aa00fef202d16005fe180/removePost","urlDraft":"/blog/575aa00fef202d16005fe180/draft","urlDraftTemplate":"/blog/%slug%/draft","urlRemoveDraft":"/blog/575aa00fef202d16005fe180/removeDraft","urlTagSuggest":"/blog/api/suggest/webmaster","urlAfterDelete":"/blog","isAuthor":false,"subscribeUrl":"/blog/api/subscribe/575aa00fef202d16005fe180","unsubscribeUrl":"/blog/api/unsubscribe/575aa00fef202d16005fe180","urlEditPostPage":"/blog/575aa00fef202d16005fe180/edit","urlForTranslate":"/blog/post/translate","urlRelateIssue":"/blog/post/updateIssue","urlUpdateTranslate":"/blog/post/updateTranslate","urlLoadTranslate":"/blog/post/loadTranslate","urlTranslationStatus":"/blog/575aa00fef202d16005fe180/translationInfo","urlRelatedArticles":"/blog/api/relatedArticles/webmaster/575aa00fef202d16005fe180","author":{"id":"30364427","uid":{"value":"30364427","lite":false,"hosted":false},"aliases":{},"login":"webmaster","display_name":{"name":"webmaster","avatar":{"default":"0/0-0","empty":true}},"address":"[email protected]","defaultAvatar":"0/0-0","imageSrc":"https://avatars.mds.yandex.net/get-yapic/0/0-0/islands-middle","isYandexStaff":false},"originalModificationDate":"2016-06-10T11:41:55.364Z","socialImage":{"orig":{"fullPath":"https://avatars.mds.yandex.net/get-yablogs/51778/file_1461153249801/orig"}}}}}">

Изменения в обработке robots.txt

Поисковые роботы Яндекса перестают учитывать как запрещающий сигнал в robots.txt.

Часто индексирующий робот не может получить доступ к сайтам из-за установленного по ошибке в robots.txt запрета на посещение всех страниц. Часть этих ошибок связана с использованием пустой директивы Allow:

User-agent: * Allow:

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

Поэтому мы решили изменить обработку роботом такой директивы - сейчас она игнорируется при обнаружении в robots.txt. Если на вашем сайте намеренно используются пустое правило Allow в robots.txt, то для того, чтобы робот корректно учитывал запрет, правило нужно изменить на директиву Disallow:

Disallow: *

Disallow: /

Проверить, что разрешено, а что запрещено в robots.txt можно в . Рекомендуем обратить особое внимание на пустые значения для Allow - если нужно запретить индексирование, то их быть не должно.

Теперь ограничения в robots.txt работают еще надёжнее
Команда Поиска

Понравилась статья? Поделиться с друзьями: