Robots.txt файл является одним из фундаментальных элементов технической SEO-оптимизации, который часто недооценивается разработчиками и владельцами сайтов. Этот текстовый файл управляет обходом: какие страницы поисковые роботы могут запрашивать, а какие — нет. В этой статье рассмотрим его настройку и типичные ошибки.
Что такое robots.txt и зачем он нужен
Robots.txt представляет собой текстовый файл, размещенный в корневой директории веб-сайта, который содержит инструкции для поисковых роботов и других веб-краулеров. Этот файл является частью стандарта Robots Exclusion Protocol (REP), разработанного в 1994 году для предоставления веб-мастерам контроля над тем, как автоматизированные программы взаимодействуют с их сайтами.
Основная цель robots.txt — управлять обходом разделов сайта поисковыми роботами. Запрет обхода не гарантирует удаления URL из поиска: адрес может быть известен по внешним ссылкам. Для исключения доступной страницы из индекса используют noindex, который робот должен иметь возможность прочитать. Закрытые данные защищают авторизацией и настройками сервера.
История и развитие стандарта
Стандарт robots.txt был создан Мартином Костером в 1994 году. Изначально он был способом сообщить поисковым роботам, какие части сайта не следует обходить. Позже появились дополнительные возможности, включая указание sitemap.xml.
Поддержка директив зависит от робота. Google понимает User-agent, Allow, Disallow и Sitemap, но не поддерживает Crawl-delay. Правила robots.txt не управляют HTTP-кэшированием. Проверяйте дополнительные директивы по документации нужной поисковой системы.
Структура и синтаксис robots.txt
Базовый синтаксис
Robots.txt файл имеет простую, но строгую структуру. Каждая директива должна быть записана на отдельной строке, и файл должен быть размещен в корневой директории сайта (например, https://example.com/robots.txt).
User-agent: *
Disallow: /admin/
Disallow: /temp/
Allow: /public/
Sitemap: https://example.com/sitemap.xmlДирективы User-agent
Директива User-agent определяет, к каким поисковым роботам применяются правила. Символ звездочки (*) означает, что правила применяются ко всем роботам.
# Правила для всех роботов
User-agent: *
Disallow: /private/
# Специальные правила для Googlebot
User-agent: Googlebot
Disallow: /private/
Disallow: /googlebot-excluded/
# Правила для Bingbot
User-agent: Bingbot
Disallow: /private/
Disallow: /admin/В Google конкретная группа User-agent применяется вместо общей группы *, поэтому нужные общие запреты повторяют. Название папки /googlebot-excluded/ само по себе не задаёт noindex.
Директивы Disallow и Allow
Директива Disallow запрещает роботам доступ к указанным разделам, а Allow — разрешает доступ к конкретным подразделам внутри запрещенных областей.
User-agent: *
# Запрещаем доступ к административной панели
Disallow: /admin/
# Но разрешаем доступ к публичной части админки
Allow: /admin/public/
# Запрещаем доступ к временным файлам
Disallow: /temp/
Disallow: /cache/
Disallow: /tmp/
# Запрещаем доступ к файлам определенных типов
Disallow: /*.pdf$
Disallow: /*.doc$
Disallow: /*.xls$Директива Sitemap
Директива Sitemap указывает поисковым роботам расположение файла sitemap.xml, что помогает им быстрее находить и индексировать страницы сайта.
User-agent: *
Disallow: /admin/
Sitemap: https://example.com/sitemap.xml
Sitemap: https://example.com/sitemap-news.xml
Sitemap: https://example.com/sitemap-products.xmlНастройка robots.txt для различных CMS
WordPress
WordPress является одной из самых популярных CMS, и правильная настройка robots.txt для него критически важна для SEO.
Примеры ниже — отправная точка, а не универсальный файл для любой установки CMS. Не закрывайте публичные CSS, JavaScript и изображения: они нужны роботу для отображения страницы. Robots.txt не заменяет защиту служебных файлов на сервере.
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /xmlrpc.php
Disallow: /readme.html
Disallow: /license.txt
Disallow: /wp-config.php
Disallow: /wp-config-sample.php
Disallow: /wp-login.php
Disallow: /wp-register.php
# Разрешаем доступ к важным файлам
Allow: /wp-content/uploads/
# Указываем sitemap
Sitemap: https://example.com/sitemap_index.xmlJoomla
Joomla имеет свою специфику, и robots.txt для этой CMS должен учитывать особенности ее структуры.
User-agent: *
Disallow: /administrator/
Disallow: /cli/
Disallow: /installation/
Disallow: /logs/
Disallow: /tmp/
Disallow: /configuration.php
Disallow: /htaccess.txt
Disallow: /web.config.txt
Disallow: /LICENSE.txt
Disallow: /README.txt
# Разрешаем доступ к изображениям и медиафайлам
Allow: /images/
Allow: /media/
Sitemap: https://example.com/sitemap.xmlDrupal
Drupal имеет модульную архитектуру, что отражается в структуре robots.txt.
User-agent: *
Disallow: /admin/
Disallow: /CHANGELOG.txt
Disallow: /COPYRIGHT.txt
Disallow: /INSTALL.mysql.txt
Disallow: /INSTALL.pgsql.txt
Disallow: /INSTALL.sqlite.txt
Disallow: /INSTALL.txt
Disallow: /LICENSE.txt
Disallow: /MAINTAINERS.txt
Disallow: /README.txt
Disallow: /UPGRADE.txt
Disallow: /xmlrpc.php
# Разрешаем доступ к публичным файлам
Allow: /sites/default/files/
Sitemap: https://example.com/sitemap.xmlOpenCart
Для интернет-магазинов на OpenCart важно правильно настроить robots.txt для оптимизации индексации товаров.
User-agent: *
Disallow: /admin/
Disallow: /catalog/controller/
Disallow: /catalog/language/
Disallow: /catalog/model/
Disallow: /config/
Disallow: /download/
Disallow: /image/catalog/demo/
Disallow: /install/
Disallow: /logs/
Disallow: /storage/
Disallow: /system/
Disallow: /vendor/
# Разрешаем доступ к изображениям товаров
Allow: /image/catalog/
Allow: /catalog/view/javascript/
Allow: /catalog/view/theme/*/stylesheet/
# Ограничиваем обход ненужных вариантов фильтрации и сортировки
Disallow: /*route=product/search*
Disallow: /*sort=*
Disallow: /*order=*
Disallow: /*limit=*
Disallow: /*filter_*
Sitemap: https://example.com/sitemap.xmlПродвинутые техники настройки robots.txt
Отдельные правила для роботов
Отдельная группа позволяет задать правила для конкретного робота. Она не управляет кэшированием страницы и не заменяет HTTP-заголовки кэша.
User-agent: *
Disallow: /admin/
# Дополнительный запрет обхода для Googlebot
User-agent: Googlebot
Disallow: /admin/
Disallow: /googlebot-excluded/
# Дополнительный запрет обхода для Bingbot
User-agent: Bingbot
Disallow: /admin/
Disallow: /bingbot-excluded/Google игнорирует Crawl-delay. Поддержку и смысл дополнительных директив у других роботов проверяйте отдельно. Синтаксис и выбор группы описаны в официальной спецификации Google.
Блокировка по типам файлов
Можно ограничить обход определённых типов файлов. Это не запрещает их выполнение на сервере и не гарантирует исключения из индекса. В правилах Google поддерживаются шаблоны * и $, а не регулярные выражения с \. или (pdf|doc).
User-agent: *
# Блокируем документы
Disallow: /*.pdf$
Disallow: /*.doc$
Disallow: /*.docx$
Disallow: /*.xls$
Disallow: /*.xlsx$
Disallow: /*.ppt$
Disallow: /*.pptx$
# Блокируем архивы
Disallow: /*.zip$
Disallow: /*.rar$
Disallow: /*.7z$
# Блокируем исполняемые файлы
Disallow: /*.exe$
Disallow: /*.msi$
Disallow: /*.dmg$
# Блокируем конфигурационные файлы
Disallow: /*.ini$
Disallow: /*.conf$
Disallow: /*.config$Управление параметрами URL
Важная техника — блокировка страниц с определенными параметрами, которые могут создавать дублированный контент.
User-agent: *
# Блокируем страницы с параметрами сортировки
Disallow: /*?sort=*
Disallow: /*?order=*
Disallow: /*?filter=*
# Блокируем страницы с параметрами сессий
Disallow: /*?session=*
Disallow: /*?sid=*
Disallow: /*?PHPSESSID=*
# Блокируем страницы с параметрами отслеживания
Disallow: /*?utm_source=*
Disallow: /*?utm_medium=*
Disallow: /*?utm_campaign=*Не блокируйте страницы пагинации автоматически: через них робот может находить товары и статьи. Для каждой нужной страницы оставьте доступные ссылки и собственный canonical. Подробнее — в рекомендациях Google по пагинации. Шаблоны выше учитывают расположение параметра после ?; проверяйте реальные URL, включая порядок параметров.
Типичные ошибки в robots.txt
Ошибка 1: Неправильное размещение файла
Robots.txt должен быть размещен в корневой директории сайта, а не в подпапках.
# Неправильно
https://example.com/blog/robots.txt
# Правильно
https://example.com/robots.txtОшибка 2: Неправильный синтаксис
Распространенная ошибка — использование неправильного синтаксиса или отсутствие двоеточий.
# Неправильно
User-agent *
Disallow /admin/
# Правильно
User-agent: *
Disallow: /admin/Ошибка 3: Блокировка важного контента
Часто разработчики случайно блокируют доступ к важным разделам сайта.
# Неправильно - блокируем весь контент
User-agent: *
Disallow: /
# Правильно - блокируем только административные разделы
User-agent: *
Disallow: /admin/
Disallow: /private/Ошибка 4: Отсутствие sitemap
Многие забывают указать расположение sitemap.xml в robots.txt.
# Добавляем sitemap
User-agent: *
Disallow: /admin/
Sitemap: https://example.com/sitemap.xmlТестирование и валидация robots.txt
Использование Google Search Console
В Google Search Console отчёт robots.txt показывает полученную Google версию файла, ошибки и дату обхода. Доступность конкретного URL проверяют инструментом проверки URL.
- Войдите в Google Search Console
- Выберите ваш сайт
- Откройте отчёт robots.txt и проверьте статус получения файла
- Для важной страницы запустите проверку опубликованного URL
- Проверьте, разрешён ли обход страницы
Использование онлайн-инструментов
Существует множество онлайн-инструментов для тестирования robots.txt:
- Анализатор robots.txt reChecker
- Bing Webmaster Tools
- Yandex Webmaster
- Специализированные SEO-инструменты
Ручное тестирование
Можно проверить robots.txt вручную, обратившись к файлу напрямую:
https://example.com/robots.txtМониторинг и аналитика
Отслеживание обхода
Robots.txt не запрещает пользователю открыть страницу в браузере. Клиентский JavaScript не показывает, какие URL запрашивал поисковый робот; для этого нужны серверные логи.
Анализ логов сервера
Анализ логов сервера помогает понять, как поисковые роботы взаимодействуют с сайтом.
# Поиск запросов от поисковых роботов в логах
grep -i "googlebot\|bingbot\|yandex" /var/log/nginx/access.log
# Анализ частоты запросов
awk '/googlebot/ {print $1}' /var/log/nginx/access.log | sort | uniq -cЗаключение
Robots.txt управляет обходом сайта поисковыми роботами. Проверяйте, что важные страницы и ресурсы доступны. Для исключения страницы из индекса используйте подходящий механизм, например noindex при разрешённом обходе; для приватных данных — контроль доступа на сервере.
Robots.txt соблюдают роботы, поддерживающие этот стандарт. Он не является средством защиты: нежелательный бот может игнорировать правила.
После изменения структуры сайта снова проверьте правила на нужных страницах, CSS, JavaScript и изображениях. Само изменение robots.txt не гарантирует роста позиций.
🔗 Проверьте ваш robots.txt: rechecker.ru/services/robots-analyzer