knuklus
1/11/2018 - 9:16 PM

Автоматический robots.txt

Генерируется автоматически при переносе сайта, хост цепляется автоматически

Создать ресурс (шаблон: «(пустой шаблон)», псевдоним: «robots», тип содержимого: «text», отключить HTML-редактор, опубликовать).
Создать сниппет с названием «quasiRobots», код ниже.
Добавить в ресурс вызов сниппета, примеры ниже.
Теперь «файл» robots.txt будет доступен по адресу https://site.ru/robots.txt.


$output = '';
$site_status = (int)$modx->getOption('site_status', $scriptProperties, 1);
$site_url = $modx->getOption('site_url', null, '');
$sitemap = (int)$modx->getOption('sitemap', $scriptProperties, 0);

$disallow = [
	'User-agent: *',
	'Disallow: /assets/components',
	'Disallow: /connectors',
	'Disallow: /core',
	'Disallow: /manager',
	'Disallow: /search',
	'Disallow: /index.php',
	'Disallow: /?',
];

$offlineText = [
	'User-agent: *',
	'Disallow: /'
];

if ($site_status === 1) {
	$output = implode("\n", $disallow);
	$output .= "\nHost: ".$modx->getOption('site_url', null, '');
	if ($sitemap > 0) {
		$output .= "\nSitemap: ".$modx->makeUrl($sitemap, '', '', 'full');
	}
} else {
	$output = implode("\n", $offlineText);
}

return $output;