Чтобы закрыть блог от индексации для региональных поддоменов в 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. Поисковые роботы будут игнорировать эти страницы, а пользователи будут видеть страницу ошибки, если попытаются получить доступ к ним.