Насколько я понимаю, это будет ручное указание.
Я бы:
1. Завёл пользовательское свойство разделу, строка. Например
UF_CANONICAL_TO.
2. Прописал тем разделам, которые нужно «склеить», адрес канонической страницы в это свойство.
3. В шаблоне компонента (в его папке, имеется в виду) создал
component_epilog.php (чтобы кеш не перебивал мне добавление строки) и там проверял: если свойство установлено, прописывал каноникал.
[+]
Добавить свою строку в шапку изнутри:
\Bitrix\Main\Page\Asset::getInstance()->addString( '<link rel="canonical" href="УРЛ" />' );
[+]
Чтобы «пробросить»
arResult-параметры в
component_epilog:
в шаблоне компонента создаём
result_modifier.php и внутри код:
$cp = $this->__component; // объект компонента
if (is_object($cp)) {
$cp->SetResultCacheKeys( array_keys( $arResult ) );
}