Зачем нужен файл robots.txt в WordPress
Файл robots.txt управляет доступом поисковых роботов к страницам сайта. Правильная настройка позволяет исключить из индексации служебные страницы, дубли и повысить качество SEO, снизив нагрузку на сервер.
Диагностика проблемы с robots.txt
Если поисковые системы индексируют нежелательные страницы (например, страницы авторизации, корзину WooCommerce, страницы пагинации), или, наоборот, не видят важный контент, скорее всего, файл robots.txt отсутствует или настроен некорректно.
Чтобы проверить текущий файл robots.txt, откройте в браузере https://ваш-сайт/robots.txt. Если страница не найдена, файл отсутствует.
Также проверьте через Google Search Console раздел «Тестирование файла robots.txt» — там видно, какие URL разрешены или запрещены для сканирования.
Как создать и настроить robots.txt в WordPress
Вариант 1: Использование стандартного файла robots.txt
По умолчанию WordPress генерирует виртуальный robots.txt на лету. Но для точного контроля лучше создать физический файл в корне сайта.
Подключитесь к серверу по FTP/SFTP или через файловый менеджер хостинга и создайте файл robots.txt в корневой папке сайта (где лежат wp-config.php и wp-content).
Пример базового robots.txt для WordPress с WooCommerce:
User-agent: *
Disallow: /wp-admin/
Disallow: /wp-login.php
Disallow: /cart/
Disallow: /checkout/
Disallow: /my-account/
Disallow: /?s=
Disallow: /wp-json/
Disallow: /cgi-bin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://example.com/sitemap_index.xml
Замените https://example.com на адрес вашего сайта.
Разбор ключевых правил:
Disallow: /wp-admin/и/wp-login.php— закрываем админку от индексации.Disallow: /cart/,/checkout/,/my-account/— исключаем страницы WooCommerce, которые не нужны в поиске.Disallow: /?s=— блокируем индексацию страниц результатов поиска WordPress.Allow: /wp-admin/admin-ajax.php— разрешаем AJAX-запросы, необходимые для работы плагинов.Sitemap:— указываем путь к карте сайта, чтобы поисковики быстрее находили все важные страницы.
Как проверить, что robots.txt работает правильно
- Откройте
https://ваш-сайт/robots.txtи убедитесь, что файл загружается. - В Google Search Console используйте инструмент «Проверка файла robots.txt» для тестирования запрещённых и разрешённых URL.
- Проверьте логи сервера — поисковые роботы не должны запрашивать заблокированные URL.
- Через неделю проверьте отчёты индексации в Google Search Console, чтобы увидеть изменения.
Частые ошибки при настройке robots.txt
- Полная блокировка сайта:
Disallow: /без исключений запретит индексацию всего сайта. - Пропущенный Allow для admin-ajax.php: Может нарушить работу AJAX в плагинах.
- Неправильный путь к sitemap: Ведёт к ошибкам и снижению скорости индексации.
- Использование robots.txt для блокировки контента вместо noindex: Поисковики могут игнорировать страницы, но не исключать их из поиска, если они ссылаются на них.
Практические советы по безопасности и производительности
- Не блокируйте CSS и JS файлы в
robots.txt, чтобы поисковые системы могли корректно индексировать дизайн и функциональность сайта. - Регулярно обновляйте файл после установки новых плагинов, особенно WooCommerce и SEO-плагинов.
- Используйте SEO-плагины (например, Yoast SEO или Rank Math) для автоматической генерации и управления sitemap, а robots.txt создавайте вручную для полного контроля.
- Для сайтов с высокой нагрузкой используйте CDN и кэширование для ускорения загрузки robots.txt.
Таблица сравнения способов управления robots.txt
| Метод | Плюсы | Минусы | Рекомендуется для |
|---|---|---|---|
| Виртуальный robots.txt (по умолчанию WP) | Не требует вмешательства, всегда актуален | Ограниченный контроль, нельзя добавить кастомные правила | Новички, простые сайты |
| Физический файл robots.txt | Полный контроль, можно добавлять любые правила | Требует доступа к серверу, риск ошибок при неправильных правилах | Продвинутые сайты, WooCommerce, SEO-оптимизация |
| Плагины для управления robots.txt | Удобный интерфейс, интеграция с SEO | Зависимость от плагина, возможны конфликты | Пользователи SEO-плагинов |
Пример кода для добавления правил robots.txt через functions.php
Если нет доступа к серверу, можно добавить фильтр для виртуального robots.txt:
add_filter('robots_txt', function($output, $public) {
if (!$public) {
return $output;
}
$rules = "User-agent: *\n";
$rules .= "Disallow: /wp-admin/\n";
$rules .= "Disallow: /wp-login.php\n";
$rules .= "Disallow: /cart/\n";
$rules .= "Disallow: /checkout/\n";
$rules .= "Allow: /wp-admin/admin-ajax.php\n";
$rules .= "Sitemap: https://example.com/sitemap_index.xml\n";
return $rules;
}, 10, 2);