Роботы яндекса. Роботы яндекса Robots txt что должно быть

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

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

Зачем нужен файл robots.txt для сайта

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

Правильная настройка robots.txt позволит:

  • исключить из индекса дубликаты и различные мусорные страницы;
  • наложить запрет на индексацию страниц, файлов и папок, которые мы хотим скрыть;
  • вообще отказать в индексации некоторым поисковым роботам (например, Yahoo, чтобы скрыть от конкурентов информацию о входящих ссылках);
  • указать главное зеркало сайта (с www или без www);
  • указать путь к карте сайта sitemap.xml.

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

Для этой цели существуют специальные генераторы и плагины, но правильнее это сделать вручную.

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

Если лень заморачиваться с этим, то ниже я приведу пример, с моей точки зрения, правильного robots.txt для WordPress с моего блога. Можно использовать его, заменив имя домена в трех местах.

Правила создания и директивы robots.txt

Для успешной поисковой оптимизации блога надо знать некоторые правила создания robots.txt:

  • Отсутствие или пустой файл robots.txt будет означать, что поисковикам разрешено индексировать все содержание веб-ресурса.
  • robots.txt должен открываться по адресу ваш сайт.ru/robots.txt , отдавая роботу код ответа 200 OK и иметь размер не более 32 Кб. Файл, который не удастся открыть (например, из-за 404 ошибки) или большего размера, будет считаться разрешающим.
  • Количество директив в файле не должно быть больше 1024. Длина одной строки – не более 1024 символов.
  • Правильный файл robots.txt может иметь несколько инструкций, каждая из которых должна начинаться с директивы User-agent и должна содержать хотя бы одну директиву Disallow. Обычно пишут инструкции в robots.txt для Google и всех остальных роботов и отдельно для Яндекса.

Основные директивы robots.txt:

User-agent – указывает, какому поисковому роботу адресована инструкция.

Символ “*” означает, что это относится ко всем роботам, например:

User-agent: *

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

User-agent: Yandex

Если указана директива для конкретного робота, директива User-agent: * ним не учитывается.

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

  • Запрет индексации всего сайта всем роботам:

    User-agent: *
    Disallow: /

  • Запрещено индексировать Яндексу все страницы, начинающиеся с /wp-admin:

    User-agent: Yandex
    Disallow: /wp-admin

  • Пустая директива Disallow разрешает индексировать все и аналогична Allow. Например, разрешаю индексировать Яндексу весь сайт:

    User-agent: Yandex
    Disallow:

  • И наоборот, запрещаю индексировать все страницы всем поисковым роботам:

    User-agent: *
    Allow:

  • Директивы Allow и Disallow из одного блока User-agent сортируются по длине префикса URL и выполняются последовательно. Если для одной страницы сайта подходит несколько директив, то выполняется последняя в списке. Теперь на использование директив роботом порядок их написания не имеет значения. Если у директив префиксы одинаковой длины, то первой выполняется Allow. Такие правила вступили в силу с 8.03.12 года. Например, разрешает индексировать только страницы начинающиеся с /wp-includes:

    User-agent: Yandex
    Disallow: /
    Allow: /wp-includes

Sitemap – указывает адрес карты сайта XML. На одном сайте может быть несколько директив Sitemap, которые могут быть вложенными. Все адреса файлов Sitemap надо указать в robots.txt, чтобы ускорить индексацию сайта:

Sitemap: http://сайт/sitemap.xml.gz
Sitemap: http://сайт/sitemap.xml

Host – сообщает роботу-зеркальщику, какое зеркало сайта считать главным.

Если сайт доступен по нескольким адресам (например, с www и без www), то это создает полные дубли страниц, за которые можно попасть под фильтр. Также, в этом случае, может быть проиндексирована не основная страница, а основная, наоборот, будет исключена из индекса поисковой системы. Чтобы этого не допустить служит директива Host, которая предназначена в файле robots.txt только для Яндекса и может быть только одна. Пишется она после Disallow и Allow и выглядит так:

Host: сайт

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

User-agent: Yandex
Crawl-delay: 4

Clean-param – поддерживается только Яндексом и служит для устранения дубликатов страниц с переменными, склеивая их в одну. Тем самым робот Яндекса не будет много раз закачивать похожие страницы, например, связанные с реферальными ссылками. Я пока этой директивой не пользовался, но в помощи по robots.txt для Яндекса, по ссылке в начале статьи, можно ознакомиться с этой директивой подробно.

Спецсимволы * и $ используются в robots.txt для указания путей директив Disallow и Allow:

  • Спецсимвол “*” означает любую последовательность символов. Например, Disallow: /*?* означает запрет на любые страницы, где в адресе встречается “?”, не зависимо от того, какие символы идут до и после этого знака. По умолчанию спецсимвол “*” добавляется к концу каждого правила, даже если он не прописан специально.
  • Символ “$” отменяет “*” на конце правила и означает строгое соответствие. Например, директива Disallow: /*?$ будет запрещать индексацию страниц, заканчивающихся знаком “?”.

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

Вот пример моего файла robots.txt для блога на движке Вордпресс:

User-agent: * Disallow: /cgi-bin Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-content/plugins Disallow: /wp-content/cache Disallow: /wp-content/themes Disallow: /trackback Disallow: */trackback Disallow: */*/trackback Disallow: /feed/ Disallow: */*/feed/*/ Disallow: */feed Disallow: /*?* Disallow: /?s= User-agent: Yandex Disallow: /cgi-bin Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-content/plugins Disallow: /wp-content/cache Disallow: /wp-content/themes Disallow: /trackback Disallow: */trackback Disallow: */*/trackback Disallow: /feed/ Disallow: */*/feed/*/ Disallow: */feed Disallow: /*?* Disallow: /?.ru/sitemap.xml..xml

User-agent: * Disallow: /cgi-bin Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-content/plugins Disallow: /wp-content/cache Disallow: /wp-content/themes Disallow: /trackback Disallow: */trackback Disallow: */*/trackback Disallow: /feed/ Disallow: */*/feed/*/ Disallow: */feed Disallow: /*?* Disallow: /?s= User-agent: Yandex Disallow: /cgi-bin Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-content/plugins Disallow: /wp-content/cache Disallow: /wp-content/themes Disallow: /trackback Disallow: */trackback Disallow: */*/trackback Disallow: /feed/ Disallow: */*/feed/*/ Disallow: */feed Disallow: /*?* Disallow: /?.ru/sitemap.xml..xml

Чтобы не морочить себе голову с созданием правильного robots.txt для WordPress, можете использовать этот файл. Проблем с индексацией нет. У меня стоит скрипт защиты от копирования, поэтому будет удобнее готовый robots.txt скачать и загрузить его на свой хостинг. Только не забудьте заменить имя моего сайта на свое в директивах Host и Sitemap.

Полезные дополнения по правильной настройке файла robots.txt для WordPress

Если на вашем блоге Вордпресс установлены древовидные комментарии, то они создают дубли страниц вида ?replytocom= . В robots.txt такие страницы закрыты директивой Disallow: /*?* . Но это не выход и запреты лучше удалить, а с replytocom бороться другим способом. Каким, .

Таким образом, актуальный robots.txt на июль 2014 года выглядит так:

User-agent: * Disallow: /wp-includes Disallow: /wp-feed Disallow: /wp-content/plugins Disallow: /wp-content/cache Disallow: /wp-content/themes User-agent: Yandex Disallow: /wp-includes Disallow: /wp-feed Disallow: /wp-content/plugins Disallow: /wp-content/cache Disallow: /wp-content/themes Host: site.ru User-agent: Googlebot-Image Allow: /wp-content/uploads/ User-agent: YandexImages Allow: /wp-content/uploads/ Sitemap: http://site.ru/sitemap.xml

User-agent: * Disallow: /wp-includes Disallow: /wp-feed Disallow: /wp-content/plugins Disallow: /wp-content/cache Disallow: /wp-content/themes User-agent: Yandex Disallow: /wp-includes Disallow: /wp-feed Disallow: /wp-content/plugins Disallow: /wp-content/cache Disallow: /wp-content/themes Host: site.ru User-agent: Googlebot-Image Allow: /wp-content/uploads/ User-agent: YandexImages Allow: /wp-content/uploads/ Sitemap: http://site.ru/sitemap.xml

В нем дополнительно прописаны правила для роботов-индесаторов картинок.

User-agent: Mediapartners-Google
Disallow:

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

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

Disallow: /author/
Disallow: /tag
Disallow: /category/*/*
Disallow: /20*

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

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

Последовательно заполняйте все необходимые поля. По мере ваших указаний, Вы будете видеть наполнение вашего Robots.txt директивами. Ниже подробно описаны все директивы файла Robots.txt.

Пометьте , скопируйте и вставьте текст в текстовый редактор. Сохраните файл как "robots.txt" в корневой директории Вашего сайта.

Описание формата файла robots.txt

Файл robots.txt состоит из записей, каждая из которых состоит из двух полей: строки с названием клиентского приложения (user-agent), и одной или нескольких строк, начинающихся с директивы Disallow:

Директива ":" значение

Robots.txt должен создаваться в текстовом формате Unix. Большинство хороших текстовых редакторов уже умеют превращать символы перевода строки Windows в Unix. Либо ваш FTP-клиент должен уметь это делать. Для редактирования не пытайтесь пользоваться HTML-редактором, особенно таким, который не имеет текстового режима отображения кода.

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

Для Рамблера: User-agent: StackRambler Для Яндекса: User-agent: Yandex Для Гугла: User-Agent: googlebot

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

User-agent: *

Директива Disallow :

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

Следующая директива запрещает индексацию каталога /cgi-bin/:

Disallow: /cgi-bin/ Обратите внимание на / в конце названия директории! Чтобы запрещать посещение именно каталога "/dir" , инструкция должна иметь вид: "Disallow: /dir/" . А строка "Disallow: /dir" запрещает посещение всех страниц сервера, полное имя которых (от корня сервера) начинается с "/dir". Например: "/dir.html", "/dir/index.html", "/directory.html".

Записанная следующим образом директива запрещает индексацию файла index.htm находящегося в корне:

Disallow: /index.htm

Директиву Allow понимает только Яндекс.

User-agent: Yandex Allow: /cgi-bin Disallow: / # запрещает скачивать все, кроме страниц начинающихся с "/cgi-bin" Для остальных поисковиков вам придется перечислять все закрытые документы. Продумайте структуру сайта, чтобы закрытые для индексирования документы были собраны по возможности в одном месте.

Если директива Disallow будет пустой, это значит, что робот может индексировать ВСЕ файлы. Как минимум одна директива Disallow должна присутствовать для каждого поля User-agent , чтобы robots.txt считался верным. Полностью пустой robots.txt означает то же самое, как если бы его не было вообще.

Робот Рамблера понимает * как любой символ, поэтому инструкция Disallow: * означает запрещение индексации всего сайта.

Директивы Allow, Disallow без параметров. Отсутствие параметров у директив Allow , Disallow трактуется следующим образом: User-agent: Yandex Disallow: # тоже что и Allow: / User-agent: Yandex Allow: # тоже что и Disallow: /

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

User-agent: Yandex Disallow: /cgi-bin/*.aspx # запрещает "/cgi-bin/example.aspx" и "/cgi-bin/private/test.aspx" Disallow: /*private # запрещает не только "/private", но и "/cgi-bin/private" Спецсимвол "$" .
По умолчанию к концу каждого правила, описанного в robots.txt, приписывается "*", например: User-agent: Yandex Disallow: /cgi-bin* # блокирует доступ к страницам начинающимся с "/cgi-bin" Disallow: /cgi-bin # то же самое чтобы отменить "*" на конце правила, можно использовать спецсимвол "$", например: User-agent: Yandex Disallow: /example$ # запрещает "/example", но не запрещает "/example.html" User-agent: Yandex Disallow: /example # запрещает и "/example", и "/example.html" User-agent: Yandex Disallow: /example$ # запрещает только "/example" Disallow: /example*$ # так же, как "Disallow: /example" запрещает и /example.html и /example

Директива Host .

Если ваш сайт имеет зеркала, специальный робот зеркальщик определит их и сформирует группу зеркал вашего сайта. В поиске будет участвовать только главное зеркало. Вы можете указать его при помощи robots.txt, используя директиву "Host", определив в качестве ее параметра имя главного зеркала. Директива "Host" не гарантирует выбор указанного главного зеркала, тем не менее, алгоритм при принятии решения учитывает ее с высоким приоритетом. Пример: #Если www.glavnoye-zerkalo.ru главное зеркало сайта, то robots.txt для #www.neglavnoye-zerkalo.ru выглядит так User-Agent: * Disallow: /forum Disallow: /cgi-bin Host: www.glavnoye-zerkalo.ru В целях совместимости с роботами, которые не полностью следуют стандарту при обработке robots.txt, директиву "Host" необходимо добавлять в группе, начинающейся с записи "User-Agent", непосредственно после директив "Disallow"("Allow"). Аргументом директивы "Host" является доменное имя с номером порта (80 по умолчанию), отделенным двоеточием. Параметр директивы Host обязан состоять из одного корректного имени хоста (т.е. соответствующего RFC 952 и не являющегося IP-адресом) и допустимого номера порта. Некорректно составленные строчки "Host:" игнорируются.

Примеры игнорируемых директив Host:

Host: www.myhost-.ru Host: www.-myhost.ru Host: www.myhost.ru:100000 Host: www.my_host.ru Host: .my-host.ru:8000 Host: my-host.ru. Host: my..host.ru Host: www.myhost.ru/ Host: www.myhost.ru:8080/ Host: 213.180.194.129 Host: www.firsthost.ru,www.secondhost.ru # в одной строке - один домен! Host: www.firsthost.ru www.secondhost.ru # в одной строке - один домен!! Host: экипаж-связь.рф # нужно использовать punycode

Директива Crawl-delay

Задает таймаут в секундах, с которым поисковый робот закачивает страницы с вашего сервера (Crawl-delay).

Если сервер сильно нагружен и не успевает отрабатывать запросы на закачку, воспользуйтесь директивой "Crawl-delay". Она позволяет задать поисковому роботу минимальный период времени (в секундах) между концом закачки одной страницы и началом закачки следующей. В целях совместимости с роботами, которые не полностью следуют стандарту при обработке robots.txt, директиву "Crawl-delay" необходимо добавлять в группе, начинающейся с записи "User-Agent", непосредственно после директив "Disallow" ("Allow").

Поисковый робот Яндекса поддерживает дробные значения Crawl-Delay, например, 0.5. Это не гарантирует, что поисковый робот будет заходить на ваш сайт каждые полсекунды, но дает роботу больше свободы и позволяет ускорить обход сайта.

User-agent: Yandex Crawl-delay: 2 # задает таймаут в 2 секунды User-agent: * Disallow: /search Crawl-delay: 4.5 # задает таймаут в 4.5 секунды

Директива Clean-param

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

Пустые строки и комментарии

Пустые строки допускаются между группами инструкций, вводимыми User-agent .

Инструкция Disallow учитывается, только если она подчинена какой-либо строке User-agent - то есть если выше нее есть строка User-agent .

Любой текст от знака решетки " # " до конца строки считается комментарием и игнорируется.

Пример:

Следующий простой файл robots.txt запрещает индексацию всех страниц сайта всем роботам, кроме робота Рамблера, которому, наоборот, разрешена индексация всех страниц сайта.

# Инструкции для всех роботов User-agent: * Disallow: / # Инструкции для робота Рамблера User-agent: StackRambler Disallow:

Распространенные ошибки:

Перевернутый синтаксис: User-agent: / Disallow: StackRambler А должно быть так: User-agent: StackRambler Disallow: / Несколько директив Disallow в одной строке: Disallow: /css/ /cgi-bin/ /images/ Правильно так: Disallow: /css/ Disallow: /cgi-bin/ Disallow: /images/
    Примечания:
  1. Недопустимо наличие пустых переводов строки между директивами "User-agent" и "Disallow" ("Allow"), а также между самими "Disallow" ("Allow") директивами.
  2. В соответствии со стандартом перед каждой директивой "User-agent" рекомендуется вставлять пустой перевод строки.

Мы выпустили новую книгу «Контент-маркетинг в социальных сетях: Как засесть в голову подписчиков и влюбить их в свой бренд».

Директива Host – это команда или правило, сообщающее поисковой машине о том, какое (с www или без) считать основным. Находится директива Host в файле и предназначена исключительно для Яндекса.

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

Поисковые роботы Яндекса обходят страницы сайтов и добавляют собранную информацию в базу данных по собственному графику. В процессе индексации они самостоятельно решают, какую страницу необходимо обработать. К примеру, роботы обходят стороной различные форумы, доски объявлений, каталоги и прочие ресурсы, где индексация бессмысленна. Также они могут определять главный сайт и зеркала. Первые подлежат индексации, вторые – нет. В процессе часто возникают ошибки. Повлиять на это можно посредством использования директивы Host в файл Robots.txt.

Зачем нужен файл Robots.txt

Robots – это обычный текстовый файл. Его можно создать через блокнот, однако работать с ним (открывать и редактировать информацию) рекомендуется в текстовом редакторе Notepad++ . Необходимость данного файла при оптимизации веб-ресурсов обуславливается несколькими факторами:

  1. Если файл Robots.txt отсутствует, сайт будет постоянно перегружен из-за работы поисковых машин.
  2. Существует риск, что индексироваться будут лишние страницы или сайты зеркала.

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

Как оформить директиву Host в файле Robots.txt

Файл Robots включает в себя директиву Host – инструкцию для поисковой машины о том, где главный сайт, а где его зеркала.

Директива имеет следующую форму написания: Host: [необязательный пробел] [значение] [необязательный пробел]. Правила написания директивы требуют соблюдения следующих пунктов:

  • Наличие в директиве Host протокола HTTPS для поддержки шифрования. Его необходимо использовать, если доступ к зеркалу осуществляется только по защищенному каналу.
  • Доменное имя, не являющееся IP-адресом, а также номер порта веб-ресурса.

Корректно составленная директива позволит веб-мастеру обозначить для поисковых машин, где главное зеркало. Остальные будут считаться второстепенными и, следовательно, индексироваться не будут. Как правило, зеркала можно отличить по наличию или отсутствию аббревиатуры www. Если пользователь не укажет главное зеркало веб-ресурса посредством Host, поисковая система Яндекс пришлет соответствующее уведомление в Вебмастер. Также уведомление будет выслано, если в файле Роботс задана противоречивая директива Host.

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

В случае, если ресурс не отображается на странице выдачи, пользователь может самостоятельно назначить его главным зеркалом, перейдя в соответствующий раздел в Яндекс.Вебмастере. Если веб-мастеру необходимо, чтобы доменное имя сайта не содержало www, следует не указывать его в Хосте.

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

Хост в файле Роботс

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

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

Чтобы поисковые машины правильно считывали информацию при обработке файла robots.txt, необходимо прописывать директиву Host в соответствующую группу, начинающуюся после слов User-Agent. Однако, роботы смогут использовать Host независимо от того, будет директива прописана по правилам или нет, поскольку она является межсекционной.

Цель этого руководства – помочь веб-мастерам и администраторам в использовании 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

В SEO мелочей не бывает. Иногда на продвижение сайта может оказать влияние всего лишь один небольшой файл — Robots.txt. Если вы хотите, чтобы ваш сайт зашел в индекс, чтобы поисковые роботы обошли нужные вам страницы, нужно прописать для них рекомендации.

«Разве это возможно?» , — спросите вы. Возможно. Для этого на вашем сайте должен быть файл robots.txt. Как правильно составить файл роботс , настроить и добавить на сайт – разбираемся в этой статье.

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

Robots.txt – это обычный текстовый файл , который содержит в себе рекомендации для поисковых роботов: какие страницы нужно сканировать, а какие нет.

Важно: файл должен быть в кодировке UTF-8, иначе поисковые роботы могут его не воспринять.

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

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

В файле Robots.txt можно задать три типа команд для поисковых пауков:

  • сканирование запрещено;
  • сканирование разрешено;
  • сканирование разрешено частично.

Все это прописывается с помощью директив.

Как создать правильный файл Robots.txt для сайта

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

Также можно использовать другие программы – Notepad, например. Есть и онлайн сервисы, которые могут сгенерировать файл автоматически. Например, такие как CY-PR.com или Mediasova .

Вам просто нужно указать адрес своего сайта, для каких поисковых систем нужно задать правила, главное зеркало (с www или без). Дальше сервис всё сделает сам.

Лично я предпочитаю старый «дедовский» способ – прописать файл вручную в блокноте. Есть ещё и «ленивый способ» — озадачить этим своего разработчика 🙂 Но даже в таком случае вы должны проверить, правильно ли там всё прописано. Поэтому давайте разберемся, как составить этот самый файл, и где он должен находиться.

Готовый файл Robots.txt должен находиться в корневой папке сайта. Просто файл, без папки:

Хотите проверить, есть ли он на вашем сайте? Вбейте в адресную строку адрес: site.ru/robots.txt . Вам откроется вот такая страничка (если файл есть):

Файл состоит из нескольких блоков, отделённых отступом. В каждом блоке – рекомендации для поисковых роботов разных поисковых систем (плюс блок с общими правилами для всех), и отдельный блок со ссылками на карту сайта – Sitemap.

Внутри блока с правилами для одного поискового робота отступы делать не нужно.

Каждый блок начинается директивой User-agent.

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

Нужно указывать относительные адреса страниц, а не абсолютные. Относительные – это без «www.site.ru». Например, вам нужно запретить к индексации страницу www.site.ru/shop . Значит после двоеточия ставим пробел, слэш и «shop»:

Disallow: /shop.

Звездочка (*) обозначает любой набор символов.

Знак доллара ($) – конец строки.

Вы можете решить – зачем писать файл с нуля, если его можно открыть на любом сайте и просто скопировать себе?

Для каждого сайта нужно прописывать уникальные правила. Нужно учесть особенности CMS . Например, та же админпанель находится по адресу /wp-admin на движке WordPress, на другом адрес будет отличаться. То же самое с адресами отдельных страниц, с картой сайта и прочим.

Настройка файла Robots.txt: индексация, главное зеркало, диррективы

Как вы уже видели на скриншоте, первой идет директива User-agent. Она указывает, для какого поискового робота будут идти правила ниже.

User-agent: * — правила для всех поисковых роботов, то есть любой поисковой системы (Google, Yandex, Bing, Рамблер и т.п.).

User-agent: Googlebot – указывает на правила для поискового паука Google.

User-agent: Yandex – правила для поискового робота Яндекс.

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

Disallow: Запрет на индексацию

Чтобы запретить индексацию сайта в целом или отдельных страниц, используется директива Disallow.

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

User-agent: *

Disallow: /

Таким образом всем поисковым роботам запрещено индексировать контент на сайте.

А вот так можно открыть сайт для индексации:

User-agent: *

Disallow:

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

Чтобы закрыть от индексации отдельные страницы, нужно указать их адрес. Я уже писала, как это делается:

User-agent: *

Disallow: /wp-admin

Таким образом на сайте закрыли от сторонних взглядов админпанель.

Что нужно закрывать от индексации в обязательном порядке:

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

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

User-agent: *

Disallow: /*. pdf$

Как отрыть сайт для индексации

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

User-agent: *

Allow: /uslugi

Disallow: /

Главное зеркало сайта

До 20 марта 2018 года в файле robots.txt для поискового робота Яндекс нужно было указывать главное зеркало сайта через директиву Host. Сейчас этого делать не нужно – достаточно настроить постраничный 301-редирект .

Что такое главное зеркало? Это какой адрес вашего сайта является главным – с www или без. Если не настроить редирект, то оба сайта будут проиндексированы, то есть, будут дубли всех страниц.

Карта сайта: robots.txt sitemap

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

Sitemap: site.ru/sitemap.xml

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

Директива Clean-param

В 2009 году Яндекс ввел новую директиву – Clean-param. С ее помощью можно описать динамические параметры, которые не влияют на содержание страниц. Чаще всего данная директива используется на форумах. Тут возникает много мусора, например id сессии, параметры сортировки. Если прописать данную директиву, поисковый робот Яндекса не будет многократно загружать информацию, которая дублируется.

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

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

Clean-param: sid&sort /forum/viewforum.php

Эта директива позволяет избежать дублей страниц с динамическими адресами (которые содержат знак вопроса).

Директива Crawl-delay

Эта директива придёт на помощь тем, у кого слабый сервер.

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

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

Так же и с сервером.

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