Robots.txt для wordpress

Robots.txt для wordpress
Robots.txt для wordpress

Robots.txt для wordpress один из главных инструментов настройки индексации. Ранее мы говорили об ускорении и улучшении процесса индексации статей. Причем рассматривали этот вопрос так, как будто поисковый робот ничего не знает и не умеет. А мы ему должны подсказать. Для этого мы использовали карту сайта файл sitemap.xml.

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

Что такое файл robots.txt

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

Robots.txt для wordpress
Robots.txt для wordpress

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

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

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

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

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

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

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

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

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

Читайте также:  Скорость загрузки сайта и 15 шагов как её увеличить

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

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

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

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

  1. Полное индексирование создаёт лишнюю нагрузку на ваш сервер.
  2. Отнимает драгоценное время самого робота.
  3. Пожалуй это самое главное, некорректная информация может быть неправильно интерпретирована поисковыми системами. Это приведет к неправильному ранжированию статей и страниц, а в последствии и к некорректной выдаче в результатах поиска.
  4. Папки с шаблонами и плагинами содержат огромное количество ссылок на сайты создателей и рекламодателей. Это очень плохо для молодого сайта, когда на ваш сайт ссылок из вне еще нет или очень мало.
  5. Индексируя все копии ваших статей в архивах и комментариях, у поисковика складывается плохое мнение о вашем сайте. Много дублей. Много исходящих ссылок Поисковая машина будет понижать ваш сайт в результатах поиска в плоть до фильтра. А картинки, оформленные в виде отдельной статьи с названием и без текста, приводят робота просто в ужас. Если их очень много, то сайт может загреметь под фильтр АГС Яндекса. Мой сайт там был. Проверено!

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

robots.txt для wordpress
robots.txt для wordpress

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

User-agent: *

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

Читайте также:  All in one SEO pack SEO плагин Wordpress настройки и возможности

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

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

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

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

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

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

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

Проверить правильно ли работают прописанные правила можно по следующим ссылкам:

  • Яндекс Вебмастере
  • Google Search console.
  • Сервис для создания файла robots.txt: http://pr-cy.ru/robots/
  • Сервис для создания и проверки robots.txt: https://seolib.ru/tools/generate/robots/
  • Документация от Яндекса.
  • Документация от google (англ.)

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

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

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

User-agent: *
Disallow: /wp-login.php
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-content/themes
Disallow: */*comments
Disallow: */*category
Disallow: */*tag
Disallow: */trackback
Disallow: */*feed
Disallow: /*?*
Disallow: /?s=
Allow: /wp-admin/admin-ajax.php
Allow: /wp-content/uploads/
Allow: /*?replytocom

User-agent: Yandex
Disallow: /wp-login.php
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-content/themes
Disallow: */comments
Disallow: */*category
Disallow: */*tag
Disallow: */trackback
Disallow: */*feed
Disallow: /*?*
Disallow: /*?s=
Allow: /wp-admin/admin-ajax.php
Allow: /wp-content/uploads/
Allow: /*?replytocom
Crawl-delay: 2,0

Host: site.ru

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

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

  1. Disallow: /wp-register.php - Запрещает индексировать файл wp-register.php, расположенный в корневой папке.
  2. Disallow: /wp-admin - запрещает индексировать содержимое папки wp-admin, расположенной в корневой папке.
  3. Disallow: /trackback - запрещает индексировать уведомления.
  4. Disallow: /wp-content/plugins - запрещает индексировать содержимое папки plugins, расположенной в подпапке (папке второго уровня) wp-content.
  5. Disallow: /feed - запрещает индексировать канал feed т.е. закрывает RSS канал сайта.
  6. * - означает любая последовательность символов, поэтому может заменять как один символ, так и часть названия или полностью название файла или папки. Отсутствие конкретного названия в конце равносильно написанию *.
  7. Disallow: */*comments - запрещает индексировать содержимое папок и файлов в названии которых присутствует comments и расположенных в любых папках. В данном случае запрещает индексировать комментарии.
  8. Disallow: *?s= - запрещает индексировать страницы поиска

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

Единственная особенность - размер рабочего файла robots.txt для сайта wordpress не должен превышать 32 кБ дискового пространства.

Ещё одна маленькая рекомендация.

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

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

    Здравствуйте,Александр! Первый раз в гостях. Какой полезный сайт у Вас! Мои пожелания активного продвижению в 2015 Вашего блога! Дальнейших творческих успехов! И с наступающим Новым Годом! Гармонии! Благополучия!

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

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Рассылка 'Установка и настройка Windows, необходимое ПО'
WordPress: 64.3MB | MySQL:143 | 1,283sec