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

Дата: 01.03.2018 Просмотров: 3933 Комментарии: 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

Комментарии

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


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