Как закрыть блог от индексации для региональных поддоменов в modx?

Чтобы закрыть блог от индексации для региональных поддоменов в MODX, необходимо выполнить несколько шагов.

1. Создайте шаблон "robots.tpl" в директории "templates". В этом файле вы можете указать инструкции для поисковых роботов.

2. Откройте файл "index.php" в корневой директории MODX и найдите следующую строку:

$modx = new modX();

Сразу после этой строки добавьте следующий код:

if ($_SERVER['SERVER_NAME'] != 'ваш_основной_домен') {
    header('X-Robots-Tag: noindex, nofollow');
    $modx->sendErrorPage();
}

В этом коде мы проверяем, является ли текущий поддомен основным доменом, и если нет, то мы отправляем инструкцию для поисковых роботов "noindex, nofollow" и вызываем страницу ошибки.

3. Зайдите в админ-панель MODX и выберите нужный ресурс (например, блог). Найдите вкладку "Свойства" и в поле "Шаблон вывода" выберите созданный шаблон "robots.tpl".

4. Перейдите в папку с файлами ресурса (через FTP или панель хостинга) и создайте файл ".htaccess", если его еще нет.

5. В файле ".htaccess" добавьте следующие строки:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^(w+).ваш_основной_домен$ [NC]
    RewriteRule . - [E=MAIN_DOMAIN:%1]
    RewriteCond %{HTTP_HOST} ^(w+).ваш_основной_домен$ [NC]
    RewriteCond %{ENV:MAIN_DOMAIN} !^$
    RewriteRule . - [E=SUB_DOMAIN:%1]
    RewriteCond %{ENV:SUB_DOMAIN} !^$
    RewriteRule (?!^robots.txt$)^.*$ - [F,L]
</IfModule>

В этих строках мы проверяем, является ли текущий поддомен основным доменом, и если нет, то блокируем доступ к всем файлам, кроме файла "robots.txt". Вы можете менять "ваш_основной_домен" на свой домен.

После выполнения всех этих шагов блог будет закрыт от индексации для региональных поддоменов в MODX. Поисковые роботы будут игнорировать эти страницы, а пользователи будут видеть страницу ошибки, если попытаются получить доступ к ним.