В этом руководстве я поделюсь методикой составления правильного robots.txt для сайтов на базе WordPress. Вы узнаете все об основных параметрах и допустимых значениях этого файла, а так же способах управления поведением поисковых ботов для ускорения индексации сайта.
Что такое robots.txt?
Robots.txt — это текстовый файл, который содержит директивы и их значения для управления индексированием сайта в поисковых системах.
В базовый набор директив (параметров) для поисковой системы Яндекс входят:
Директива | Описание |
---|---|
User-agent | Указывает на робота, для которого действуют правила (например, Yandex). |
Allow | Разрешает обход и индексирование разделов, страниц, файлов. |
Disallow | Запрещает обход и индексирование разделов, страниц, файлов. |
Clean-param | Указывает роботу, какие параметры URL (например, UTM-метки) не следует учитывать при индексировании. |
Sitemap | Указывает путь к файлу Sitemap, который размещен на сайте. |
Все директивы, кроме Clean-param одинаково интерпретируются в других поисковых системах и помогают решить 90% задач связанных с индексированием сайтов на WordPress.
Краулинговый бюджет: что это и как им управлять
Важно понимать, что файл robots.txt не является инструментом для запрета индексирования сайта. Поисковая система Google может не учитывать значения директив и индексировать страницы по своему усмотрению.
Crawler (веб-паук, краулер) или поисковой бот. Его задачи: найти, прочитать и внести в поисковую базу данных веб-страницы найденные в Интернете.
Владельцы сайтов могут управлять поведением краулера. Для этого достаточно разместить инструкции в robots.txt с помощью указанных директив в исходном коде страниц.
От правильности настройки будет зависеть частота сканирования вашего сайта. Основная цель такого управления — это снижение нагрузки на краулер и экономия квоты обхода страниц.
Где находится robots.txt в WordPress
Согласно требованиям поисковых систем файл robots.txt должен быть расположен в корневой директории. Если у вас он отсутствует, убедитесь, что вы не используете SEO-плагины.
Плагины позволяют редактировать robots.txt из панели администратора WordPress и не создают копию файла в корневой папке сайта (например, в режиме Multisite).
Если вы не используете плагин, создайте файл заново и проверьте его доступность. Ручная проверка доступности должна выявить:
- Наличие файла в корневой директории,
- Правильный ответ сервера (код 200 ОК),
- Допустимый размер файла (не более 500 Кб).
После проверки сообщите поисковым системам о внесении изменений.
Стандартный robots.txt
После инсталляции WordPress 5.9.3 по умолчанию robots.txt выглядит так:
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://example.com/wp-sitemap.xml
Из содержания следует, что разработчики рекомендуют закрывать от поисковых машин раздел административной панели, кроме сценария admin-ajax.php
из этой же директории. При составлении файла robots.txt для любого проекта под управлением WordPress это необходимо учитывать.
Правильный robots.txt
В WordPress имеется набор системных директорий, файлов и параметров, которые любят сканировать поисковые системы. Все они должны быть запрещены к индексированию за исключением редких случаев.
Системные директории и файлы
Директория / Файл | Описание |
---|---|
/wp-admin | Панель администратора |
/wp-json | JSON REST API |
/xmlrpc.php | Протокол XML-RPC |
Параметры URL
Параметр | Описание |
---|---|
s | Стандартная функция поиска |
author | Личная страница пользователя |
p&preview | Просмотр черновика записи |
customize_theme | Изменение внешнего вида темы оформления |
customize_autosaved | Автосохранение состояния кастомайзера |
Для более гибкой настройки мы рекомендуем разделять robots.txt на две секции. Первая секция будет содержать инструкции для всех поисковых систем, кроме Яндекса. Вторая — только для Яндекса.
Примечательно, что системные каталоги, файлы и параметры URL можно запретить с помощью директивы Disallow без использования Clean-param. В результате правильный robots.txt для WordPress выглядит так:
User-agent: *
Allow: /wp-admin/admin-ajax.php
Allow: /*.js
Allow: /*.css
Disallow: /*?
Disallow: /wp-admin
Disallow: /wp-json
Disallow: /xmlrpc.php
User-agent: Yandex
Allow: /wp-admin/admin-ajax.php
Allow: /*.js
Allow: /*.css
Disallow: /*?
Disallow: /wp-admin
Disallow: /wp-json
Disallow: /xmlrpc.php
Sitemap: https://example.com/wp-sitemap.xml
Не забудьте изменить значение директивы Sitemap.
Это универсальная конфигурация robots.txt для сайтов под управлением WordPress.
Значение /*?
директивы Disallow
запрещает к индексированию все параметры URL для главной страницы, записей и категорий. В том числе: рекламные UTM-метки, параметры плагинов, поисковых систем, сервисов коллтрекинга и CRM-платформ.
Отлично! Теперь перейдем к индивидуальной настройке.
Несколько примеров из практики
Запрет индексирования AMP страниц в поиске Яндекса
Сайт использует плагин для генерации мобильных страниц в формате AMP для поисковой системы Google. Яндекс их не поддерживает, но умеет сканировать. Для экономии квоты, запрещаем обход AMP страниц для Яндекса с помощью директивы Disallow:
User-agent: *
Allow: /wp-admin/admin-ajax.php
Allow: /*.js
Allow: /*.css
Disallow: /*?
Disallow: /wp-admin
Disallow: /wp-json
Disallow: /xmlrpc.php
User-agent: Yandex
Allow: /wp-admin/admin-ajax.php
Allow: /*.js
Allow: /*.css
Disallow: /*?
Disallow: /amp
Disallow: /wp-admin
Disallow: /wp-json
Disallow: /xmlrpc.php
Sitemap: https://example.com/wp-sitemap.xml
Не забудьте изменить значение директивы Sitemap.
Запрет индексирования служебных URL
Сайт использует плагин кастомной авторизации. Ссылки на страницы входа, регистрации и восстановления пароля выглядят так:
- https://example.com/login,
- https://example.com/register,
- https://example.com/reset-password.
Предварительно, исключим страницы из wp-sitemap.xml и добавим запрет на их сканирование с помощью директивы Disallow в файле robots.txt:
User-agent: *
Allow: /wp-admin/admin-ajax.php
Allow: /*.js
Allow: /*.css
Disallow: /*?
Disallow: /login
Disallow: /register
Disallow: /reset-password
Disallow: /wp-admin
Disallow: /wp-json
Disallow: /xmlrpc.php
User-agent: Yandex
Allow: /wp-admin/admin-ajax.php
Allow: /*.js
Allow: /*.css
Disallow: /*?
Disallow: /amp
Disallow: /login
Disallow: /register
Disallow: /reset-password
Disallow: /wp-admin
Disallow: /wp-json
Disallow: /xmlrpc.php
Sitemap: https://example.com/wp-sitemap.xml
Не забудьте изменить значение директивы Sitemap.
Использование директивы Clean-param
Директива Clean-param позволяет гибко настроить индексирование страниц с параметрами URL, которые влияют на содержание страниц.
Она поддерживается только поисковой системой Яндекса. Поисковые роботы Google теперь работают с параметрами URL автоматически.
Например, в торговом каталоге WooCommerce имеется фильтр, который сортирует товары по различным характеристикам: цвету, бренду, размеру.
Параметр | Описание |
---|---|
orderby | Функция сортировки |
add-to-cart | Функция добавления товара в корзину |
removed_item | Функция удаления товара из корзины |
Чтобы разрешить индексирование каталога с сортировками в Яндексе без ущерба квоте на переобход сайта, потребуется сделать несколько корректировок.
Разрешим сканирование параметров URL в каталоге, где установлен Woocommerce. Определим лишние параметры — это add-to-cart и removed_item. Воспользуемся директивой Clean-param и внесем изменения:
User-agent: *
Allow: /wp-admin/admin-ajax.php
Allow: /*.js
Allow: /*.css
Disallow: /*?
Disallow: /login
Disallow: /register
Disallow: /reset-password
Disallow: /wp-admin
Disallow: /wp-json
Disallow: /xmlrpc.php
User-agent: Yandex
Allow: /catalog/?
Allow: /wp-admin/admin-ajax.php
Allow: /*.js
Allow: /*.css
Disallow: /*?
Disallow: /amp
Disallow: /login
Disallow: /register
Disallow: /reset-password
Disallow: /wp-admin
Disallow: /wp-json
Disallow: /xmlrpc.php
Clean-param: add-to-cart
Clean-param: removed_item
Sitemap: https://example.com/wp-sitemap.xml
Не забудьте изменить значение директивы Sitemap.
Сканирование сортировок товара разрешено в рамках экономии квоты переобхода страниц. Поисковой бот Яндекса не будет сканировать параметры URL предназначенные для манипуляций с корзиной товаров.
Отслеживание лишних страниц в поисковой консоли
Для получения максимального эффекта регулярно отслеживайте сканирование страниц в поисковой консоли Яндекса (разд. Статистика обхода) и запрещайте обход лишних страниц в robots.txt.
При настройке robots.txt я не рекомендую:
- Запрещать обход страниц пагинации записей и разделов (используйте атрибут
rel="canonical"
), - Исключать из поиска комментарии пользователей к записям,
- Запрещать сканирование системных папок, где хранятся изображения, скрипты и стили тем оформления WordPress: wp-content, wp-includes и пр.
Как сообщить об изменениях поисковикам
Для отправки изменений используйте инструменты для анализа robots.txt в Яндекс.Вебмастер и Google Search Console.