Кстати может кому пригодится:
Пошаговая инструкция по оптимизации пагинации
1. Заходим на FTP и находим файл header.tpl вашего шаблона (www/catalog/view/theme/название шаблона/template/common), в котором есть следующие строки кода:
Если кода нет — добавляем:
<?php foreach ($links as $link) { ?>
<link rel="<?php echo $link['rel']; ?>" href="<?php echo $link['href']; ?>" />
<?php } ?>
2. Затем нужно открыть файл контроллера категории (catalog/controller/product) category.php и найти вот такие строки кода:
$pagination = new Pagination();
$pagination->total = $product_total;
$pagination->page = $page;
$pagination->limit = $limit;
$pagination->text = $this->language->get('text_pagination');
$pagination->url = $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url . '&page={page}');
$this->data['pagination'] = $pagination->render();
3. После строки: $this->data[‘pagination’] = $pagination->render(); необходимо добавить вот такой код:
if ($page == 1) {
$this->document->addLink($this->url->link('product/category', 'path=' . $category_info['category_id'], true), 'canonical');
} elseif ($page == 2) {
$this->document->addLink($this->url->link('product/category', 'path=' . $category_info['category_id'], true), 'prev');
} else {
$this->document->addLink($this->url->link('product/category', 'path=' . $category_info['category_id'] . '&page='. ($page - 1), true), 'prev');
}
if ($limit && ceil($product_total / $limit) > $page) {
$this->document->addLink($this->url->link('product/category', 'path=' . $category_info['category_id'] . '&page='. ($page + 1), true), 'next');
}
После добавления кода нужно обязательно сохранить файл.
4. После сохранения открываем любую категорию сайта и смотрим на наши теги rel=”next” и rel=”prev”.
5. После этого нам необходимо в файле header.tpl (вашего шаблона www/catalog/view/theme/название шаблона/template/common) прописать такой код:
<?php
$bad_patch = array('?page=', '/login/','/my-account/');
foreach ($bad_patch as $k => $v)
{
if(substr_count($_SERVER['REQUEST_URI'], $v))
{
echo '<meta name="robots" content="index, follow">';
break;
}
}
?>
ВАЖНО. В новых версиях OpenCart необходимо обновлять модификаторы в административной панели сайта, тогда изменения вступят в силу. Но перед обновлением лучше всего спросить у программиста, чтоб ничего не сломалось.
!!! ДОПОЛНИТЕЛЬНО ЧИТАТЬ !!!
Бывает что стандартно в Opencard есть уже Canonical СО ВСЕХ СТРАНИЦ ПАГИНАЦИИ. Это надо исправить, вот как:
1. Нужно открыть файл контроллера категории (catalog/controller/product) category.php и найти вот такую строку:
$this->document->addLink($this->url->link('product/category', 'path=' . $this->request->get['path']), 'canonical');
2. Комментируем или удаляем ее (если этого не сделать, то canonical будет на всех страницах пагинации, на главную в категории)
Вроде все, пользуйтесь на здоровье!