Пагинация и ее метатеги Есть решение

Вот непонимаю некоторой логики шопскрипта. Вот метатег canonical есть, а в пагинации метатегов prev и next нет, хотя уже сколько лет эта рекомендация у всех поисковиков. Понятно что есть плагин, к тому же бесплатный, но это не мешает о нем забыть и выслушивать от сеошника. Может я чего незнаю, и не просто так разработчики вебасиста не включает этот метатег в стандартную поставку скрипта?

14 ответов

  • 1

    Это решается написанием смарти условия в теме дизайна. Система к этому никакого отношения не имеет!

  • 2

    Вот рабочее решение:

    {*  ФОРМИРОВАНИЕ ПАГИНАЦИИ В КАТЕГОРИЯХ  *}
    {if $wa->shop && isset($category) && isset($pages_count) && $pages_count > 1}
        {$get_page = 1}
        {if $wa->get('page')}
            {$get_page = $wa->get('page')}
        {/if}
    
        {*  Этот блок необязателен  *}
        {if $get_page > $pages_count}
            {$cat_b_url = $wa->shop->categoryUrl($category, true)}
            <meta http-equiv="refresh" content="0; url={$cat_b_url}">
        {/if}
        {*  Этот блок необязателен END *}
    
        {if $get_page > 1}
            {$prev_page = $get_page - 1}
            <link rel="prev" href="{$category.url}?page={$prev_page}">
        {/if}
        {if $get_page<$pages_count}
            {$next_page = $get_page + 1}
            <link rel="next" href="{$category.url}?page={$next_page}">
        {/if}
    {/if}
    {*  ФОРМИРОВАНИЕ ПАГИНАЦИИ В КАТЕГОРИЯХ END   *}
    • +1

      Если не ошибаюсь, то код

          {if $get_page > 1}
      {$prev_page = $get_page - 1}
      <link rel="prev" href="{$category.url}?page={$prev_page}">
      {/if}

      приведет к тому что prev на первую страницу пагинации будет ...category/?page=1, а вернее надо бы просто ...category/ чтобы без canonical обойтись

        • +1

          Ну это понятно, но будущим читателям надо обратить внимание :)

          В принципе для тех кто не хочет ставить плагин это хороший вариант, он даже меньше в коде чем мой, спасибо. Я ранее делал вот так:

                  	{$no_can = false}
          		{if isset($pages_count) && $pages_count > 1 && isset($category)}
          		    {$pg= $wa->get('page',1)}
          		    {if $pg eq 1}
          		        <link rel="next" href="{$wa->getUrl('/frontend/category', ['category_url' => $category.url])}?page=2">
          		        <link rel="canonical" href="{$wa->getUrl('/frontend/category', ['category_url' => $category.url])}" />
          		    {elseif $pg eq  $pages_count}
          		        <link rel="prev" href="{$wa->getUrl('/frontend/category', ['category_url' => $category.url])}?page={$pg-1}">
          		        <link rel="canonical" href="{$wa->getUrl('/frontend/category', ['category_url' => $category.url])}?page={$pg}">
          		    {else}    
          		        {if $pg-1 eq 1}
          		            <link rel="prev" href="{$wa->getUrl('/frontend/category', ['category_url' => $category.url])}">
          		        {else}
          		            <link rel="prev" href="{$wa->getUrl('/frontend/category', ['category_url' => $category.url])}?page={$pg-1}">
          		        {/if}
          		            <link rel="next" href="{$wa->getUrl('/frontend/category', ['category_url' => $category.url])}?page={$pg+1}">
          		            <link rel="canonical" href="{$wa->getUrl('/frontend/category', ['category_url' => $category.url])}?page={$pg}">
          		    {/if}
          		    {$no_can = true}
          		{elseif isset($category)}
          		    <link rel="canonical" href="{$wa->getUrl('/frontend/category', ['category_url' => $category.url])}">
          		    {$no_can = true}
          		{elseif isset($product)}
          		    {if $wa->currentUrl()|strpos:"?"}
          		    		     <link rel="canonical" href="{$wa->currentUrl()|strstr:'?':true}">
          		    {else}
          		        <link rel="canonical" href="{$wa->currentUrl()}">
          		    {/if}
          		    {$no_can = true}
          		{elseif  $wa->currentUrl() eq "/"}
          		
          		     <link rel="canonical" href="/">
          		{else}
          		    {if $wa->currentUrl()|strpos:"?"}
          		    		     <link rel="canonical" href="{$wa->currentUrl()|strstr:'?':true}">
          		    {else}
          		        <link rel="canonical" href="{$wa->currentUrl()}">
          		    {/if}
          		    {$no_can = true}
          		{/if}
          		{if !empty($canonical) and !$no_can}
          		    <link rel="canonical" href="{$canonical}"/>
          		{/if}
          
      • +1

        кстати и каноникал сюда же впиливается легко!

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

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