Пример кода<? // /news/index.php
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/pagen.php"); // подключаем файл до header.php
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
$APPLICATION->SetTitle("Новости");
...
?>
Пример кода<? // /bitrix/pagen.php
function __isPathTraversalUri($uri) {
    if (($pos = strpos($uri, '?')) !== false) {
        $uri = substr($uri, 0, $pos);
    }
    $uri = trim($uri);
    return preg_match("#(?:/|2f|^|\\\\|5c)(?:(?:%0*(25)*2e)|\\.){2,}(?:/|%0*(25)*2f|\\\\|%0*(25)*5c|$)#i", $uri) ? true : false;
}
$newUri = preg_replace('#(page[\d]+/)#is', '', $_SERVER['REQUEST_URI']);
if (!__isPathTraversalUri($newUri)) {
    $_SERVER['REQUEST_URI'] = $newUri;
}
if (isset($_GET['page'])) {
    $pageValue = intval($_GET['page']);
    if ($pageValue >= 1) {
        $pageNumber = $pageValue + 1;
        $navNum = 1;
        $_GET['PAGEN_'.$navNum] = $pageNumber;
        $_REQUEST['PAGEN_'.$navNum] = $pageNumber;
    }
}
Пример кода<? // /local/templates/s1/components/bitrix/system.pagenavigation/news/template.php
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
$this->setFrameMode(true);
if(!$arResult["NavShowAlways"])
{
    if ($arResult["NavRecordCount"] == 0 || ($arResult["NavPageCount"] == 1 && $arResult["NavShowAll"] == false))
        return;
}
$strNavQueryString = ($arResult["NavQueryString"] != "" ? $arResult["NavQueryString"]."&amp;" : "");
$strNavQueryStringFull = ($arResult["NavQueryString"] != "" ? "?".$arResult["NavQueryString"] : "");
ob_start(); // Включаем буферизацию
?>
<!-- Тут шаблон -->
<?
$paging = ob_get_contents();
ob_end_clean();
$paging = preg_replace_callback('/href="([^"]+)"/is', function($matches) use ($arResult) {
    $url = $matches[1];
    if ($arUrl = parse_url($url)) {
        $newUrl = $arUrl['path'];
        if (substr($newUrl, -1) != '/') {
            $newUrl .= '/';
        }
        $newUrl = preg_replace('#(page[\d]+/)#is', '', $newUrl);
        $queryString = htmlspecialcharsback($arUrl['query'] ?? '');
        parse_str($queryString, $arQuery);
        $targetPage = null;
        $pagenKey = 'PAGEN_' . $arResult["NavNum"];
        if (isset($arQuery[$pagenKey])) {
            $targetPage = intval($arQuery[$pagenKey]);
        } else {
            if (isset($arQuery['page'])) {
                unset($arQuery['page']);
            }
        }
        unset($arQuery[$pagenKey], $arQuery['SECTION_CODE']);
        if ($targetPage !== null) {
            $newPageValue = $targetPage - 1;
            if ($newPageValue > 0) {
                $arQuery['page'] = $newPageValue;
            }
        }
        $buildQuery = http_build_query($arQuery, '', '&amp;');
        if (strlen($buildQuery)) {
            $newUrl .= '?' . $buildQuery;
        }
        return 'href="' . $newUrl . '"';
    }
    return $matches[0];
}, $paging);
echo $paging;
?>