Title для страниц пагинации, формирование rel prev/next для CMS Bitrix

В примере для вывода используется компонент bitrix.news.list Добавляем title:

if(isset($arResult["NAV_RESULT"]->NavPageNomer) && $arResult["NAV_RESULT"]->NavPageNomer != 1){
		$titleWithPage = '-страница ' . $arResult["NAV_RESULT"]->NavPageNomer;
	$title = isset($titleWithPage) ? $arResult['NAME'] . $titleWithPage : $arResult['NAME'];
	$APPLICATION->SetPageProperty("title", $title);
Необходимо проследить, чтобы title был установлен только в одном месте.

В шаблоне компонента переменная $arResult хранит все необходимые нам данные для построения rel prev/next

$request = $APPLICATION->GetCurPage(false);//передаем false как аргумент, чтобы не возвращало index.php
$page = $arResult["NAV_RESULT"]->NavPageNomer;
$page_full_url = 'http://'. $_SERVER['HTTP_HOST'] . $request . 'page';
$page_count = $arResult["NAV_RESULT"]->NavPageCount;
switch($page){
	case '1':
	case 'default':
	$next_page = $page_full_url . '2';
	$APPLICATION->AddHeadString('<link  rel="next" href="' . $next_page . '/"/>',true);
	break;
 
	case $page_count:
	if(($page-1) == 1){
		$prev_page = 'http://'. $_SERVER['HTTP_HOST'] . $request;
	}
	else{
		$prev_page = $page_full_url . ($page_count-1) . '/';
		}
	$APPLICATION->AddHeadString('<link rel="prev" href="'.$prev_page.'"/>',true);
	break;
 
	case ($page < $page_count):
	case ($page > 1):
	if(($page-1) > 1){
		$next_page = $page_full_url . ($page+1) . '/';
		$prev_page = $page_full_url . ($page-1) . '/';
	}
	else{
		$next_page = $page_full_url . ($page+1) . '/';
		$prev_page = 'http://'. $_SERVER['HTTP_HOST'] . $request';
	}
	$APPLICATION->AddHeadString('<link rel="prev" href="'.$prev_page.'">',true);
	$APPLICATION->AddHeadString('<link rel="next" href="'.$next_page.'">',true);
	break;
  }
Важно учесть то, как формируются ссылки на проекте(маска пагинации, слеш на конце или без и т.д.), и по необходимости переписать