Перейти к содержимому


Фото
- - - - -

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

title дублирование seo

  • Чтобы отвечать, сперва войдите на форум
44 ответов в теме

#21 iMessi89

iMessi89
  • Пользователь
  • 246 сообщений
  • Откуда:Екатеринбург

Опубликовано 18.06.2013 - 11:35

А как работает фильтрация например тут http://simpla.cms-update.ru  Здесь нет никаких дублей?  Как  тогда ПС относятся к тому  что по одному адресу страницы выдается разный контент?

 

 

 

все гет-параметры, отвечающие за сотрировку, фильтрацию - дружно закрываем в robots.txt и будет вам счастье)



#22 vad

vad
  • Пользователь
  • 28 сообщений

Опубликовано 18.06.2013 - 17:57

Там нет get параметров. 



#23 iMessi89

iMessi89
  • Пользователь
  • 246 сообщений
  • Откуда:Екатеринбург

Опубликовано 19.06.2013 - 09:11

Там нет get параметров. 

 у меня просто фильтры переписаны и сделаны в виде чекбоксов а не ссылок. Добавляются геты ?sort



#24 mart

mart

    Дружу с Симплой

  • Фрилансер
  • 1 331 сообщений
  • Программирование
  • Версия CMS:1.x, 2.x
  • Откуда:Venlo

Опубликовано 01.09.2013 - 17:44

Попросили на днях помочь с заголовками для фильтров - накидал следующее в products.tpl в начало файла

{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 'mt' $f->name|cat:' - '|cat:$o->value|cat:' / '|cat:$mt}
                {assign 'md' $f->name|cat:' - '|cat:$o->value|cat:'. '|cat:$md}
            {/if}       
        {/foreach}
    {/foreach}
    {$meta_title = $mt scope=parent}
    {$meta_description = $md scope=parent}
{/if}

Аналогично можно и со страницами и с сортировкой.



#25 vad

vad
  • Пользователь
  • 28 сообщений

Опубликовано 18.09.2013 - 10:21

Спасибо 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>
 
Выглядит так


#26 vad

vad
  • Пользователь
  • 28 сообщений

Опубликовано 18.09.2013 - 11:18

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

 

 

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

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


#27 dem0n

dem0n
  • Пользователь
  • 24 сообщений
  • Заказчик
  • Версия CMS:2.x
  • Откуда:Нижний Новгород

Опубликовано 20.09.2013 - 13:43

Спасибо 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 помогло! По-моему идеальный вариант  :)



#28 pedro

pedro
  • Пользователь
  • 26 сообщений
  • Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Simferopol, Ukraine

Опубликовано 22.10.2013 - 20:44

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

http://demo.simplacm...bilnye-telefony

http://demo.simplacm...-telefony/apple

 

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



#29 vad

vad
  • Пользователь
  • 28 сообщений

Опубликовано 24.10.2013 - 13:39

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

http://demo.simplacm...bilnye-telefony

http://demo.simplacm...-telefony/apple

 

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

 

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

 

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


#30 drakulitkas

drakulitkas
  • Пользователь
  • 218 сообщений
  • Программирование, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Орехово-Зуево

Опубликовано 14.05.2014 - 08:11

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

 

 

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

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

 

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



#31 vad

vad
  • Пользователь
  • 28 сообщений

Опубликовано 14.05.2014 - 23:17

В 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}"/> 


#32 acerus

acerus
  • Пользователь
  • 207 сообщений
  • Дизайн, Верстка, Заказчик
  • Версия CMS:2.x
  • Откуда:Калуга

Опубликовано 10.09.2014 - 12:48

Спасибо 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 в тайтле прописано чтобы это заработало?



#33 vad

vad
  • Пользователь
  • 28 сообщений

Опубликовано 10.09.2014 - 15:00

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

 

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

 

 

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


Изменено: vad, 10.09.2014 - 15:09


#34 Milanych

Milanych
  • Пользователь
  • 6 сообщений
  • Верстка, Заказчик, Пользователь
  • Версия CMS:2.x

Опубликовано 19.12.2015 - 00:20

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

 

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

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



#35 vad

vad
  • Пользователь
  • 28 сообщений

Опубликовано 19.12.2015 - 01:00

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



#36 Milanych

Milanych
  • Пользователь
  • 6 сообщений
  • Верстка, Заказчик, Пользователь
  • Версия CMS:2.x

Опубликовано 19.12.2015 - 11:37

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

 

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

 

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

 

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

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

 

    

Изменено: Milanych, 19.12.2015 - 11:56


#37 snagovskiy

snagovskiy
  • Пользователь
  • 48 сообщений

Опубликовано 14.01.2017 - 03:52

У меня так
 

{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 которые выводятся по ссылке "показать все" так же показывался уникальный тайтл с припиской допустим "все страницы"....

 

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



#38 Noxter

Noxter

    Simpla Developer

  • Фрилансер
  • 6 691 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Киев

Опубликовано 14.01.2017 - 04:18

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

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

{if $page == 'all'}
...
{/if}

#39 snagovskiy

snagovskiy
  • Пользователь
  • 48 сообщений

Опубликовано 14.01.2017 - 05:08

{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}


#40 Noxter

Noxter

    Simpla Developer

  • Фрилансер
  • 6 691 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Киев

Опубликовано 14.01.2017 - 10:07

Попробуйте $smarty.get.page вместо $page





Также с меткой «title, дублирование, seo»

0 пользователей читают эту тему

0 пользователей, 0 гостей, 0 скрытых