Перейти к содержанию
Официальный форум поддержки Simpla

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


Рекомендуемые сообщения

Обнаружил не давно данный баг. Изломал всю голову над исправлением.
По умолчанию не решен следующий момент – при переходе по ссылкам постраничной навигации вида http://demo.simplacms.ru/catalog/mobilnye-telefony?page=2 заголовок (тег <title></title>) остается неизменным, что плохо с точки зрения SEO.
Так же это относится к сортировкам и фильтру по свойствам. В итоге при проверке сайта, нашел несчетное количество одинаковых тайтлов.

И самый главный вопрос! Как сделать так что бы при выводе заголовка при переходе по фильтру или сортировкам был следующий вид заголовка: Свойство - Title.

Ни где не нашел подобной темы на форуме. Как убрать дубли тайтлов? Читал про ошибку в брендах и видел решение, но бренды как таковые не использую.

Ссылка на сообщение
Поделиться на другие сайты

Поменял на {$meta_title = "{$current_page > 0} | Страница {$current_page}" scope=parent}, но в результате тайтл стал одинаковым во всех категориях.
Что нужно прописать, что бы название тайтла бралось к примеру из названия свойства фильтра или номера станицы?

Ссылка на сообщение
Поделиться на другие сайты

У Вас есть генерация H1 в тексте - там куча условий - все это надо вынести в заголовок и добавить номер страницы.
Либо Ваши варианты - как Вас надо.

Ссылка на сообщение
Поделиться на другие сайты

Присоединяюсь к вопросу! Давно уже эту проблему заметил. В симпле я дубдубом, не могли бы написать примерно как должен выглядеть код и куда его прописывать? ;)

Ссылка на сообщение
Поделиться на другие сайты

А генерация h1 разве из шаблона идет? Большая часть дублирования идет из фильтра по свойствам. Ни как не могу найти нужное условие
зы я уже понял, что в смарти не силен.

Ссылка на сообщение
Поделиться на другие сайты

{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}    {/if}{/if}{*$meta_title=$product->name|cat:' | '|cat:$product->variant->artikul scope=parent*}
Ссылка на сообщение
Поделиться на другие сайты

Спасибо огромное тебе! Очень благодарен! В тегах появилась нумерация. Только в фильтрах по прежнему идут дубли. Целый день сижу.
Попробывал сделать атрибут

<link rel="canonical" href="http://site.ru/catalog/{$cat->url}"/>

Не знаю поможет ли!
Может быть есть подобное решение для фильтров и сортировке по цене/названию?
Ссылка на сообщение
Поделиться на другие сайты

Дубли идут и будут идтить - так как (насколько я понял) тайтл выглядит так:
Плюшки - страница 1
Плюшки - страница 2
и т.д.
Для поисковика это один и тот же тайтл если нет оличия минимум в 5 знаков.

Ссылка на сообщение
Поделиться на другие сайты

У меня так

{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 знаков - спорное утверждение, поскольку ошибки в панели ВМ отваливаются с этими изменениями
Ссылка на сообщение
Поделиться на другие сайты

Дубли возникают не только на следующих страницах а и во всех остальных случаях:
сортировка по цене, сортировка по названию, сортировка по цене и названию, применение фильтра, применения фильтра и сортировка по цене, применение фильтра и сортировка по имени, сортировка по цене применение фильтра и следующая страница и т.д. - короче там работы работы... (
Плюс к этому не забываем о том, что еще у нас существуют бренды в категориях и при нажатии на бренд в какой то категории мы тоже получаем дубли.

Ссылка на сообщение
Поделиться на другие сайты

Как я и говорил поставил

<link rel="canonical" href="http://site.ru/catalog/{$cat->url}"/>

и яндекс исключил все не нужные дублированные страницы. Пока нормального решения нет можно пользоваться этим.
Ссылка на сообщение
Поделиться на другие сайты

Куда поставил? Если на страницу категорий - это не правильный вариант. При переходе на страницу бренда в странице категории - у тебя будет битая ссылка. Я проходил это. У меня работает следующая конструкция (у меня добавляет в конце html, посему редактируем под себя):

{* канонические страницы *}
{if $category}
<link rel="canonical" href="http://site.ru/{$cat->url}.html"/> 
 {if $brand}
<link rel="canonical" href="http://site.ru/{$cat->url}/{$brand->url}.html"/>
 {/if}
 {elseif $brand}
 <link rel="canonical" href="http://site.ru/brands/{$brand->url}"/>
 {elseif $keyword}
 {/if}



А для того, чтобы уменьшить количество страниц с неправильными тайтлами там же добавлена еще и такая конструкция:

{if $category && $brand}{$meta_title = "{$category->name} - {$brand->name} интернет магазин site.ru" scope=parent}{$meta_description = "{$brand->name} - {$meta_description}" scope=parent}{/if}
Ссылка на сообщение
Поделиться на другие сайты
  • 4 недели спустя...

А если проще, просто поставить тег nofollow в products.tpl, по данной ссылке поисковый робот просто не будет переходить и следовательно не учитывать её в поиске.

{* Фильтр по свойствам *}{if $features}<table id="features">	{foreach $features as $f}	<tr>	<td class="feature_name" data-feature="{$f->id}">		{$f->name}:	</td>	<td class="feature_values">		<a rel="nofollow" href="{url params=[$f->id=>null, page=>null]}" {if !$smarty.get.$f@key}class="selected"{/if}>Все</a>		{foreach $f->options as $o}		<a rel="nofollow" href="{url params=[$f->id=>$o->value, page=>null]}" {if $smarty.get.$f@key == $o->value}class="selected"{/if}>{$o->value|escape}</a>		{/foreach}	</td>	</tr>	{/foreach}</table>{/if}
Ссылка на сообщение
Поделиться на другие сайты

Страницы по адресу например:
http://demo.simplacms.ru/catalog/mobilnye-telefony
http://demo.simplacms.ru/catalog/mobilnye-telefony/apple
http://demo.simplacms.ru/catalog/mobilnye-telefony/blackberry
и т.д, по всех каталогах тоже имеют одинаковые заглавие и описание, что не хорошо, решается добавлением имени бренда в title и deskription по условию.
{if ($product->id ==' ')&&($brand->id!=' ')} {* Если не продукт но с брендом *}
{* Тут формируем title и deskription с добавлением $brand->name|escape *}
{/if}

Ссылка на сообщение
Поделиться на другие сайты
  • 2 месяца спустя...

 

Куда поставил? Если на страницу категорий - это не правильный вариант. При переходе на страницу бренда в странице категории - у тебя будет битая ссылка. Я проходил это. У меня работает следующая конструкция (у меня добавляет в конце html, посему редактируем под себя):

 

{* канонические страницы *}
{if $category}
<link rel="canonical" href="http://site.ru/{$cat->url}.html"/> 
  {if $brand}
 <link rel="canonical" href="http://site.ru/{$cat->url}/{$brand->url}.html"/>
  {/if}
  {elseif $brand}
  <link rel="canonical" href="http://site.ru/brands/{$brand->url}"/>
  {elseif $keyword}
  {/if}

Спасибо за решение, правда сам пришел к чему то очень похожему когда всплыли битые ссылки. За основу взял это http://forum.simplacms.ru/topic/3318-dubli-stranic-reshenie-/?hl=%D0%B4%D1%83%D0%B1%D0%BB%D0%B8.   

Ссылка на сообщение
Поделиться на другие сайты

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

Ссылка на сообщение
Поделиться на другие сайты

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

 

 

 

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

Ссылка на сообщение
Поделиться на другие сайты

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

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

Ссылка на сообщение
Поделиться на другие сайты
  • 2 месяца спустя...

Попросили на днях помочь с заголовками для фильтров - накидал следующее в 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}

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

Ссылка на сообщение
Поделиться на другие сайты
  • 3 недели спустя...
Спасибо 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>


 

Выглядит так

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...