Пагинация категорий, canonical, prev и next

Тема в разделе "Общие вопросы", создана пользователем цлез, 5 апр 2018.

  1. цлез

    цлез Пользователь

    Сообщения:
    51
    Симпатии:
    3
  2. solunski.d

    solunski.d Эксперт

    Сообщения:
    1.570
    Симпатии:
    437
    Я дополнил что проверил и на чистой сборке OcStore версии 2.3.0.2 такого нет.
    Чтобы решить проблему нужно разбираться в вашем купленом шаблоне.
     
  3. цлез

    цлез Пользователь

    Сообщения:
    51
    Симпатии:
    3
    Можете показать на скринах как у вас – 1, 2 и 3 страница?
     
  4. solunski.d

    solunski.d Эксперт

    Сообщения:
    1.570
    Симпатии:
    437
    upload_2018-4-5_22-23-33.png
    upload_2018-4-5_22-24-9.png
    upload_2018-4-5_22-25-31.png
     

    Вложения:

  5. цлез

    цлез Пользователь

    Сообщения:
    51
    Симпатии:
    3
    Ну вот) тоже самое! У меня вопрос был в другом, нужно сделать canonical на главную категорию!

    То что сейчас, с вашими правками.
    1ая
    HTML:
    <link href="http://www.2302.ru/index.php?route=product/category&amp;path=1" rel="canonical" /> <--- canonical на главную!
    <link href="http://www.2302.ru/index.php?route=product/category&amp;path=1&amp;page=2" rel="next" />
    2ая
    HTML:
    <link href="http://www.2302.ru/index.php?route=product/category&amp;path=1&amp;page=2" rel="canonical" /> <--- canonical на саму себя!
    <link href="http://www.2302.ru/index.php?route=product/category&amp;path=1" rel="prev" />
    <link href="http://www.2302.ru/index.php?route=product/category&amp;path=1&amp;page=3" rel="next" />
    3ья и т.д.
    HTML:
    <link href="http://www.2302.ru/index.php?route=product/category&amp;path=1&amp;page=3" rel="canonical" /> <--- canonical на саму себя!
    <link href="http://www.2302.ru/index.php?route=product/category&amp;path=1&amp;page=2" rel="prev" />
    <link href="http://www.2302.ru/index.php?route=product/category&amp;path=1&amp;page=4" rel="next" />
    Вот чего хочу добиться

    1ая
    HTML:
    <link href="http://www.2302.ru/index.php?route=product/category&amp;path=1" rel="canonical" /> <--- canonical на главную!
    <link href="http://www.2302.ru/index.php?route=product/category&amp;path=1&amp;page=2" rel="next" />
    2ая
    HTML:
    <link href="http://www.2302.ru/index.php?route=product/category&amp;path=1" rel="canonical" /> <--- canonical на главную!
    <link href="http://www.2302.ru/index.php?route=product/category&amp;path=1" rel="prev" />
    <link href="http://www.2302.ru/index.php?route=product/category&amp;path=1&amp;page=3" rel="next" />
    3ья и т.д.
    HTML:
    <link href="http://www.2302.ru/index.php?route=product/category&amp;path=1" rel="canonical" /> <--- canonical на главную!
    <link href="http://www.2302.ru/index.php?route=product/category&amp;path=1&amp;page=2" rel="prev" />
    <link href="http://www.2302.ru/index.php?route=product/category&amp;path=1&amp;page=4" rel="next" />
     
  6. Chukcha

    Chukcha Специалист

    Сообщения:
    3.013
    Симпатии:
    687
  7. solunski.d

    solunski.d Эксперт

    Сообщения:
    1.570
    Симпатии:
    437
  8. Chukcha

    Chukcha Специалист

    Сообщения:
    3.013
    Симпатии:
    687
    не, не на главную на первую
     
  9. DiMoss

    DiMoss Продвинутый пользователь

    Сообщения:
    876
    Симпатии:
    241
    PHP:
    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), 'canonical');
        
    $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'], true), 'canonical');
        
    $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'); //mod

    }
    Снимок экрана 2018-04-06 в 10.56.30.png
     
  10. цлез

    цлез Пользователь

    Сообщения:
    51
    Симпатии:
    3
    Спасибо всем кто помогал!
     
  11. solunski.d

    solunski.d Эксперт

    Сообщения:
    1.570
    Симпатии:
    437
    Последнее редактирование: 6 апр 2018
    DiMoss нравится это.
  12. DiMoss

    DiMoss Продвинутый пользователь

    Сообщения:
    876
    Симпатии:
    241
    Надо глянуть! Спасибо!
     
  13. optimlab

    optimlab Продвинутый пользователь

    Сообщения:
    924
    Симпатии:
    241
    На самом деле довольно часто используется, чтоб внутряки пэйджев в индекс не попадали.

    Их в основном 3 разновидности:
    1. Каноникал у каждого пейджа на главную.
    2. Цепочкой next-prev, где каноникал только на первой странице. Это аналог древнего Вью-All.
    3. И каноникал саму на себя на каждом пэдже. - Это антипод первого. По умолчанию в тройке.
    В каждом случае использование по разному. И зависит от контента пейджев....
     
    Chukcha нравится это.
  14. Chukcha

    Chukcha Специалист

    Сообщения:
    3.013
    Симпатии:
    687
    Если об этом знает Я (говорит, что знает)


    Верно, от контента, если еще разбавить title и description
     
  15. paulzseo

    paulzseo Новичок

    Сообщения:
    2
    Симпатии:
    0
    ты голову включай , а не слеоп верь всему что написано
    у тебя на 2 или 3 или 4 для яндекса получаеться одинаковое описание одинаковый тайтл он тенбе дубликат пропишет и целую категорию выкинет, для гугля правильно для яндекса нет
     
  16. solunski.d

    solunski.d Эксперт

    Сообщения:
    1.570
    Симпатии:
    437
    Я не слепо верю, опыт есть) По ссылкам есть "рекомендации" как для Яндекс, так и для Google.
     
  17. Роман444

    Роман444 Новичок

    Сообщения:
    3
    Симпатии:
    0
    Всем привет.
    Такая же проблема - на второй странице пагинации нет canonical.
    Так и не понял, какой способ вам помог из этой ветки?

    добавление этой строки
    $this->document->addLink($this->url->link('product/category', 'path=' . $category_info['category_id'], true), 'canonical');
    после elseif ($page == 2) {
    и
    после else
    не помогает.
    _________________
    разобрался, нужно было еще добавть после
    if ($limit && ceil($product_total / $limit) > $page) {
     
    Последнее редактирование: 7 фев 2024
  18. griga999

    griga999 Новичок

    Сообщения:
    13
    Симпатии:
    0

    Скажите подробнее, что вы сделали, где и что поменяли. Напишите пожалуйста полным текстом, чтобы можно было повторить.
     
  19. Vlad

    Vlad Эксперт

    Сообщения:
    4.161
    Симпатии:
    1.013
    Наугад вставить не получится. Читайте тему с начала, пробуйте. Не забывайте обновлять кеш модификатора итд.
     
  20. Роман444

    Роман444 Новичок

    Сообщения:
    3
    Симпатии:
    0
    Приветствую.
    Вот так прописано у меня:

    if ($limit && ceil($product_total / $limit) > $page) {
    $this->document->addLink($this->url->link('product/category', 'path=' . $category_info['category_id'], 'SSL'), 'canonical');
    $this->document->addLink($this->url->link('product/category', 'path=' . $category_info['category_id'] . '&page='. ($page + 1), 'SSL'), 'next');
    }

    у меня это 379 строка, перед строкой:
    $data['sort'] = $sort;