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

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

Что же из себя представляет файл robots.txt?

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

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

С помощью данного файла, вы можете запретить индексацию файлов движка WordPress. Или, скажем, секретного раздела вашего блога. Вы можете указать путь к карте Вашего блога и главное зеркало вашего блога. Здесь я имею ввиду, ваше доменное имя с www и без www.

Индексация сайта с robots.txt и без

Работа robots.txt

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

Основные директивы файла robots.txt

Для того чтобы разобраться с инструкциями, которые содержит файл robots.txt нужно разобраться с основными командами (директивы).

User-agent – данная команда обозначает доступ роботам к вашему сайту. Используя эту директиву можно создать инструкции индивидуально под каждого робота.

Пример:

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

User-agent: * — правила для всех роботов

Disallow и Allow – директивы запрета и разрешения. С помощью директивы Disallow запрещается индексация а с помощью Allow разрешается.

Пример запрета:

User-agent: *

Disallow: / — запрет ко всему сайта.

User-agent: Yandex

Disallow: /admin – запрет роботу Яндекса к страницам лежащим в папке admin.

Пример разрешения:

User-agent: *

Allow: /photo

Disallow: / — запрет ко всему сайту, кроме страниц находящихся в папке photo.

Примечание! директива Disallow: без параметра разрешает всё, а директива Allow: без параметра запрещает всё. И директивы Allow без Disallow не должно быть.

Sitemap – указывает путь к карте сайта в формате xml.

Пример:

Sitemap: https://1zaicev.ru/sitemap.xml.gz

Sitemap: https://1zaicev.ru/sitemap.xml

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

Пример:

User-agent: Yandex

Disallow: /wp-includes

Host: 1zaicev.ru

Примечание! адрес главного зеркала указывается без указания протокола передачи гипертекста (http://).

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

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

Мы рассмотрим создание стандартного (универсального) файла robots.txt для блога на WordPress. Вы всегда сможете дополнить его своими настройками.

Итак, приступаем. Нам понадобится обычный «блокнот», который есть в каждой операционной системе Windows. Или TextEdit в MacOS.

Открываем новый документ и вставляем в него вот эти команды:

User-agent: *
Disallow:
Sitemap: https://1zaicev.ru/sitemap.xml.gz
Sitemap: https://1zaicev.ru/sitemap.xml

User-agent: Yandex
Disallow: /wp-login.php
Disallow: /wp-register.php
Disallow: /cgi-bin
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /xmlrpc.php
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: /wp-content/languages
Disallow: /category/*/*
Disallow: /trackback
Disallow: */trackback
Disallow: */*/trackback
Disallow: /tag/
Disallow: /feed/
Disallow: */*/feed/*/
Disallow: */feed
Disallow: */*/feed
Disallow: /?feed=
Disallow: /*?*
Disallow: /?s=
Host: 1zaicev.ru

Не забудьте заменить параметры директив Sitemap и Host на свои.

Важно! при написании команд, допускается лишь один пробел. Между директивой и параметром. Ни в коем случае не делайте пробелов после параметра или просто где попало.

Пример: Disallow:<пробел>/feed/<Enter>

Данный пример файла robots.txt универсален и подходит под любой блог на WordPress с ЧПУ адресами url. О том что такое ЧПУ читайте здесь. Если же Вы не настраивали ЧПУ, рекомендую из предложенного файла удалить Disallow: /*?* Disallow: /?s=

Теперь нужно сохранить файл с именем robots.txt.

Сохранение robots.txt

Загрузка файла robots.txt на сервер

Лучшим способом для такого рода манипуляций является FTP соединение. О том как настроить FTP соединение для TotolCommander читайте здесь. Или же Вы можете использовать файловый менеджер на Вашем хостинге.

Я воспользуюсь FTP соединением на TotolCommander.

Сеть > Соединится с FTP сервером.

FTP-соединение

Выбрать нужное соединение и нажимаем кнопку «Соединиться».

Выбор FTP-соединения

Открываем корень блога и копируем наш файл robots.txt, нажав клавишу F5.

Копирование на сервер

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

Анализ robots.txt

Для этого Вам потребуется войти в кабинет вебмастера Яндекс или Google. Рассмотрим примере Яндекс. Здесь можно провести анализ даже не подтверждая прав на сайт. Вам достаточно иметь почтовый ящик на Яндекс.

Открываем кабинет Яндекс.вебмастер.

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

На главной странице кабинета вебмастер, открываем ссылку «Проверить robots.txt».

Проверка robots.txt

Для анализа потребуется ввести url адрес вашего блога и нажать кнопку «Загрузить robots.txt с сайта». Как только файл будет загружен нажимаем кнопку «Проверить».

Анализ robots.txt

Отсутствие предупреждающих записей, свидетельствует о правильности создания файла robots.txt.

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

Для этого нажимаем на ссылку «Список URL добавить». Вводим ссылки Ваших материалов. И нажимаем кнопку «Проверить»

Добавление url

Ниже будет представлен результат. Где ясно и понятно какие материалы разрешены для показа поисковым роботам, а какие запрещены.

Результат анализа

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

Кстати, если вам интересно как выглядит файл robots.txt на чьём-то блоге, вы может с лёгкостью его посмотреть. Для этого к адресу сайта нужно просто добавить /robots.txt

Пример:

https://1zaicev.ru/robots.txt

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

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

На этом у меня всё. Всем желаю успехов. Если будут вопросы или дополнения пишите в комментариях.

До скорой встречи.

С уважением, Максим Зайцев.

Понравилась статья? Поделиться с друзьями:
Комментарии: 51
  1. Лилия

    Здравствуйте, Максим!Спасибо за такую нужную статью, проверила свой robots-txt, вроде все правильно, все так, как у Вас.
    У меня к Вам вопрос, вернее просьба — может Вы поможете мне разобраться, почему у меня в консоли сайта постоянно показывается вот такое сообщение;»To correct this issue, move the .htaccess file from wp-content/plugins/wp-dbmanager to /home/sibiryachk/domains/sibiryachkalilichka.ru/public_html/wp-content/backup-db»
    А это перевод на русский — «Ваш папка резервного копирования может быть видна общественности

    Чтобы устранить эту проблему, переместите . Htaccess файл from wp-content/plugins/wp-dbmanager to /home/sibiryachk/domains/sibiryachkalilichka.ru/public_html/wp-content/backup-db»
    А я не знаю, как это исправить и как и куда переместить этот Htaccess файл!
    Если Вас не затруднит это очень — помогите разобраться!
    С уважением и благодарностью Лилия
    мой Skype pls2121950

    1. Максим Зайцев (автор)

      Здравствуйте, Лилия. Спасибо за комментарий. Что касается Вашего вопроса, подсказываю решение:
      1. с помощью TotalCommander или FileZilla настройте FTP-соединение с Вашим блогом (в этой статье есть ссылка на настройку)
      2. откройте Ваш сайт, папку wp-content/plugins/wp-dbmanager и найдите там файл .htacces или это может быть файл htacces.txt
      3. переместите файл .htacces или htacces.txt в папку /home/sibiryachk/domains/sibiryachkalilichka.ru/public_html/wp-content/backup-db
      4. Важно! убедитесь, что Ваш файл имеет имя .htacces (обязательно с точкой впереди). Если же у Вас файл htacces.txt, обязательно переименуйте его в .htacces
      Эта инструкция поможет решить Вашу проблемку. Если будут вопросы пишите. Лилия, извините, по скайпу сейчас связаться не могу, временные технические трудности.

  2. Сергей

    хорошо расписал Макс! Роботс тхт нужная вещь на любом проекте!

    1. Максим Зайцев (автор)

      Сергей, спасибо за оценку.

  3. Галина

    Здравствуйте, Максим.
    А я после прочтения статьи Саши Борисова о дублях страниц replitycom по его совету поменяла файл robots.txt на такой:
    User-agent: Mediapartners-Google
    Disallow

    User-agent: *
    Disallow: /wp-includes
    Disallow: /wp-feed
    Disallow: /wp-content/plugins
    Disallow: /wp-content/cache
    Disallow: /wp-content/themes
    Host: lambrecen.ru
    Sitemap: http://lambrecen.ru/sitemap.xml

    User-agent: Googlebot-Image
    Allow: /wp-content/uploads/

    User-agent: YandexImages
    Allow: /wp-content/uploads/

    Теперь уже и сомневаюсь в правильности данного файла.
    Ничего не подскажете по данному поводу? Может лучше поменять на такой, как вы написали?

    1. Максим Зайцев (автор)

      Галина, вам нужно просто подправить свой файл. Нужно добавить адрес карты в архивном варианте, и убрать параметры Allow для папки с медиафайлами.
      User-agent: Mediapartners-Google
      Disallow

      User-agent: *
      Disallow: /wp-includes
      Disallow: /wp-feed
      Disallow: /wp-content/plugins
      Disallow: /wp-content/cache
      Disallow: /wp-content/themes
      Host: lambrecen.ru
      Sitemap: http://lambrecen.ru/sitemap.xml
      Sitemap: http://lambrecen.ru/sitemap.xml.gz

      А ещё советую доделать микроразметку. Статьи на эту тему есть у меня на блоге.

  4. Галина

    Максим, Большое Вам Человеческое СПАСИБО!
    А Вашу статью на тему микроразметки обязательно изучу.
    И вообще, я теперь ваш подписчик!

    1. Максим Зайцев (автор)

      Галина, всегда пожалуйста. Вы меня прямо балуете благодарностями — так приятно :-). Всего вам хорошего!

  5. Lina

    Если сами не уверенны в правильности составления Robots.txt можно воспользоваться онлайн-сервисами типа http://mediasova.com/create-robots-txt/ (автоматическая генерация файла)

    1. Максим Зайцев (автор)

      Да, можно подобными сервисами пользоваться, но всё же лучше разобраться в содержимом этого файла. Это очень важно. И обязательно проверить в кабинете веб-мастера Яндекс или Гугл.

  6. Татьяна

    Здравствуйте, Максим! Не могли бы Вы подсказать, я что-то задумалась над таким вопросом: (сайт на Joomla)я создала новый, свой, модуль, в котором расположила баннер со ссылкой, которая должна индексироваться. Но в robots.txt прописано стандартное Disallow: /modules/. Что конкретно не индексирует робот в модулях и значит ли это, что и ссылки, помещенные в модули тоже не будут индексироваться? Спасибо!

    1. Максим Зайцев (автор)

      Здравствуйте, Татьяна. Правило в роботсе ставит запрет на папку, где хранятся файлы модулей. Сами же ссылки помещённые в модули будут индексироваться, если вы их сами не закроете. Проверить ссылки вы можете через сервис dinews.ru в разделе SEO Tools. Вам нужно ввести адрес страницы, на которой установлен модуль с ссылкой, нажмёте кнопку «Анализировать», если ссылка присутствует в отчёте, значит она индексируется. Желаю удачи!

  7. Татьяна

    Спасибо! Какой Вы умничка, всегда отвечаете на все вопросы! :))

    1. Максим Зайцев (автор)

      Татьяна, спасибо. Сегодня у меня хороший день, все меня хвалят и хвалят ;-)

  8. Татьяна

    Ой, Максим, а можно Вас еще спросить один вопросик? Я на одном форуме спросила, но там он остался без ответа. Ситуация следующая, для меня непонятная:
    Однажды я намеренно закрывала от индексации две страницы сайта, потом передумала и убрала запрет. На сегодняшний день получается так:
    — В файле robots никаких ограничений на эти две страницы нет;
    — В редакторе движка (Joomla) у обоих материалов установлено «index/follow»;
    — Залезла в базу данных — там тоже все в порядке и типа индексируется;
    — В Яндекс-Вебмастер при проверке robots этих двух урлов пишет «разрешено»;

    Но при этом:
    — В том же Яндекс-Вебмастер эти две страницы находятся в разделе «Исключено роботом» (дата последнего посещения — свежая);
    А самое главное:
    — В исходном коде этих страниц !
    В чем может быть дело и как вернуть этим страницам index/follow? Может у Вас есть какое-то предположение?

    1. Максим Зайцев (автор)

      Татьяна, а случаем не использовали ещё каких либо плагинов для закрытия ссылок или может ещё каких примочек. Проблема только с этими двумя страницами? Как созданы эти страницы, стандартными редактором Joomla или может быть через. Возможно именно в настройках страницы и указан запрет на индексацию. Более точно нагадать не могу ;-)

  9. Татьяна

    В предыдущем сообщении обрезался код :) Вобщем, в исходном коде этих двух страниц content=»noindex, nofollow».

  10. Татьяна

    Спасибо!
    Нет, ничего такого не использовала, из примочек стоит только Artio JoomSEF, но он-то индексацией никак не рулит. Проблема да, только с этими двумя страницами. Выходит, какой-то глюк, связанный именно с тем, что ранее я закрывала их, а потом открыла. Мне просто интересно, как так физически может быть, что нигде ничего не закрыто (даже в БД!), а в исходном коде — запрет.
    Мысль пришла: а если эти две страницы удалить и создать их заново?
    Думаю, не будет столь критично.

    1. Максим Зайцев (автор)

      Татьяна, эта же мысль пришла и мне в голову. В качестве эксперимента стоит проверить.

  11. Татьяна

    Ага, спасибо! Кстати, одна из закрытых страниц — карта сайта. Я почему-то решила, что «слишком много ссылок на одной странице» :)) и закрыла ее. А надо ведь наоборот, чтобы ПСы видели эту страницу?

    1. Максим Зайцев (автор)

      Татьяна, а карта реализована через Xmap или самописна? И другой вопрос в кабинетах вебмастера Яндекс и Гугл добавлена? Если да, и роботы её видят без ошибок, то об индексации этой страницы уже беспокоиться не стоит.

      1. Татьяна

        Карту я составляю на sitemapgenerator.ru, в админки ПСов добавлена и они видят ее корректно.
        Еще раз огромное спасибо Вам!

        1. Максим Зайцев (автор)

          Татьяна, всегда пожалуйста. Вот вы и сами ответили на свой вопрос, страница на карту сайта сделанная в sitemapgenerator.ru, не индексируется, но ссылки в ней индексируются поисковиками. Это так и должно быть. Желаю успешного развития вам и вашему сайту!

  12. Юрий

    Максим, здравствуйте! У меня самописный сайт на php. Прописал ЧПУ, а теперь не знаю как написать robots.txt. К примеру у меня на сайте есть страница /all_shops/,чтобы её закрыть я прописал:
    Disallow: /all_shops/
    но на этой странице куча всяких ссылок с анкорами типа /all_shops/#en-letterB. Как закрыть все ссылки для данной страницы? Написал так
    Disallow: /all_shops/*/ — это правильно?

    1. Максим Зайцев (автор)

      Юра, добрый вечер. Вы всё правильно прописали. Для того чтобы это проверить, в кабинете вебмастера Яндекс или Гугл загрузите свой роботс и проверьте любой урл и вы сразу увидите, запрещён он или нет.

  13. Юрий

    Спасибо Максим! Попробую.Тогда сразу еще вопрос. Обязательно прописывать Allow: /—-, на каждую страницу или она проиндексируется на автомате?

    1. Максим Зайцев (автор)

      Юра, этого вообще не стоит прописывать. Лучше обратите внимание, чтобы каждая страница была в карте сайта, и карта была добавлена во все кабинеты веб-мастера (Яндекс, Гугл, Майл, Бинг…).
      В роботсе прописывайте только запрещающие правила.

  14. Юрий

    Спасибо Максим. Карту сайта сделал. Проверил индексацию страниц, как на Яндексе, так и в Гугл, пока только старые ссылки.А когда обновятся данные? Проверял robots.txt — ошибок нет.

    1. Максим Зайцев (автор)

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

  15. Сергей К.

    Здравствуйте!

    Спасибо за полезную статью. Теперь знаю, что для моего сайта сделали неправильный файл robots.txt . Поэтому просьба разъяснить следующее:

    1. На сайте с WordPress с ЧПУ мне нужно закрыть от индексации наряду со служебными разделами WP также результаты поиска по сайту и дубли. Если написать в robots.txt эти две директивы:
    Disallow: /?s=
    Disallow: /*?*
    то не будут ли исключены из индексации нужные мне УРЛы, в адресах которых присутствует буква «s» ?

    2. Мой сайт создан не для блога, на нем нет регистрации для посетителей, соответственно нет логин / пароль для входа, нет возможности для комментариев и т.д. В таком случае нужны ли вообще в robots.txt эти директивы во всех вариациях:
    Disallow: /wp-login.php
    Disallow: /wp-register.php
    Disallow: /trackback
    Disallow: /trackback/
    Disallow: */trackback
    Disallow: */trackback/
    Disallow: */*/trackback
    Disallow: /feed/
    Disallow: */*/feed/*/
    Disallow: */feed
    Disallow: /?feed=
    Disallow: /comments/
    Disallow: */comments/

    Если нужны, то какие именно?
    Заранее спасибо.

    1. Максим Зайцев (автор)

      Здравствуйте, Сергей. По поводу первого вопроса, то страницы с в урл, которых содержится «s» не будут закрыты. Но, лучше подгрузите свой роботс в кабинете Яндекс.Вебмастер и проверьте как будет работать это правило с вашими страницами.
      О том как это сделать, можете прочитать здесь: http://1zaicev.ru/yandeks-vebmaster-instrukciya-k-primeneniyu/
      По второму вопросу, — можете убрать все эти правила. В вашем случае они не нужны.

      1. Сергей К.

        Спасибо , Максим, за Ваш совет. Очень рад, что есть люди, который готовы помочь совсем незнакомым людям. Всего Вам доброго.
        Сергей

        1. Максим Зайцев (автор)

          Сергей, спасибо, удачи вам! Будут ещё вопросы, обращайтесь.

  16. Вика

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

    1. Максим Зайцев (автор)

      Здравствуйте, Виктория. Спасибо за добрые слова. Мне очень приятно, что труды мои оцениваются по достоинству. Постараюсь и впредь не разочаровывать вас. Желаю удачи!

  17. Сергей

    Здравствуйте.
    У меня робот составлен плагином All in One SEO
    Дописал только Host.
    А правильный он или нет?
    # global
    User-agent: *
    Disallow: /xmlrpc.php
    Host: zadvesti.ru

    1. Максим Зайцев (автор)

      Здравствуйте, Сергей. Ну, в принципе, правильный. Только нужно ещё добавить ссылки на карты сайта. Это нужно сделать обязательно!

  18. Игорь

    Подскажите нужно ли блокировать строки wp-comments или */comments, при том, что комменты не делятся у меня на страницы, а все на одной

    1. Максим Зайцев (автор)

      Здравствуйте, Игорь. Нет, это лишнее!

  19. Максим

    Максим, а почему ты ничего не закрываешь для робота гугла?

    1. Максим Зайцев (автор)

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

  20. Людмила

    Спасибо за полезную информацию!

    1. Максим Зайцев (автор)

      Пожалуйста, Людмила.

  21. Сергей

    Подскажите как закрыть дубли по типу http://сайт.ru/текст/текст-2 и убрать из поиска страницы с 404 редиректом

    1. Максим Зайцев (автор)

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

  22. Бус

    Честно сказать Максим я уже задрался, везде по разному написано какой должен быть Host. У вас написано что host: 1zaicev.ru на других сайтах пишут что надо вот так писать host: https://1zaicev.ru Так как же правильно ??? и вы доверие заслуживаете и другие сайты тоже мощные оптимизаторы пишут.. итак вопрос еще раз по пунктам
    1. какой должен быть Роботс если новый сайт создается и сразу с протоколом https???? а именно строчка Host

    2. вариант если раньше сайт был на http затем я выполнил переезд на протокол https то в данном случае какой должен быть host??

    Просто сделал робот и сайт мап а в яндекс мастере постоянно говорит что какая то ошибка.. проверьте sitemap роботс… заманался уже и запутался…. подскажите… вы же всегда оперативно быстро отвечаете а не как другие сайты по полгода ответа нету

    1. Максим Зайцев (автор)

      Здравствуйте, Бус. Если сайт на протоколе https, значит должно быть так: https://1zaicev.ru. А host: 1zaicev.ru — это для протокола http.

  23. Максим

    Спасибо за статью! Подскажите, вот тут https://c-wd.ru/tools/robots/ нормальный robots генерируется? Или стоит самостоятельно его сделать?

    1. Максим Зайцев (автор)

      Можно использовать и сервис, только нужно понимать, какие правила нужно использовать для вашего сайта.

  24. Илона

    Здравствуйте, Максим! Спасибо, очень полезная инф. У меня вопрос.

    Главная страница открывается по нескольким адресам: http, https. c / и без / в конце, www и без. Можно указать в файле, какие страницы не сканировать? Например оставить только https:// сайт ( не знаю, лучше с / или без). Как это сделать?

    Вот такие ссылка/?customize_changeset_uuid=99d20661-faec-4e0b-86b2…
    /?preview_id=960&preview_nonce=ba0de682dd&preview=true….

    1. Максим Зайцев (автор)

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

Добавить комментарий