Доработки чужих проектов, простая функция вернёт правильный url без параметров в url и без учёта пагинации.
functions.php :
function getCurrentUrlSeo() {
global $wp;
$current_url = home_url($wp->request);
$pos = mb_strpos($current_url, '/page');
$finalurl = $pos ? substr($current_url, 0, $pos) : $current_url;
return $finalurl.'/';
}
header.php :
<link rel="canonical" href="<?= getCurrentUrlSeo()?>">