О том как убрать неправильный URL page=1 в пагинации Opencart 2

Дата: 01.03.2018 Просмотров: 1798 Комментарии: 0

Opencart один из лучших бесплатных движков, хотя как и у любой бесплатной CMS есть минусы. Сегодня мне пришлось заниматься внутренней оптимизацией Opencart и как всегда одним из пунктов чеклиста был проверка сайта на дубли страниц. На самом деле, дублей в Opencart из коробки немало, но в этом посте я расскажу только о том как убрать дубль категории page=1 в пагинации.

Есть несколько решений "замаскировать" проблему:

  • Удаление страниц из индекса — noindex,robots
  • Указание основной страницы — rel="canonical"
  • AJAX или Javascript прокрутка
  • и для Google — rel=prev/next (Яндекс не понимает)

Я же предпочитаю устранять проблемы, а не пытаться их скрыть. Итак, начнем:

В файле system/library/pagination.php заменяем строки

$output .= '<li><a href="' . str_replace('{page}', 1, $this->url) . '">' . $this->text_first . '</a></li>';
$output .= '<li><a href="' . str_replace('{page}', $page - 1, $this->url) . '">' . $this->text_prev . '</a></li>';

на

$fpage = str_replace('&amp;page={page}', '', $this->url);
$fpage = str_replace('?page={page}', '', $fpage);
    
$output .= '<li><a href="' . $fpage . '">' . $this->text_first . '</a></li>';
if ($page == 2)
    $output .= '<li><a href="' . $fpage . '">' . $this->text_prev . '</a></li>';
else
    $output .= '<li><a href="' . str_replace('{page}', $page-1, $this->url) . '">' . $this->text_prev . '</a></li>';

Строку

$output .= '<li><a href="' . str_replace('{page}', $i, $this->url) . '">' . $i . '</a></li>';
Заменяем на код

$fpage = str_replace('&amp;page={page}', '', $this->url);
$fpage = str_replace('?page={page}', '', $fpage);

if ($i == 1){
    $output .= '<li><a href="' . $fpage . '">' . $i . '</a></li>';
}
else{
    $output .= '<li><a href="' . str_replace('{page}', $i, $this->url) . '">' . $i . '</a></li>';
}

Для того чтобы не вмешиваться в ядро и не усложнять себе жизнь лишними свистоплясками при дальнейшем обновлении версии, советую всегда пользоваться Ocmod.

Поэтому мы подготовили для Вас файл для модификатора.  

Модификатор

Скачать - 4.1 KB

Комментарии

Написать комментарий

Популярные предложения

Новая Почта c калькулятором + отделения для Opencart 2.x

Новая Почта c калькулятором + отделения для Opencart 2.x

Модуль новой почты с калькулятором стоимости доставки + отделения для Opencart 2.x Калькулятор ново..

200 грн. 300 грн.

Модуль Приват24 для Opencart 2.x

Модуль Приват24 для Opencart 2.x

Модуль Приват24 для Opencart 2.x Подключает сервис онлайн оплаты Приват24 на сайт. Установка спосо..

200 грн. 300 грн.

Новая Почта c калькулятором + отделения для Opencart 3.x

Новая Почта c калькулятором + отделения для Opencart 3.x

Модуль новой почты с калькулятором стоимости доставки + отделения для Opencart 3.x Калькулятор ново..

300 грн.