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

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

Содержание:

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

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

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

Аналогичным образом, каждый сайт имеет свои служебные помещения (разделы), а поисковые роботы – это гости. Так вот, задача правильного robots.txt – закрыть на ключик все служебные разделы сайта и пригласить поисковые системы только в те блоки, которые созданы для внешнего мира.

Примерами таких служебных зон являются – админка сайта, папки с темами оформления, скриптами и т.д.

Вторая функция этого файла – это избавление поисковой выдачи от дублированного контента. Если говорить о WordPress, то, часто, мы можем по разным URL находить одни и те же статьи или их части. Допустим, анонсы статей в разделах с архивами и рубриках идентичны друг другу (только комбинации разные), а страница автора обычного блога на 100% копирует весь контент.

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

Если у вас нет правильно настроенного файла Robots.txt, то возможны 2 варианта:

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

2. Поисковик посчитает кашей весь ваш сайт и наложит на него санкции, удалив из выдачи весь сайт или отдельные его части.

Есть у него еще пара функций, о них я расскажу по ходу.

Принцип работы файла robots

Работа файла строится всего на 3-х элементах:

  • Выбор поискового робота
  • Запрет на индексацию разделов
  • Разрешение индексации разделов

1. Как указать поискового робота

С помощью директивы User-agent прописывается имя робота, для которого будут действовать следующие за ней правила. Она используется вот в таком формате:

User-agent: * # для всех роботов
User-agent: имя робота # для конкретного робота

После символа «#» пишутся комментарии, в обработке они не участвуют.

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

Основные роботы, на которые стоит ориентироваться – это yandex и googlebot, они представляют соответствующие поисковики.

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

Запрет индексации осуществляется в помощью директивы Disallow. После нее прописывается раздел или элемент сайта, который не должен попадать в поиск. Указывать можно как конкретные папки и документы, так и разделы с определенными признаками.

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

Disallow: #запретов нет

Для запрета файлов указываем путь относительного домена.

Disallow: /zapretniy.php #запрет к индексации файла zapretniy.php

Запрет разделов осуществляется аналогичным образом.

Disallow: /razdel-sajta #запрет к индексации всех страниц, начинающихся с /razdel-sajta

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

Disallow: */*test #будут закрыты все страницы, в адресе которых содержится test

Обратите внимание, что на конце правила звездочка не ставится, считается, что она там есть всегда. Отменить ее можно с помощью знака «$»

Disallow: */*test$ #запрет к индексации всех страниц, оканчивающихся на test

Выражения можно комбинировать, например:

Disallow: /test/*.pdf$ #закрывает все pdf файлы в разделе /test/ и его подразделах.

3. Как разрешить индексацию в Robots.txt

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

Для открытия служит директива Allow. К ней применяются те же самые атрибуты. Пример работы может выглядеть вот так:

User-agent: * # для всех роботов
Disallow: /razdel-sajta #запрет к индексации всех страниц, начинающихся с /razdel-sajta
Allow: *.pdf$ #разрешает индексировать pdf файлы, даже в разделе /razdel-sajta

Теорию мы изучили, переходим к практике.

Как создать и проверить Robots.txt

Проверить, что содержит ваш файл на данный момент можно в сервисе Яндекса — Проверка Robots.txt. Введете там адрес своего сайта, и он покажет всю информацию.

Kак создать и проверить robots.txt

Если у вас такого файла нет, то необходимо срочного его создать. Открываете текстовый редактор (блокнот, notepad++, akelpad и т.д.), создаете файл с названием robots, заполняете его нужными директивами и сохраняете с txt расширением (ниже я расскажу, как выглядит правильный robots.txt для WordPress).

Дальше, помещаем файл в корневую папку вашего сайта (рядом с index.php) с помощью файлового менеджера вашего хостинга или ftp клиента, например, filezilla (как пользоваться).

Если у вас WordPress и установлен All in One SEO Pack, то в нем все делается прямо из админки, в этой статье я рассказывал как.

Robots.txt для WordPress

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

Мой файл robots.txt имеет следующий вид:

User-agent: *
Disallow: /wp-admin
Disallow: /wp-content
Disallow: /wp-includes
Disallow: /wp-comments
Disallow: /wp-login.php
Disallow: /wp-register.php
Disallow: */trackback
Disallow: /xmlrpc.php
Disallow: */feed
Disallow: */author
Allow: /wp-content/themes/папка_вашей_темы/
Allow: /wp-content/plugins/
Allow: /wp-includes/js/

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

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

host: biznessystem.ru

Sitemap: https://biznessystem.ru/sitemap.xml

Первый блок действует для всех роботов, так как в строке User-agent стоит «*». Со 2 по 9 строки закрывают служебные разделы самого вордпресс. 10 – удаляет из индекса страницы RSS ленты. 11 – закрывает от индексации авторские страницы.

По последним требованиям поисковиков, необходимо открыть доступ к стилям и скриптам. Для этих целей в 12, 13 и 14 строках прописываем разрешение на индексирование папки с шаблоном сайта, плагинами и Java скриптами.

Дальше у меня идет 2 блока, открывающих доступ к папке с картинками роботам YandexImages и Googlebot-Image. Можно их не выделять отдельно, а разрешающую директиву для папки с картинками перенести выше на 15 строку, чтобы все роботы имели доступ к изображениям сайта.

Если бы я не использовал All-in-One-Seo-Pack, то добавил бы правило, закрывающее архивы (Disallow: */20) и метки (Disallow: */tag).

При использовании стандартного поиска по сайту от WordPress, стоит поставить директиву, закрывающую страницы поиска (Disallow: *?s=). А лучше, настройте Яндекс поиск по сайту, как это сделано на моем блоге.

Обратите внимание на 2 правила:

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

2. Блоки для разных роботов обязательно разделяются пустой строкой.

В самом конце есть директивы, которые мы ранее не рассматривали – это host и sitemap. Обе эти директивы называют межсекционными (можно ставить вне блоков).

Host – указывает главное зеркало ресурса (с 2018 года отменена и больше не используется). Обязательно стоит указать какой домен является главным для вашего сайта – с www или без www. Если у сайта есть еще зеркала, то в их файлах тоже нужно прописать главное. Данную директиву понимает только Яндекс.

Sitemap – это директива, в которой прописывается путь к XML карте вашего сайта. Ее понимают и Гугл и Яндекс.

Дополнения и заблуждения

1. Некоторые вебмастера делают отдельный блок для Яндекса, полностью дублируя общий и добавляя директиву host. Якобы, иначе yandex может не понять. Это лишнее. Мой файл robots.txt известен поисковику давно, и он в нем прекрасно ориентируется, полностью отрабатывая все указания.

2. Можно заменить несколько строк, начинающихся с wp- одной директивой Disallow: /wp-, я не стал такого делать, так как боюсь – вдруг у меня есть статьи, начинающиеся с wp-, если вы уверены, что ваш блог такого не содержит, смело сокращайте код.

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

4. Гугл рекомендует открывать доступ своим ботам к файлам темы оформления и скриптам сайта, пугая вебмастеров возможными санкциями за несоблюдение этого правила. Я провел эксперимент, где оценивал, насколько сильно влияет это требование на позиции сайта в поиске — подробности и результаты эксперимента тут.

Резюме

Правильный файл Robots.txt для WordPress является почти шаблонным документом и его вид одинаков для 99% проектов, созданных на этом движке. Максимум, что требуется для вебмастера — это внести индивидуальные правила для используемого шаблона.