dem0n Posted February 27, 2013 Report Share Posted February 27, 2013 Обнаружил не давно данный баг. Изломал всю голову над исправлением.По умолчанию не решен следующий момент – при переходе по ссылкам постраничной навигации вида http://demo.simplacms.ru/catalog/mobilnye-telefony?page=2 заголовок (тег <title></title>) остается неизменным, что плохо с точки зрения SEO.Так же это относится к сортировкам и фильтру по свойствам. В итоге при проверке сайта, нашел несчетное количество одинаковых тайтлов.И самый главный вопрос! Как сделать так что бы при выводе заголовка при переходе по фильтру или сортировкам был следующий вид заголовка: Свойство - Title.Ни где не нашел подобной темы на форуме. Как убрать дубли тайтлов? Читал про ошибку в брендах и видел решение, но бренды как таковые не использую. Quote Link to post Share on other sites
mart Posted February 27, 2013 Report Share Posted February 27, 2013 Меняете title с условием {if $current_page > 0} | страница {$current_page}{/if} Quote Link to post Share on other sites
dem0n Posted February 27, 2013 Author Report Share Posted February 27, 2013 Поменял на {$meta_title = "{$current_page > 0} | Страница {$current_page}" scope=parent}, но в результате тайтл стал одинаковым во всех категориях. Что нужно прописать, что бы название тайтла бралось к примеру из названия свойства фильтра или номера станицы? Quote Link to post Share on other sites
mart Posted February 27, 2013 Report Share Posted February 27, 2013 У Вас есть генерация H1 в тексте - там куча условий - все это надо вынести в заголовок и добавить номер страницы. Либо Ваши варианты - как Вас надо. Quote Link to post Share on other sites
wall Posted February 27, 2013 Report Share Posted February 27, 2013 Присоединяюсь к вопросу! Давно уже эту проблему заметил. В симпле я дубдубом, не могли бы написать примерно как должен выглядеть код и куда его прописывать? Quote Link to post Share on other sites
dem0n Posted February 27, 2013 Author Report Share Posted February 27, 2013 А генерация h1 разве из шаблона идет? Большая часть дублирования идет из фильтра по свойствам. Ни как не могу найти нужное условиезы я уже понял, что в смарти не силен. Quote Link to post Share on other sites
mart Posted February 27, 2013 Report Share Posted February 27, 2013 {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*} Quote Link to post Share on other sites
dem0n Posted February 27, 2013 Author Report Share Posted February 27, 2013 Спасибо огромное тебе! Очень благодарен! В тегах появилась нумерация. Только в фильтрах по прежнему идут дубли. Целый день сижу. Попробывал сделать атрибут <link rel="canonical" href="http://site.ru/catalog/{$cat->url}"/> Не знаю поможет ли!Может быть есть подобное решение для фильтров и сортировке по цене/названию? Quote Link to post Share on other sites
SV911 Posted March 1, 2013 Report Share Posted March 1, 2013 Дубли идут и будут идтить - так как (насколько я понял) тайтл выглядит так:Плюшки - страница 1Плюшки - страница 2и т.д.Для поисковика это один и тот же тайтл если нет оличия минимум в 5 знаков. Quote Link to post Share on other sites
Aijai Posted March 1, 2013 Report Share Posted March 1, 2013 У меня так{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 знаков - спорное утверждение, поскольку ошибки в панели ВМ отваливаются с этими изменениями Quote Link to post Share on other sites
di666 Posted March 4, 2013 Report Share Posted March 4, 2013 Добрый, вечер. Скажите пожалуйста где именно нужно заменить данный код? Quote Link to post Share on other sites
SV911 Posted March 4, 2013 Report Share Posted March 4, 2013 Дубли возникают не только на следующих страницах а и во всех остальных случаях:сортировка по цене, сортировка по названию, сортировка по цене и названию, применение фильтра, применения фильтра и сортировка по цене, применение фильтра и сортировка по имени, сортировка по цене применение фильтра и следующая страница и т.д. - короче там работы работы... (Плюс к этому не забываем о том, что еще у нас существуют бренды в категориях и при нажатии на бренд в какой то категории мы тоже получаем дубли. Quote Link to post Share on other sites
dem0n Posted March 5, 2013 Author Report Share Posted March 5, 2013 Да в том-то и дело! Если магазин программой Xenu прогнать, то дублей там туева хуча... много Quote Link to post Share on other sites
SV911 Posted March 6, 2013 Report Share Posted March 6, 2013 dem0n Я думаю нет. Не туева хуча. много. Гораздо больше. ))))Прекращаем флудить. Модератор. Quote Link to post Share on other sites
dem0n Posted March 10, 2013 Author Report Share Posted March 10, 2013 Как я и говорил поставил<link rel="canonical" href="http://site.ru/catalog/{$cat->url}"/>и яндекс исключил все не нужные дублированные страницы. Пока нормального решения нет можно пользоваться этим. Quote Link to post Share on other sites
SV911 Posted March 10, 2013 Report Share Posted March 10, 2013 Куда поставил? Если на страницу категорий - это не правильный вариант. При переходе на страницу бренда в странице категории - у тебя будет битая ссылка. Я проходил это. У меня работает следующая конструкция (у меня добавляет в конце 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} Quote Link to post Share on other sites
dem0n Posted April 4, 2013 Author Report Share Posted April 4, 2013 А если проще, просто поставить тег 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} Quote Link to post Share on other sites
vad Posted April 9, 2013 Report Share Posted April 9, 2013 Страницы по адресу например:http://demo.simplacms.ru/catalog/mobilnye-telefonyhttp://demo.simplacms.ru/catalog/mobilnye-telefony/applehttp://demo.simplacms.ru/catalog/mobilnye-telefony/blackberryи т.д, по всех каталогах тоже имеют одинаковые заглавие и описание, что не хорошо, решается добавлением имени бренда в title и deskription по условию.{if ($product->id ==' ')&&($brand->id!=' ')} {* Если не продукт но с брендом *} {* Тут формируем title и deskription с добавлением $brand->name|escape *}{/if} Quote Link to post Share on other sites
vad Posted June 17, 2013 Report Share Posted June 17, 2013 Куда поставил? Если на страницу категорий - это не правильный вариант. При переходе на страницу бренда в странице категории - у тебя будет битая ссылка. Я проходил это. У меня работает следующая конструкция (у меня добавляет в конце 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. Quote Link to post Share on other sites
vad Posted June 17, 2013 Report Share Posted June 17, 2013 А как работает фильтрация например тут http://simpla.cms-update.ru Здесь нет никаких дублей? Как тогда ПС относятся к тому что по одному адресу страницы выдается разный контент? Quote Link to post Share on other sites
iMessi89 Posted June 18, 2013 Report Share Posted June 18, 2013 А как работает фильтрация например тут http://simpla.cms-update.ru Здесь нет никаких дублей? Как тогда ПС относятся к тому что по одному адресу страницы выдается разный контент? все гет-параметры, отвечающие за сотрировку, фильтрацию - дружно закрываем в robots.txt и будет вам счастье) Quote Link to post Share on other sites
vad Posted June 18, 2013 Report Share Posted June 18, 2013 Там нет get параметров. Quote Link to post Share on other sites
iMessi89 Posted June 19, 2013 Report Share Posted June 19, 2013 Там нет get параметров. у меня просто фильтры переписаны и сделаны в виде чекбоксов а не ссылок. Добавляются геты ?sort Quote Link to post Share on other sites
mart Posted September 1, 2013 Report Share Posted September 1, 2013 Попросили на днях помочь с заголовками для фильтров - накидал следующее в 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} Аналогично можно и со страницами и с сортировкой. Quote Link to post Share on other sites
vad Posted September 18, 2013 Report Share Posted September 18, 2013 Спасибо 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> Выглядит так Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.