Запрет индексации элементов инфосистемы

Часто инфосистема нужна только для вывода какого-нибудь блока: партнеров, преимуществ, сотрудников, документов и т.п. Отдельные страницы у таких элементов не нужны, но технически HostCMS позволяет открыть элемент по его URL.

В итоге со временем в поиске могут появиться страницы, которые там вообще не планировались.

Поэтому при создании инфосистемы сразу уточняем у менеджера или SEO-специалиста, нужны ли отдельные страницы элементов и групп в поиске.

Если не нужны — закрываем их сразу.

Закрываем страницы элементов

В ТДС после parseUrl():

Copy
$Informationsystem_Controller_Show	->limit($oInformationsystem->items_on_page)	->parseUrl();

проверяем, был ли запрошен элемент, и отправляем посетителя на основную страницу инфосистемы:

Copy
if ($Informationsystem_Controller_Show->item){	header('Location: ' . $oInformationsystem->Structure->getPath(), TRUE, 301);	die();}

Например:

/partners/company-name/ → 301 → /partners/

Группы при этом продолжат работать.

Если не нужны и группы

Бывает, что инфосистема вообще используется только как источник данных для одной страницы. Тогда нет смысла оставлять доступными ни элементы, ни группы:

Copy
$Informationsystem_Controller_Show	->limit($oInformationsystem->items_on_page)	->parseUrl();if ($Informationsystem_Controller_Show->item || $Informationsystem_Controller_Show->group){	header('Location: ' . $oInformationsystem->Structure->getPath(), TRUE, 301);	die();}

Получим:

/partners/group/        → 301 → /partners/
/partners/group/item/   → 301 → /partners/

Не забываем про sitemap

Если страницы элементов нам не нужны в поиске, нет смысла продолжать добавлять их в sitemap.

Для таких инфосистем у элементов нужно отключать индексирование. Например, это можно сделать при сохранении элемента:

Copy
Core_Event::attach('informationsystem_item.onBeforeSave', function(Informationsystem_Item_Model $oInformationsystem_Item) {	if ($oInformationsystem_Item->informationsystem_id == 2)	{		$oInformationsystem_Item->indexing = FALSE;	}});

Вместо 2 указываем идентификатор нужной инфосистемы.

Ну и заодно проверяем XSL и другие места вывода: не стоит самим ставить ссылки на страницы, которые тут же отправляют пользователя обратно через 301.

Как SEO-специалисту найти нужную ТДС

Если малоценные страницы уже нашлись в индексе, берем любой такой URL и определяем раздел, к которому он относится.

Например:

/partners/company-name/

Значит, в Структуре сайта ищем /partners/ и открываем свойства этого узла.

Если у него выбрана Типовая динамическая страница, в поле «Страница» будет указана нужная ТДС. Рядом с ней есть кнопка редактирования — через нее и переходим к коду страницы.

Во вкладке «Код страницы» находим вызов:

Copy
$Informationsystem_Controller_Show	->limit($oInformationsystem->items_on_page)	->parseUrl();

И уже здесь определяем, что нужно закрыть: только элементы или элементы вместе с группами.

После изменения достаточно проверить три URL:

/partners/              → 200
/partners/group/        → 200 или 301
/partners/group/item/   → 301

Главное правило простое: создали инфосистему — сразу решили, нужны ли ее элементы и группы как отдельные страницы в поиске. Если нет, закрываем их на этапе разработки, а не когда они уже появились в выдаче.

17.08.2026