Настройка robots.txt для разных хостов

Постановка задачи

Для поддоменов нужен отдельный robots.txt с запретом на индексацию

Описание проблемы

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

Например, для сайтов site.ru и sub.site.ru корневая директория /home/www/site.ru (где и лежит их общий robots.txt).

Вводные данные

Домен основного сайта: site.ru

Подоомены: kazan.site.ru, spb.site.ru, krasnodar.site.ru

Далее рассмотрим два случая:

  • Проксирование статики на сервере происходит на стороне apache
  • Проксирование статики на сервере происходит на стороне nginx

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

Для начала мы создадим два файла robots.txt для основного домена и robots-subdomains.txt для поддоменов.

robots.txt
User-agent: *
Allow: /


robots-subdomains.txt
User-agent: *
Disallow: /

Проксирование статики на apache

В случае, проксирование статики происходит на стороне apache все просто - добавляем в .htaccess строки:

RewriteCond %{HTTP_HOST} ^subdomain.site.ru$
RewriteRule ^robots.txt$ /robots-subdomains.txt [L]

и создаем файл, например, robots-subdomains.txt - robots для поддоменов.

Проксирование статики на nginx

В случае проксирования статики на nginx задача слегка усложняется. Файл robots.txt будет отдаваться nginx’ом и поэтому до правил в .htaccess дело не дойдёт. Для того, чтобы иметь возможность перенаправить запросы к файлу robots.txt, нам надо, чтобы его отдавал apache. Для этого мы переименуем файл robots.txt в main-robots.txt. В этом случае, не найдя файл robots.txt в корне сайта, nginx передаст запрос на apache, который обработает перенаправления в .htaccess.

В итоге у нас должно получиться два файла: main-robots.txt для основного домена и robots-subdomains.txt для поддоменов. В .htaccess надо вписать следующие строки:

RewriteCond %{HTTP_HOST} ^site.ru$
RewriteRule ^robots.txt$ /robots-main.txt [L]
RewriteCond %{HTTP_HOST} ^subdomain.site.ru$
RewriteRule ^robots.txt$ /robots-subdomains.txt [L]


Назад в раздел


С чего начинается продвижение сайта, старт работ по поисковому продвижению и раскрутке сайта в компании Пиксель Плюс
Начало работ по поисковому продвижению сайта в компании «Пиксель Плюс». Базовые понятия.
Необходимость ежемесячной оплаты работ по поисковому продвижению сайта. Основные работы по сайту для его эффективной раскрутки и себестоимость работ
Я бы хотел заплатить за продвижение своего сайта 1 раз и быть высоко в выдаче по конкурентным запросам всегда, возможно ли такое?
Продвижение по трафику: вопросы клиентов и ответы на них
Ряд вопросов по продвижению сайта по трафику. Нюансы тарификации, расчёта стоимости работ, абонентской оплаты.
Часто задаваемые вопросы по веб-аналитике (FAQ)
Вопросы, которые часто задаются заказчиками услуги по веб-аналитике и оказанию самой услуги. Что такое веб-аналитика? Зачем проекту нужна веб-аналитика? Зачем нужно определять KPI и какие они бывают? И так далее.
Какие работы НЕ входят в SEO в случае продвижения в «Пиксель Плюс»?
Поисковое продвижение включает в себя большой перечень работ, необходимый для получения максимальных результатов... Но какие же работы не входят в платеж на SEO?
Время продвижения и внесения изменений в результаты продвижения сайта, скорость реагирования Яндекса (Yandex) на внесение изменений на сайте
Я оплатил услуги продвижения сайта на месяц. Прошло уже 10 дней и позиции в Яндексе не улучшились, вы там работаете или нет?