Разный robots.txt на разных поддоменах


Для разделения robots.txt между поддоменами есть два варианта:

  • первый - если просто нужно избежать склейки поддоменов (простой)
  • второй - если нужны разные правила для разных регионов (сложный)

Robots.txt с одинаковыми правилами на разных поддоменах

Идём в Сервисы -> Регионы продаж, на вкладку "Robots.txt (простой путь)", где видим такую форму:

Robots.txt (простой путь)

Теперь посмотрите, как адрес сайта в robots.txt выглядит у вас. Для этого с помощью браузера откройте на сайте путь "/robots.txt". Допустим, изначально файл выглядит вот так (это, кстати, стандартный набор правил для Битрикса):

User-Agent: *
Disallow: */index.php
Disallow: /bitrix/
Disallow: /*show_include_exec_time=
Disallow: /*show_page_exec_time=
Disallow: /*show_sql_stat=
Disallow: /*bitrix_include_areas=
Disallow: /*clear_cache=
Disallow: /*clear_cache_session=
Disallow: /*ADD_TO_COMPARE_LIST
Disallow: /*ORDER_BY
Disallow: /*PAGEN
Disallow: /*?print=
Disallow: /*&print=
Disallow: /*print_course=
Disallow: /*?action=
Disallow: /*&action=
Disallow: /*register=
Disallow: /*forgot_password=
Disallow: /*change_password=
Disallow: /*login=
Disallow: /*logout=
Disallow: /*auth=
Disallow: /*backurl=
Disallow: /*back_url=
Disallow: /*BACKURL=
Disallow: /*BACK_URL=
Disallow: /*back_url_admin=
Disallow: /*?utm_source=
Allow: /bitrix/components/
Allow: /bitrix/cache/
Allow: /bitrix/js/
Allow: /bitrix/templates/
Allow: /bitrix/panel/
Host: av-promo.ru

В примере мы видим, что использован адрес сайта - "av-promo.ru", значит в форму нужно подставить "av-promo.ru". После заполнения поля, нажимаем кнопку "Сделать динамическим", прописываем в .htaccess правило, которое показано ниже на странице, и проверяем результат на поддоменах. Всё, кроме адреса сайта напротив "Host", будет одинаковым для всех регионов. Но мы этим различием уберегаем себя от "склейки" поддоменов.

Robots.txt с разными правилами на разных поддоменах

Смысл этого способа в том, что можно прописывать абсолютно разные robots.txt с разными правилами для разных поддоменов. Например, запретить на определённом регионе индексацию страницы доставки.

Для этого в инфоблоке регионов создаём свойство элементов "robots.txt" типа "HTML/текст" (код, "ROBOTS_TXT") и заполняем его у разных регионов тем содержимым, которое нужно вам на соответствующем поддомене.

Свойство для robots.txt

Затем идём на вкладку - "Robots.txt (сложный путь)". Указываем там созданное свойство.

Robots.txt (сложный путь)

Нажимаем на кнопку "Сделать динамическим", прописываем правило в .htaccess и проверяем работу файла /robots.txt на поддоменах.

Кстати, для быстрого старта всем регионам можно быстро заполнить это свойство одинаковым содержимым с помощью формы на той же вкладке.

Пакетное задание значение robots.txt регионам

Важно! Редиректы

Вы создали php-файл с расширением .php, а значит его адрес - /robots.php. Но адрес robots.txt всегда должен быть "/robots.txt". Следовательно, обязательно пропишите такое правило для подмены файла в .htaccess:

RewriteRule ^robots\.txt$ /robots.php [L]

Если подмена не работает, скорее всего .txt-файлы у вас обрабатывает nginx. В таком случае напишите хостерам, чтобы вынесли .txt-файлы из под обработки nginx, чтобы на них срабатывали правила из .htaccess.
Если они отказываются это сделать, а такое бывает на простых хостингах и недорогих тарифах, то зачастую для срабатывания правила помогает переименование/удаление robots.txt.



Аристов Василий
Разработчик всех модулей на проекте

Теги



Что-то осталось непонятным или вы нашли неточность? Напишите, пожалуйста об этом в комментариях.

Написать комментарий

Чтобы писать комментарии, вам нужно войти на сайт

Авторизоваться через соцсеть

Авторизоваться через vk.com Авторизоваться через facebook.com

Хотите такие же комментарии себе на сайт? Купите готовый к установке модуль