Не плохой вариант описан в этой теме ссылка, там вебмастера не устроили обычные методы с canonical и заглушками в Robots.txt
Так же используют нумерацию страниц, но объясняется, почему лучше использовать <meta name="robots" content="noindex, follow"/>. Дабы робот не индексировал страницы пагинации, но ходил по ним.
Мне же показалось не универсальным, нумеровать дубли, поэтому поступил иначе -
На примере сайта https://virtualrift.net/news/ где /news/ является главной страницей каталога новостей.
Закидываем такое условие в Head главного каталога и получаем noindex для всех дублей.
<?ifnot($REQUEST_URI$ = "/news/")?><meta name="robots" content="noindex, follow"/><?endif?>
Однако получим noindex, так же и на категории в некоторых случаях. Дабы этого избежать добавляем и их в условие тоже. Например https://virtualrift.net/vr_games /vr-games - это уже категория главного модуля. Добавляем в условие параметр "|" , то есть "или" :
<?ifnot($REQUEST_URI$ = "/news/"|$REQUEST_URI$ = "/vr_games")?><meta name="robots" content="noindex, follow"/><?endif?>
Так же можно поступить со всеми адресами главных каталогов и категорий, если нужно. Все страницы пагинации, кроме главных, будут обходится, но не будут индексироваться.
А с учетом, что у каждого модуля свои заморочки с нумерацией страниц пагинации, мне кажется это оптимальный вариант.