Избавляемся от дублей PrestaShop, пагинация и сортировка

Тема в разделе "PrestaShop", создана пользователем novoselov, 29 июн 2014.

Информация :
Хочешь в разделе без проблем общаться - прочти правила, чтобы потом с форумом на время не прощаться. Читать обязательно!
Внимание! Читайте внимательно правила!Предупреждения выдаются без всяких вопросов. Нарушил - получил. Будьте Внимательнее! Постинг нескольких постов подряд приравнивается к НАРУШЕНИЮ! Будьте вежливы и соблюдайте правила ;-)
Модераторы: NightHunter, ZiX
  1. novoselov

    novoselov Постоялец

    Регистр.:
    18 дек 2010
    Сообщения:
    55
    Симпатии:
    6
    Добрый вечер.

    Давно мне не нравились дубли в пагинации и сортировки категорий PrestaShop, решил с этим что то сделать. Решение с использованием rel="canonical", все просто:

    идем в
    controllers\front\CategoryController.php

    после "$this->assignProductList();" 118 строка
    вставляем:
    PHP:
    if (Tools::getValue('p') || Tools::getValue('orderby'))
                
    $canonical $this->context->link->getCategoryLink($this->category);
    в "$this->context->smarty->assign" к примеру после "'category' => $this->category,"
    вставляем:
    PHP:
    'canonical' => $canonical,
    таким образом мы передали в шаблонизатор Smarty переменную $canonical с урлом категории.

    далее идем в themes\default-bootstrap\header.tpl

    ищем
    HTML:
    <meta name="robots" content="{if isset($nobots)}no{/if}index,{if isset($nofollow) && $nofollow}no{/if}follow" />
    меняем на
    HTML:
    
        {if isset($canonical) AND $canonical}
         <link rel="canonical" href="{$canonical|escape:'html':'UTF-8'}" />
         {else}
         <meta name="robots" content="{if isset($nobots)}no{/if}index,{if isset($nofollow) && $nofollow}no{/if}follow" />
         {/if}
    
    тут мы делаем проверку на наличие переменной $canonical и выводим нужный нам rel="canonical"


    Пока писал пост, подумал, что возможно rel="canonical" стоит выводить только для сортировки а для пагинации скрывать текст и все, как вы считаете?
     
  2. Platton

    Platton Постоялец

    Регистр.:
    10 май 2014
    Сообщения:
    77
    Симпатии:
    18
    Не всегда атрибут rel="canonical" подходит для исключения дублей в пагинации, для таких целей лучшим будет rel=«next|prev». Подробнее Перейти по ссылке
     
  3. novoselov

    novoselov Постоялец

    Регистр.:
    18 дек 2010
    Сообщения:
    55
    Симпатии:
    6
    как я понимаю rel=«next|prev» яндексом пока не поддерживается?

    и если использовать rel=«next|prev» описание категории лучше скрыть или уже будет не важно?
     
  4. Platton

    Platton Постоялец

    Регистр.:
    10 май 2014
    Сообщения:
    77
    Симпатии:
    18
    О поддержки Яндексом тега, сказать точно не могу, работаю в основном под Гугл. А по поводу текста описания категорий, то оно должно присутствовать только на 1 странице, а на остальных страницах только списки товаров без описания их категорий.
     
  5. C.B.D

    C.B.D Постоялец

    Регистр.:
    24 июн 2013
    Сообщения:
    143
    Симпатии:
    12
    Приветствую! Может кто сможет подсказать.... Есть товар, у него есть быстрый просмотр, яндекс индексирует этот самый, быстрый просмотр он со ссылкой content_only=1. Я в роботсе запретил эти ссылки. Но из индекса страницы медленно но стабильно выпадают. Ни чего не прибавляется....
     
  6. Platton

    Platton Постоялец

    Регистр.:
    10 май 2014
    Сообщения:
    77
    Симпатии:
    18
    Не совсем понятно что Вы хотите. Нужно исключить ссылки или чтобы они были в индексе? Правила в файле роботс, не обязательны к исполнению ПС, они только дают рекомендации. А Пс могут игнорировать все запреты..
     
  7. novoselov

    novoselov Постоялец

    Регистр.:
    18 дек 2010
    Сообщения:
    55
    Симпатии:
    6
    вот это должно помочь

    <meta name="robots" content="{if isset($nobots) || isset($content_only)}no{/if}index,{if isset($nofollow) && $nofollow || isset($content_only)}no{/if}follow" />

    возможно что переменную $content_only не правильно обозначил.

    все это в шаблоне header править.
    если не выйдет, отпишись. хотя, в любом случае отпишись)
     
  8. spbpack

    spbpack Писатель

    Регистр.:
    9 авг 2014
    Сообщения:
    17
    Симпатии:
    1
    Спасибо! С сео про не будет конфликтовать?
     
  9. novoselov

    novoselov Постоялец

    Регистр.:
    18 дек 2010
    Сообщения:
    55
    Симпатии:
    6
    >С сео про не будет конфликтовать
    без понятия.

    Вообще решение не корректное. Нужно просто в тайтл дописывать номер страницы и убирать описание категории на всех страницах категории кроме 1ой.

    А еще лучше использовать погрузку товаров (как лента в ВК).
     
  10. Фонатик

    Фонатик Писатель

    Регистр.:
    19 авг 2014
    Сообщения:
    1
    Симпатии:
    0
    Это правильно для гугла, но перед тем как сделать вы прочтите инструкцию, можно так сделать еще хуже, как делает вопрдпрсс