Создание кастомного robots.txt

Материал из Umicms
Перейти к:навигация, поиск

Актуально для версии 18.

Может возникнуть задача изменить некоторые из стандартных правил disallow, т.е. что-то из этого: Disallow: /admin Disallow: /index.php Disallow: /emarket/addToCompare Disallow: /emarket/basket Disallow: /go_out.php Disallow: /search

Проблема в том, что если вы создадите сами файл robots.tx и внесете в него необходимые изменения, и дальше добавите макрос %disallow_umi_pages% для вывода списка запрещенных к индексации страниц, то он опять добавит указанный выше список целиком. Для решения этой проблемы необходимо в файле .htaccess в самое начало файла (т.е. перед строкой ####################### UMI_CMS_HTACCESS_BEGIN ###########################) добавить строку

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^robots\.txt$  sbots_custom.php?path=$1%{QUERY_STRING} [L]

Далее необходимо в корне сайта создать файл sbots_custom.php и в него добавить следующий код:

<?php
	define("CURRENT_WORKING_DIR", str_replace("\\", "/", $dirname = dirname(__FILE__)));
	require CURRENT_WORKING_DIR . '/libs/root-src/sbots_custom.php';
?>

Последняя часть — необходимо в папке /libs/root-src/ добавить файл sbots_custom.php и в него внести содержимое оригинального файла /libs/root-src/sbots.php. Теперь Вы можете изменять этот файл так, как Вам необходимо, и изменения не затрутся при обновлении системы.