Веб-разработка

Правильный Роботс

787 
 

В данной статье рассмотрим технически верную работу с файлом robots.txt в WordPress и его рекомендуемое содержимое.

Подразумеваем, что вы знакомы с назначением файла, но напомним, что файл robots.txt необходим для поисковых роботов, чтобы указать какие разделы/страницы сайта посещать, а какие посещать не нужно. Закрытые страницы не будут попадать в индекс поисковиков.

Динамический файл

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

Ниже рассмотрим динамическую работу с файлом robots в рамках WordPress.

Функция do_robots() и хук do_robotstxt

Начнем с того, что в WordPress файл robots.txt в идеальных условиях не лежит физически в корне сайта. При обращении к адресу: домен/robots.txt  WP перехватывает запрос и формирует ответ на PHP, за это отвечает функция do_robots()

Для удобства принцип работы мы схематично отобразили ниже:

То-есть, не имея никакого файла в структуре мы можем перейти по адресу domen/robots.txt  и обнаружим стандартный файл, создаваемый WordPress с таким содержимым:

User-agent: *

Disallow: /wp-admin/

Allow: /wp-admin/admin-ajax.php

Sitemap: https://domain/sitemap.xml

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

Добавляем свои данные в конец дефолтного файла, используя robots_txt:

add_filter( 'robots_txt', function( $output, $public ) {

    return rtrim( $output ) . "\n\n# bot-test\n";

}, 100, 2 );

После сохранения в файле будет:

User-agent: *

Disallow: /wp-admin/

Allow: /wp-admin/admin-ajax.php

Sitemap: https://domain/sitemap.xml

# bot-test

Генерируем свой роботс, используя do_robotstxt:

add_action( 'do_robotstxt', function() {

    echo "bot-test\n";

    exit;

} );

После сохранения в файле robots будет только:

bot-test

Таким образом, разобрались как работать с генерацией файла robots, далее рассмотрим его содержимое.

Содержимое файла robots WordPress

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

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

Для удобства напомним, за что отвечают каждая из директив.

User-agent

Кому относятся правила ниже по файлу.

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

  • User-agent: Yandex / Googlebot — только для указанного бота

Disallow

Запрещает обход URL, где есть указанная подстрока.

Disallow: /cgi-bin      # каталог скриптов

Disallow: *?s=          # поиск по сайту

Disallow: */page/       # пагинация

Disallow: */embed$      # URL, оканчивающиеся на /embed


Разместите
тендер бесплатно

Наша система сама подберет вам исполнителей на услуги, связанные с разработкой сайта или приложения, поисковой оптимизацией, контекстной рекламой, маркетингом, SMM и PR.

Заполнить заявку 13691 тендер
проведено за восемь лет работы нашего сайта.


Allow

Разрешает обход там, где сработал более широкий Disallow.

Пример: закрыли /wp-, но нужны файлы в uploads:

Disallow: /wp-

Allow: */uploads

Порядок Allow и Disallow в файле не важен — роботы сортируют правила сами.

Sitemap

Ссылка на XML-карту сайта:

Sitemap: https://domain/sitemap.xml

Содержимое файла robots в WordPress.

User-agent: * # Создаем секция правил для роботов, подразумевается для всех роботов. Чтобы указать секцию правил для отдельного робота, вместо укажите его: GoogleBot, Yandex.

Disallow: /cgi-bin              # Папка на хостинге.

Disallow: /wp-admin/            # Админка.

Disallow: /?                    # Все параметры запроса на главной.

Disallow: *?s=                  # Поиск.

Disallow: *&s=                  # Поиск.

Disallow: /search               # Поиск.

Disallow: /author/              # Архив автора, если у вас нет расширенного функционала блога, в котором он нужен.

Disallow: */embed$              # Все встраивания.

Disallow: */xmlrpc.php          # Файл WordPress API

Disallow: utm=                # Ссылки с utm-метками

Disallow: *openstat=            # Ссылки с метками openstat

Allow: /wp-admin/admin-ajax.php # Откроем аякс.

Подводим итог

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

Выскажите мнение
Авторизуйтесь, чтобы добавить свой комментарий.




787

Лучшие статьи

Поделиться: 0 0 0
Fullstack-разработчик в  AdvertPRO , Москва
 0  1  1

Оцените статью
Спасибо за оценку