Страницы пагинации Есть решение

Добрый день! Меня интересует вопрос доработки страниц пагинации сайта. Это важный момент для seo. Так как метатеги на страницах пагинации дублируют метатеги главной станицы категории. По этому нужно станицы сделать уникальными посредством такого шаблона: 


Заголовок H1: Страница №2 - Отзывы

Title: Страница №2 - Отзывы о магазине

Description: Страница №2 - Отзывы довольных покупателей о нашем магазине

Подскажите пожалуйста как можно это реализовать ? Спасибо!

7 ответов

  • 6
    replicant 22 августа 2018 19:16 # Решение

    Вариант 1 в index.html

    {$descplus = $wa->meta('description')}
    {if !empty({$wa->get("page")}) && $action == 'category'}
    <meta name="Description" content="{$descplus} Страница {$wa->get("page")}." />
    {else}
    <meta name="Description" content="{$descplus}" />
    {/if}

    Вариант 2 в category.html

    {$titleplus = $wa->title()}
    {if !empty({$wa->get("page")})}
        {$wa->title("`$titleplus` Страница `$wa->get("page")`.")}
    {/if}

    Вариант 3 в category.html (легкий колхоз, но зато совместимо с плагином SEO-пагинация см. ниже)

    {$titleplus = $wa->title()} 
    {$desc = $wa->meta('description')}
    
    {if !empty({$wa->get("page")})}
        {$descplus = $desc|cat:' Страница '|cat:($wa->get("page"))}
        {$wa->title("`$titleplus` Страница `$wa->get("page")`.")}
        {$wa->meta('description', ($descplus))}
    {else}
        {$wa->title("`$titleplus`")}
        {$wa->meta('description', ($desc))}
    {/if}

    Вариант 4 - вот этот плагин Определенно стоит своих денег и прикрутить правильно и красиво его не совсем просто, но если справитесь, то очень прикольно получается. Пришлось танцевать с формированием пагинации двумя методами в зависимости от ситуации в товарных листах, категориях и поиске, т.к. методы формирования пагинации, кроме плагинного хелпера, не должны встречаться в одном файле. Инструкция к нему очень краткая, местами надо додумывать.

    Вариант с плагином позволит использовать не только мета-теги, но и любые другие описания и h1 для страниц, в отличие от простой модификации title+description в первых трех вариантах

    • +1
      Axex Yexel Axex Yexel 23 августа 2018 11:44 #

      Добрый день! Очень признателен Вам за ответ! Я попробовал все 3 варианта, добавив в head файлов index.html и category.html предложенные Вами скрипты. Но к сожалению не получил результата, страницы отзывов /reviews/?page=2, /reviews/?page=3 и тд остались идентичны первой /reviews. Не добавилась подпись (Страница №2 | ...) как в title так и в description. Может я что то не правильно делаю? Подскажите пожалуйста, в долгу не останусь. Спасибо!

      • +3
        replicant replicant 23 августа 2018 17:07 #

        Есс-но ничего и не произойдет, потому что ответ был на иной вопрос.

        Вы неправильно задаете вопрос, смешивая в кучу разные термины и определения. Речь шла о категориях

        метатеги на страницах пагинации дублируют метатеги главной станицы категории

        Я еще удивился причем тут какие-то отзывы, т.к. отзывы - это либо товар либо у вас для отзывов ещё и плагин установлен, который все отзывы на одну страницу выводит. Если так, то вообще дважды ввели в заблуждение.

        Используйте конструкцию в index.html

        {if strpos($smarty.server.REQUEST_URI,"reviews") && !empty({$wa->get("page")})}
        <title>Страница {$wa->get("page")}. {$wa->title()}</title>
        <meta name="Description" content="Страница {$wa->get("page")}. {$wa->meta('description')}" />
        {else}
        <title>{$wa->title()}</title>
        <meta name="Description" content="{$wa->meta('description')}" />
        {/if}

        Еще можно в шаблоне самой страницы отзывов, а не в category.html, сделать по аналогии с правкой как в варианте 3.

        Общий принцип вы уже должны были понять и доработаете по месту.

        • +1
          Axex Yexel Axex Yexel 23 августа 2018 18:07 #

          Возможно где то оказался не тактичен, приношу извинения. У меня получилось решить с title и description. Подскажите а как реализовать подобное с тегом h1 внутри страницы ? 


          На данный момент он имеет такой вид: <h1>{sprintf('[`%s reviews`]', $product.name|escape)}</h1>

  • 3
    replicant 23 августа 2018 22:53 # Решение

    Да примерно так же, но уже в самом шаблоне страницы отзывов.

    {if !empty({$wa->get("page")})}
    <h1>Страница {$wa->get("page")} - {sprintf('[`%s reviews`]', $product.name|escape)}</h1>
    {else}
    <h1>{sprintf('[`%s reviews`]', $product.name|escape)}</h1>
    {/if}

  • 1
    Axex Yexel 13 сентября 2018 12:14 #

    Добрый день! Все получилось, спасибо Большое! Куда вам можно задонатить?

    • +5
      replicant replicant 13 сентября 2018 12:22 #

      Не надо ничего донатить. Плюсик за сообщение с решением поставьте и достаточно. :)

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите