Настройка файла robots.txt на разных хостингах: общие рекомендации и примеры для популярных CMS

Файл robots.txt — один из ключевых инструментов SEO, позволяющий управлять индексацией вашего веб‑проекта поисковыми роботами. Корректная настройка robots.txt помогает исключить из индекса лишние страницы, закрыть служебные директории и подсказать поисковикам, какие части сайта следует сканировать в первую очередь. В этой статье мы рассмотрим, как правильно настроить robots.txt при использовании различных веб-серверов (Apache, Nginx, Nginx + PHP-FPM), а также приведём примеры файлов robots.txt для популярных CMS: 1С-Битрикс, WordPress, OpenCart, Joomla. Кроме того, разберёмся, как настроить robots.txt на уровне доменов и субдоменов.

Настройка файла robots.txt на разных хостингах

1. Общие сведения о файле robots.txt

1.1. Зачем нужен robots.txt?

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

1.2. Структура robots.txt

  • Файл обычно располагают в корне сайта — по адресу example.com/robots.txt.
  • Команды могут содержать директивы User-agent, Disallow, Allow, Sitemap и т.д.
    • User-agent: * означает правила для всех поисковых роботов.
    • Disallow: /folder/ запрещает индексировать директорию folder.
    • Allow: /folder/file.html даёт разрешение индексировать конкретный файл в запрещённой ранее папке.
    • Sitemap: https://example.com/sitemap.xml указывает на карту сайта.

2. Настройка robots.txt на разных веб-серверах

2.1. Apache (через .htaccess)

На серверах с Apache традиционно управление доступом к файлам и папкам часто делают через .htaccess. Однако для корректного размещения robots.txt достаточно:

  1. Убедиться, что в корне вашего сайта лежит файл robots.txt.
  2. Проверить права доступа к файлу (обычно достаточно 644).
  3. Убедиться, что файл доступен по прямой ссылке http(s)://example.com/robots.txt.

Если вы используете мультисайтовую конфигурацию или у вас несколько доменов, стоит разместить отдельный файл robots.txt в корневой директории каждого из сайтов (или прописать настройки в .htaccess, позволяющие выдавать разные версии robots.txt для каждого домена/поддомена).

Пример фрагмента .htaccess, если нужно перенаправить запросы к robots.txt в определённую директорию:

RewriteEngine On
RewriteRule ^robots\.txt$ path/to/folder/robots.txt [L]

Однако чаще всего достаточно просто положить файл robots.txt в корень каждого домена.

2.2. Nginx

В Nginx нет .htaccess, поэтому любые перенаправления и разрешения прописываются в конфигурационных файлах server { ... }.

Простейшая настройка:

server {
    listen 80;
    server_name example.com;
    root /var/www/example.com;

    location = /robots.txt {
        # Задаём mime-тип, можно добавить кэширование
        types { text/plain txt; }
        default_type text/plain;
    }

    ...
}

Здесь, если в папке /var/www/example.com лежит robots.txt, он будет корректно выдаваться при обращении к http://example.com/robots.txt.

Если необходимо динамически генерировать robots.txt или хранить его в другой папке, используйте что-то вроде:

location = /robots.txt {
    alias /var/www/custom-configs/robots.txt;
}

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

2.3. PHP FastCGI (Nginx + PHP-FPM)

Если вы используете связку Nginx + PHP-FPM, структура конфигурационных файлов, как правило, похожа на обычный Nginx, однако может возникнуть ситуация, когда все запросы перенаправляются на PHP-скрипты (например, в CMS с ЧПУ).

Чтобы корректно выдавать robots.txt, добавьте исключение в конфигурации:

server {
    listen 80;
    server_name example.com;
    root /var/www/example.com;

    # Исключение для статичного файла robots.txt
    location = /robots.txt {
        try_files /robots.txt =404;
        # или используйте alias:
        # alias /var/www/example.com/robots.txt;
    }

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        fastcgi_pass  unix:/var/run/php/php-fpm.sock;
        include       fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

Главное — убедиться, что robots.txt обрабатывается как статический файл, а не отправляется в PHP.


3. Настройка robots.txt на уровне доменов и субдоменов

Если у вас есть несколько доменов или поддоменов — например, example.com, blog.example.com, shop.example.com — и вы хотите настроить разные версии robots.txt для каждого из них, необходимо:

  • Создать отдельные конфигурации серверных блоков (на Nginx) или VirtualHost (на Apache).
  • В корне каждого сайта/поддомена разместить свой файл robots.txt.
    • Для example.com/var/www/example.com/robots.txt
    • Для blog.example.com/var/www/blog.example.com/robots.txt
    • Для shop.example.com/var/www/shop.example.com/robots.txt

Таким образом, поисковый робот, обращаясь к blog.example.com/robots.txt, получит уникальный контент, не конфликтующий с example.com/robots.txt.


4. Примеры файлов robots.txt для популярных CMS

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

4.1. 1С-Битрикс

1С-Битрикс хранит свои служебные файлы и папки, например, в /bitrix/, /upload/, /local/.

User-agent: *
Disallow: /bitrix/
Disallow: /local/
Disallow: /upload/
Disallow: /personal/
Disallow: /auth/
# Разрешаем индексацию публичных файлов из /upload/ если нужно (но лучше закрывать)
# Allow: /upload/catalog_images/

# Если используете ЧПУ и файлы .php не должны индексироваться напрямую
Disallow: /*.php$

# Указываем путь к карте сайта, если используете автогенерацию
Sitemap: https://example.com/sitemap.xml

Обратите внимание, что некоторые каталоги в Битрикс могут содержать публично доступные изображения или файлы (например, папка /upload/), и вы можете selectively разрешать определённые поддиректории, если это важно для индексации.

4.2. WordPress

WordPress типично имеет структуру: /wp-admin/, /wp-includes/, /wp-content/ и т.д.

User-agent: *
# Закрываем административную часть
Disallow: /wp-admin/
Disallow: /wp-includes/
# Иногда также закрывают каталог плагинов и темы
Disallow: /wp-content/plugins/
Disallow: /wp-content/themes/

# Разрешаем uploads (изображения, медиа)
Allow: /wp-content/uploads/

# Дополнительно можно закрывать страницы с параметрами
# Disallow: /*?*

Sitemap: https://example.com/sitemap.xml

Если у вас установлен плагин для SEO (например, Yoast SEO или All in One SEO Pack), он часто сам генерирует robots.txt. Убедитесь, что правила не конфликтуют с вашими ручными настройками.

4.3. OpenCart

OpenCart имеет структуру /admin/, /system/, /catalog/, /image/ и т.д.

User-agent: *
Disallow: /admin/
Disallow: /system/
Disallow: /storage/
Disallow: /catalog/controller/
Disallow: /catalog/language/
Disallow: /catalog/model/
Disallow: /catalog/view/javascript/
Disallow: /catalog/view/theme/
Disallow: /image/cache/
Disallow: /*?route=
# Если нужно, можно закрыть результат поиска
Disallow: /index.php?route=product/search
# Или любую другую динамическую страницу

Sitemap: https://example.com/sitemap.xml

4.4. Joomla

Joomla размещает файлы в /administrator/, /components/, /modules/, /templates/ и т.д.

User-agent: *
Disallow: /administrator/
Disallow: /cache/
Disallow: /cli/
Disallow: /components/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /layouts/
Disallow: /libraries/
Disallow: /logs/
Disallow: /modules/
Disallow: /plugins/
Disallow: /tmp/

# Разрешаем мультимедийные файлы из /images/ (папка для хранения медиа)
Allow: /images/

Sitemap: https://example.com/sitemap.xml

5. Рекомендации и часто встречающиеся ошибки

  1. Ошибка 404 на файле robots.txt: Убедитесь, что файл доступен по URL http(s)://example.com/robots.txt. Если поисковый бот получит 404, он будет сканировать сайт без учёта ваших правил.
  2. Неправильные пути или синтаксис: Важно указывать завершающий слэш для директорий и правильно использовать маски.
    • Disallow: /folder/ закрывает весь каталог folder.
    • Disallow: /folder без завершающего слэша будет действовать только на URL, начинающиеся ровно на /folder, но не затронет /folder/images/.
  3. Слишком жёсткие запреты: Можно случайно закрыть весь сайт (например, Disallow: /) и потерять трафик из поисковиков.
  4. Отсутствие директивы Sitemap: Рекомендуется явно указывать карту сайта через Sitemap: — это упрощает жизнь поисковым роботам и ускоряет индексацию.
  5. Дублирование правил: Если вы используете генерируемый CMS файл и ручной (статический) robots.txt, могут возникать противоречия. Всегда проверяйте, какие директивы реально выдаются при открытии robots.txt в браузере.

6. Проверка правильности работы

После настройки robots.txt имеет смысл протестировать файл с помощью инструментов вебмастеров поисковых систем:

  • Google Search Console: раздел «Проверка файла robots.txt».
  • Яндекс.Вебмастер: есть аналогичный инструмент для проверки.

Также можно просто перейти в браузере по адресу http(s)://example.com/robots.txt и посмотреть содержимое файла — если всё корректно, вы увидите нужные директивы.


Заключение

При настройке robots.txt важно учесть особенности вашего веб-сервера и структуры сайта. Для разных доменов и субдоменов лучше создавать отдельные файлы robots.txt (и в конфигурации VirtualHost или Nginx server block прописывать пути к ним). При использовании различных CMS — 1С-Битрикс, WordPress, OpenCart, Joomla — убедитесь, что все служебные директории закрыты от индексации, а публичные файлы (изображения, CSS, JS) доступны. Не забудьте указать путь к актуальной карте сайта.

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

Теги:  Хостинг, robots.txt

Похожие статьи

Интернет-магазин от 120 000 руб., срок от 4 недель

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

Корпоративный сайт от 60 000 руб., срок от 3 недель

Готовый информационный ресурс, включающий лицензию на 1С-Битрикс «Стандарт», технологию «Композитный сайт».

Лендинг от 25 000 руб., срок от 2 недель

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