Задача:
*Добавить на страницах пагинации в title, description и h1 приписку с номером страницы
Решение:
*В bitrix/php_interface/init.php (если нет, то создаем) добавляем в конец функцию разбирающая мета-теги и собирающая обратно
Событие "OnEpilog" вызывается в конце визуальной части эпилога сайта. (После того как битрикс получит уже все данные страницы)
Сработал вот такой код в init.php.
<? AddEventHandler("main", "OnEpilog", "valery_page_epilog"); function valery_page_epilog() { global $APPLICATION; //Проверка на 404 страницу $is_page_404 = false; if(defined("ERROR_404")==true) $is_page_404 = true; //Добавление тегов rel=canonical: начало if($is_page_404==false ) { $page_content = ob_get_contents(); if($page_content!=false && strpos($page_content, '<!-- has_stranation_pagen_1 -->')!==false) { //canonical на существующей странице $GLOBALS['APPLICATION']->SetPageProperty('canonical',(($_SERVER["HTTPS"] == "on") ? "https://" : "http://") . $_SERVER['SERVER_NAME'].$GLOBALS['APPLICATION']->GetCurPageParam("", array ("num", "sort", "view", "order", "back_url_admin", "clear_cache")) ,false); } elseif(strpos($page_content, '<!-- it_more_page_stranation -->')) //canonical на не существующей странице { $GLOBALS['APPLICATION']->SetPageProperty('canonical',(($_SERVER["HTTPS"] == "on") ? "https://" : "http://") . $_SERVER['SERVER_NAME'].$GLOBALS['APPLICATION']->GetCurPageParam("", array ("PAGEN_1", "num", "sort", "view", "order", "back_url_admin", "clear_cache")) ,false); } } } //Добавление тегов rel=canonical: конец ?>
Или 404 можно.
//404 на не существующей странице $GLOBALS['APPLICATION']->SetPageProperty('canonical',(($_SERVER["HTTPS"] == "on") ? "https://" : "http://") . $_SERVER['SERVER_NAME'].$GLOBALS['APPLICATION']->GetCurPageParam("", array ("num", "sort", "view", "order", "back_url_admin", "clear_cache")) ,false); } elseif(strpos($page_content, '<!-- it_more_page_stranation -->')) Bitrix\Iblock\Component\Tools::process404( 'Не найден', //Сообщение true, // Нужно ли определять 404-ю константу true, // Устанавливать ли статус true, // Показывать ли 404-ю страницу false // Ссылка на отличную от стандартной 404-ю ); } } //Добавление тегов rel=canonical: конец ?>