Jump to content

Дублирование title в сортировке, фильтрах и постраничной навигации.


Recommended Posts

И связанный с этим вопрос по сео. Подскажите, страницы с отфильтрованными товарами должны быть неканоническими?

 

 

Изначально (до добавления значения фильтров в аш1, тайтл и дескрипшин ) у меня все страницы с фильтрами указывались как неканонические по условию:

{if strpos($smarty.server.REQUEST_URI, "?") == true}
          <link rel="canonical" href="http://mytest3308.zz.mu/catalog/{$cat->url}"/>
{/if}
После добавления значения фильтров в  аш1, тайтл и дескрипшин, страницы с фильтрами уже не дубли.  С одной стороны, это потенциальные страницы входа и закрывать их от индексации не нужно. С другой, их содержания иногда очень похожи или идентичны.
Link to post
Share on other sites

 

Спасибо Mart, помогло. Для полного счастья  добавил еще значения фильтров в h1 заголовок страницы.
{* Заголовок страницы *}
{if $keyword}
{assign var=my1h1 value="Поиск `$keyword|escape`"}
{elseif $page}
{assign var=my1h1 value="`$page->name|escape`"}
{else}
{assign var=my1h1 value="`$category->name|escape` `$brand->name|escape`"}
{/if}


{*Добавляю значения фильтров в title и description*}
{if $features}
    {assign 'mt' $meta_title}
    {assign 'md' $meta_description}
    {foreach $features as $f}
        {foreach $f->options as $o}
            {if $smarty.get.$f@key == $o->value}                        
                {assign var=mt value="`$mt` [`$f->name|cat`: `$o->value|cat`]"} 
                {assign var=md value="`$md` `$f->name|cat`: `$o->value|cat`."} 
                {* Фильтр в заголовок страницы *}
                {assign var=my2h1 value="`$my2h1``$f->name|cat`: `$o->value|cat`</br>"}
            {/if}       
        {/foreach}
    {/foreach}
      {if $my2h1}
        {assign var=my2h1 value="</br>`$my2h1`"}
      {/if}
    {$meta_title = $mt scope=parent}
    {$meta_description = $md scope=parent}
{/if}


{* Вывод заголовка страницы *}
<h1>{$my1h1}{$my2h1}</h1>
 
Выглядит так

Спасибо mart и vad помогло! По-моему идеальный вариант  :)

Link to post
Share on other sites
  • 1 month later...

А вот как с title быть:

http://demo.simplacms.ru/catalog/mobilnye-telefony

http://demo.simplacms.ru/catalog/mobilnye-telefony/apple

 

title одинаковые, а ведь можно было  при заходе в http://demo.simplacms.ru/catalog/mobilnye-telefony/apple брать title из категории Apple, правда тогда возникнет дублирование с ссылками брендов.

Link to post
Share on other sites

А вот как с title быть:

http://demo.simplacms.ru/catalog/mobilnye-telefony

http://demo.simplacms.ru/catalog/mobilnye-telefony/apple

 

title одинаковые, а ведь можно было  при заходе в http://demo.simplacms.ru/catalog/mobilnye-telefony/apple брать title из категории Apple, правда тогда возникнет дублирование с ссылками брендов.

 

По разному можно, я добавил такой код в индекс.тпл 

 

{* Если не продукт но с брендом *}
{if ($product->id ==' ')&&($brand->id!=' ')} 
{*формируем title  с добавлением $brand->name|escape *}
<title>{$meta_title|escape} {$brand->name|escape} - купить в Моём Магазине.</title> 
{* также тут можно добавить бренд в deskription *}
{/if}
 
Link to post
Share on other sites
  • 6 months later...

 

И связанный с этим вопрос по сео. Подскажите, страницы с отфильтрованными товарами должны быть неканоническими?

 

 

Изначально (до добавления значения фильтров в аш1, тайтл и дескрипшин ) у меня все страницы с фильтрами указывались как неканонические по условию:

{if strpos($smarty.server.REQUEST_URI, "?") == true}
          <link rel="canonical" href="http://mytest3308.zz.mu/catalog/{$cat->url}"/>
{/if}
После добавления значения фильтров в  аш1, тайтл и дескрипшин, страницы с фильтрами уже не дубли.  С одной стороны, это потенциальные страницы входа и закрывать их от индексации не нужно. С другой, их содержания иногда очень похожи или идентичны.

 

Это в index.tpl прописывать?

Link to post
Share on other sites

В produkts.tpl 

 

для бренда {if $brand} 

{if strpos($smarty.server.REQUEST_URI, "?") == true}
<link rel="canonical" href="http://www.site.com.ua/brands/{$brand->url}"/> 

для категории {if $category}

{if strpos($smarty.server.REQUEST_URI, "?") == true}
<link rel="canonical" href="http://www.site.com.ua/catalog/{$cat->url}"/> 
Link to post
Share on other sites
  • 3 months later...

 

Спасибо Mart, помогло. Для полного счастья  добавил еще значения фильтров в h1 заголовок страницы.
{* Заголовок страницы *}
{if $keyword}
{assign var=my1h1 value="Поиск `$keyword|escape`"}
{elseif $page}
{assign var=my1h1 value="`$page->name|escape`"}
{else}
{assign var=my1h1 value="`$category->name|escape` `$brand->name|escape`"}
{/if}


{*Добавляю значения фильтров в title и description*}
{if $features}
    {assign 'mt' $meta_title}
    {assign 'md' $meta_description}
    {foreach $features as $f}
        {foreach $f->options as $o}
            {if $smarty.get.$f@key == $o->value}                        
                {assign var=mt value="`$mt` [`$f->name|cat`: `$o->value|cat`]"} 
                {assign var=md value="`$md` `$f->name|cat`: `$o->value|cat`."} 
                {* Фильтр в заголовок страницы *}
                {assign var=my2h1 value="`$my2h1``$f->name|cat`: `$o->value|cat`</br>"}
            {/if}       
        {/foreach}
    {/foreach}
      {if $my2h1}
        {assign var=my2h1 value="</br>`$my2h1`"}
      {/if}
    {$meta_title = $mt scope=parent}
    {$meta_description = $md scope=parent}
{/if}


{* Вывод заголовка страницы *}
<h1>{$my1h1}{$my2h1}</h1>
 
Выглядит так

 

а у меня что-то не заработало ((

 

 в products.tpl добавил, 0 внимания, все как было так и осталось. Что должно быть в index.tpl в тайтле прописано чтобы это заработало?

Link to post
Share on other sites

Возможно код попадает под какое то условие в products.tpl

 

В  index.tpl  -  тайтл выводится из {$meta_title|escape} . Он туда копируется "{$meta_title = $mt scope=parent}"

 

 

P/S Если речь идет о сайте http://3000v.ru  то у Вас фильтр нестандартный. Обращайтесь к разработчику.

Edited by vad
Link to post
Share on other sites
  • 1 year later...

 

По разному можно, я добавил такой код в индекс.тпл 

 

{* Если не продукт но с брендом *}
{if ($product->id ==' ')&&($brand->id!=' ')} 
{*формируем title  с добавлением $brand->name|escape *}
<title>{$meta_title|escape} {$brand->name|escape} - купить в Моём Магазине.</title> 
{* также тут можно добавить бренд в deskription *}
{/if}
 

У меня от этого кода возвращает 500 ошибку. Так и не понял как убрать дублирование при формировании тайтла в Категория + Бренд. Есть у кого дельный совет?

Link to post
Share on other sites

Нужно в тайтл страницы  "Категория + Бренд" добавить название бренда, например. Предполагаю что название категории там уже присутствует. 

Link to post
Share on other sites

Нужно в тайтл страницы  "Категория + Бренд" добавить название бренда, например. Предполагаю что название категории там уже присутствует. 

 

так страница "Категория + Бренд" автоматом генерируется, есть мысли, куда и что надо добавить, чтобы было корректно?

 

upd: решил добавлением в индекс конструкции

 

          {if $category->brands !=''}
        
             <title>{$meta_title|escape} {$brand->name}</title>
                
        {else} 

                <title>{$meta_title|escape}</title>
        {/if} 

 

    
Edited by Milanych
Link to post
Share on other sites
  • 1 year later...

 

У меня так

 

{if $current_page_num == 1}
<title>{$meta_title|escape}</title>
<meta name="description" content="{$meta_description|escape}" />
{elseif $current_page_num > 1}
<title>{$meta_title|escape}, страница {$current_page_num}</title>
<meta name="description" content="{$meta_description|escape}, страница {$current_page_num}" />
{else}
<title>{$meta_title|escape}</title>
<meta name="description" content="{$meta_description|escape}" />
{/if}

 

По поводу 5 знаков - спорное утверждение, поскольку ошибки в панели ВМ отваливаются с этими изменениями

 

Это работает, но вопрос как сделать чтобы у страниц с окончанием &page=all которые выводятся по ссылке "показать все" так же показывался уникальный тайтл с припиской допустим "все страницы"....

 

Подскажите пожалуйста!

Link to post
Share on other sites

Это работает, но вопрос как сделать чтобы у страниц с окончанием &page=all которые выводятся по ссылке "показать все" так же показывался уникальный тайтл с припиской допустим "все страницы"....

 

Подскажите пожалуйста!

{if $page == 'all'}

...

{/if}

Link to post
Share on other sites

{if $page == 'all'}

...

{/if}

 

Noxter спасибо! Но что то не робит....

 

Я прописал так

 

{if $current_page_num == 1}
<title>{$meta_title|escape}</title>
<meta name="description" content="{$meta_description|escape}" />
{elseif $current_page_num > 1}
<title>{$meta_title|escape}, страница {$current_page_num}</title>
<meta name="description" content="{$meta_description|escape}, страница {$current_page_num}" />
{elseif $page == 'all'}
<title>{$meta_title|escape}, все страницы</title>
<meta name="description" content="{$meta_description|escape}, все страницы" />
{else}
<title>{$meta_title|escape}</title>
<meta name="description" content="{$meta_description|escape}" />
{/if}
Link to post
Share on other sites

Пробуйте в другом порядке

 

{if $smarty.request.page == 'all'}

...

{elseif $current_page_num == 1}

...

{elseif $current_page_num > 1}

...

{else}

...

{/if}

 

ahmed спасибо! Это сработало!
{if $smarty.request.page == 'all'}
<title>{$meta_title|escape}, все страницы</title>
<meta name="description" content="{$meta_description|escape}, все страницы" />
{elseif $current_page_num == 1}
<title>{$meta_title|escape}</title>
<meta name="description" content="{$meta_description|escape}" />
{elseif $current_page_num > 1}
<title>{$meta_title|escape}, страница {$current_page_num}</title>
<meta name="description" content="{$meta_description|escape}, страница {$current_page_num}" />
{else}
<title>{$meta_title|escape}</title>
<meta name="description" content="{$meta_description|escape}" />
{/if}
Link to post
Share on other sites
  • 10 months later...

 

ahmed спасибо! Это сработало!

{if $smarty.request.page == 'all'}
<title>{$meta_title|escape}, все страницы</title>
<meta name="description" content="{$meta_description|escape}, все страницы" />
{elseif $current_page_num == 1}
<title>{$meta_title|escape}</title>
<meta name="description" content="{$meta_description|escape}" />
{elseif $current_page_num > 1}
<title>{$meta_title|escape}, страница {$current_page_num}</title>
<meta name="description" content="{$meta_description|escape}, страница {$current_page_num}" />
{else}
<title>{$meta_title|escape}</title>
<meta name="description" content="{$meta_description|escape}" />
{/if}

у меня это не работает.

 

{if $current_page_num > 1}
    {if $keyword}{$meta_title='Поиск '|cat:$keyword scope=parent}
    {elseif $page}{$meta_title=$page->name|cat:' | Страница '|cat:$current_page_num scope=parent}
    {elseif $category}{$meta_title=$category->meta_title|cat:' | Страница '|cat:$current_page_num scope=parent}
    {elseif $brand}{$meta_title=$brand->meta_title|cat:' | Страница '|cat:$current_page_num scope=parent}
    {elseif $page}{$meta_title=$page->name|cat:' | Все '|cat:$current_page_all scope=parent}
    {/if}
{/if}

это работает.

 

не могу разобраться как для всех страниц сделать title когда ?page=all

 

http://ses-creative.ru/catalog/termomozaika

Link to post
Share on other sites
{if $smarty.request.page == 'all'}
{if $keyword}{$meta_title='Поиск '|cat:$keyword scope=parent}
    {elseif $page}{$meta_title=$page->name|cat:' | Все '|cat:$current_page_num scope=parent}
    {elseif $category}{$meta_title=$category->meta_title|cat:' | Все '|cat:$current_page_num scope=parent}
    {elseif $brand}{$meta_title=$brand->meta_title|cat:' | Все '|cat:$current_page_num scope=parent}
{/if}
{/if}

вот примерно так - работает.

Link to post
Share on other sites
  • 2 years later...

Добрый день, какое решение все таки убрать дубли Title в фильтрах? Написано много информации и не понятно решена проблема? Прописать код из последнего поста в products.tpl?

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...