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


Фото
* * * * * 3 votes

SEO - шаблоны для автоматической генерации META


  • Please log in to reply
25 replies to this topic

#1 DaVinci

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

Posted 17.05.2016 - 15:27

Увидел несколько реализаций и даже платных модулей, откровенно говоря на мой взгляд они крайне избыточны а местами даже экзотические. решил поделиться простым решением для создания шаблонов meta-тегов а так же описания для категорий и товаров.

 

пример

 

открываем products.tpl, в шапке добавляем.

 

{if $features && ($meta_title || $meta_keywords || $meta_description)}
    {foreach $features as $key=>$f}
        {foreach $f->options as $o}
            {if $smarty.get.{$f->id} && $smarty.get.{$f->id} == $o->value}
                {$filter_title[] = "{$f->name|escape|lower}: {$o->value|escape|lower}"}
                {$filter_keywords[] = $o->value|escape|lower}
            {/if}
        {/foreach}
    {/foreach}
    {if $filter_title}
        {eval var="{"; "|implode:$filter_title}" assign=filter_title}
        {eval var="{", "|implode:$filter_keywords}" assign=filter_keywords}
    {/if}
{/if}

{if $meta_title}
    {eval var=$meta_title assign=new_meta_title}
    {$meta_title=$new_meta_title scope=parent}
{/if}
{if $meta_keywords}
    {eval var=$meta_keywords assign=new_meta_keywords}
    {$meta_keywords=$new_meta_keywords scope=parent}
{/if}
{if $meta_description}
    {eval var=$meta_description assign=new_meta_description}
    {$meta_description=$new_meta_description scope=parent}
{/if}

далее идем в редактор категории

 

Шаблон заголовка

{$category->name|escape}{if $brand} {$brand->name|escape}{/if}{if $filter_title}, {$filter_title}{/if} - купить в интернет-магазине {$settings->site_name|escape}

Шаблон ключевых слов

{$category->name|escape|lower}{if $brand}, {$brand->name|escape|lower}{/if}{if $filter_keywords}, {$filter_keywords}{/if}

Шаблон описания

Купить {$category->name|escape|lower}{if $brand} {$brand->name|escape}{/if}{if $filter_title} с характеристиками - {$filter_title}{/if} в интернет-магазине {$settings->site_name|escape}. Низкие цены, доставка, самовывоз

 

Готово! На выходе получаем страницы с уникальными мета-тегами.


Edited by DaVinci, 17.05.2016 - 17:19.


#2 yr4ik

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

Posted 17.05.2016 - 16:33

А для чего нужна эта куча eval ? 
 
Почему нельзя просто:

{$filter_title = [1,2,3]}
{$filter_title=", "|implode:$filter_title}
{$filter_title|var_dump}

и

{$meta_title=$category->meta_title scope=parent}

Edited by yr4ik, 17.05.2016 - 16:36.


#3 DaVinci

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

Posted 17.05.2016 - 16:47

А для чего нужна эта куча eval ? 
 
Почему нельзя просто:



{$filter_title = [1,2,3]}
{$filter_title=", "|implode:$filter_title}
{$filter_title|var_dump}

и



{$meta_title=$category->meta_title scope=parent}

 

http://www.smarty.ne...e.function.eval



#4 Julius123

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

Posted 17.05.2016 - 17:50

У меня почему-то описание не подстраивается под фильтры товара как на видео. Точнее ничего не подстраивается, ни тайтл, ни описание, ни ключевики.


Edited by Julius123, 17.05.2016 - 17:52.


#5 yodaexolon

yodaexolon
  • Пользователь
  • 144 сообщений
  • Пользователь
  • Версия CMS:2.x
  • Откуда:Kharkiv, Ukraine

Posted 17.05.2016 - 20:59

Спасибо, классная доработка 



#6 yr4ik

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

Posted 17.05.2016 - 22:03

http://www.smarty.ne...e.function.eval

 

Сори. Немного не уловил смысл идеи 



#7 Kors

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

Posted 18.05.2016 - 09:24

Образцовая идея и образцовая реализация!



#8 daiv

daiv
  • Пользователь
  • 43 сообщений
  • Пользователь
  • Откуда:Москва

Posted 05.06.2016 - 18:20

1. Правильно понял, для meta товара нужно добавить ещё и в product.tpl ?

2. А как сделать, чтоб в шаблоны добавлялось по умолчанию?



#9 dzhenkins

dzhenkins
  • Пользователь
  • 5 сообщений
  • Верстка, SEO
  • Версия CMS:2.x
  • Откуда:Украина

Posted 11.06.2016 - 23:10

Да, спасибо, супер доработка. Но как с товарами то быть?



#10 Tamara

Tamara
  • Пользователь
  • 36 сообщений
  • Пользователь
  • Откуда:Dushanbe

Posted 05.04.2018 - 16:01

Увидел несколько реализаций и даже платных модулей, откровенно говоря на мой взгляд они крайне избыточны а местами даже экзотические. решил поделиться простым решением для создания шаблонов meta-тегов а так же описания для категорий и товаров.

 

пример

 

открываем products.tpl, в шапке добавляем.

 

{if $features && ($meta_title || $meta_keywords || $meta_description)}
    {foreach $features as $key=>$f}
        {foreach $f->options as $o}
            {if $smarty.get.{$f->id} && $smarty.get.{$f->id} == $o->value}
                {$filter_title[] = "{$f->name|escape|lower}: {$o->value|escape|lower}"}
                {$filter_keywords[] = $o->value|escape|lower}
            {/if}
        {/foreach}
    {/foreach}
    {if $filter_title}
        {eval var="{"; "|implode:$filter_title}" assign=filter_title}
        {eval var="{", "|implode:$filter_keywords}" assign=filter_keywords}
    {/if}
{/if}

{if $meta_title}
    {eval var=$meta_title assign=new_meta_title}
    {$meta_title=$new_meta_title scope=parent}
{/if}
{if $meta_keywords}
    {eval var=$meta_keywords assign=new_meta_keywords}
    {$meta_keywords=$new_meta_keywords scope=parent}
{/if}
{if $meta_description}
    {eval var=$meta_description assign=new_meta_description}
    {$meta_description=$new_meta_description scope=parent}
{/if}

далее идем в редактор категории

 

Шаблон заголовка

{$category->name|escape}{if $brand} {$brand->name|escape}{/if}{if $filter_title}, {$filter_title}{/if} - купить в интернет-магазине {$settings->site_name|escape}

Шаблон ключевых слов

{$category->name|escape|lower}{if $brand}, {$brand->name|escape|lower}{/if}{if $filter_keywords}, {$filter_keywords}{/if}

Шаблон описания

Купить {$category->name|escape|lower}{if $brand} {$brand->name|escape}{/if}{if $filter_title} с характеристиками - {$filter_title}{/if} в интернет-магазине {$settings->site_name|escape}. Низкие цены, доставка, самовывоз

 

Готово! На выходе получаем страницы с уникальными мета-тегами.

 

Как прописать сразу в коде "в редактор категории", чтоб каждую категорию не открывать а оно там уже было?
 



#11 Kosjak76

Kosjak76
  • Модератор
  • 3 837 сообщений
  • Программирование
  • Версия CMS:1.x, 2.x
  • Откуда:Харьков, Украина

Posted 05.04.2018 - 16:03

Какой нафиг редактор?

Это все пишется в ШАБЛОН.



#12 Tamara

Tamara
  • Пользователь
  • 36 сообщений
  • Пользователь
  • Откуда:Dushanbe

Posted 05.04.2018 - 17:07

Какой нафиг редактор?

Это все пишется в ШАБЛОН.

В какой файл, после какой строки?



#13 Noxter

Noxter

    Simpla Developer

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

Posted 05.04.2018 - 18:13

В какой файл, после какой строки?

Выше всё расписано, вам что не видно?

#14 Tamara

Tamara
  • Пользователь
  • 36 сообщений
  • Пользователь
  • Откуда:Dushanbe

Posted 09.04.2018 - 02:12

Выше всё расписано, вам что не видно?

Там расписано и видео показано, мне интересно как вписать последние три макроса сразу в код сайта, чтоб в каждую категорию не заходить. Если у меня их 5000 это на долго такая автоматизация.



#15 DaVinci

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

Posted 10.04.2018 - 11:07

Там расписано и видео показано, мне интересно как вписать последние три макроса сразу в код сайта, чтоб в каждую категорию не заходить. Если у меня их 5000 это на долго такая автоматизация.

 

руками



#16 madison21

madison21
  • Пользователь
  • 182 сообщений
  • Пользователь
  • Версия CMS:2.x
  • Откуда:Украина

Posted 20.04.2018 - 16:55

Нашёл переменную для использования в шаблоне SEO - {$product->name|escape}
Отображает название товара.

А кто знает каким образом вывести в шаблон SEO переменную ЦЕНЫ и СВОЙСТВА ТОВАРА (одного из существующих)
По умолчанию не нашёл.
Кто знает как её подключить?



#17 DaVinci

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

Posted 22.04.2018 - 15:23

Нашёл переменную для использования в шаблоне SEO - {$product->name|escape}
Отображает название товара.

А кто знает каким образом вывести в шаблон SEO переменную ЦЕНЫ и СВОЙСТВА ТОВАРА (одного из существующих)
По умолчанию не нашёл.
Кто знает как её подключить?

 

если посмотреть на все переменные которые попадают в макет товара то может все прояснится - print_r()



#18 madison21

madison21
  • Пользователь
  • 182 сообщений
  • Пользователь
  • Версия CMS:2.x
  • Откуда:Украина

Posted 22.04.2018 - 19:22

если посмотреть на все переменные которые попадают в макет товара то может все прояснится - print_r()

а в какой файл надо прописывать чтобы макет товара просмотреть?
и как потом вывести результат?



#19 DaVinci

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

Posted 22.04.2018 - 19:24

а в какой файл надо прописывать чтобы макет товара просмотреть?
и как потом вывести результат?

 

макет товара можете просмотреть через встроенный редактор шаблонов

результат можете смотреть в браузере 


Edited by DaVinci, 22.04.2018 - 19:25.


#20 madison21

madison21
  • Пользователь
  • 182 сообщений
  • Пользователь
  • Версия CMS:2.x
  • Откуда:Украина

Posted 22.04.2018 - 19:29

макет товара можете просмотреть через встроенный редактор шаблонов

результат можете смотреть в браузере 

да это я знаю)
просто не пойму куда именно в какой файл и в какое место вставлять print_r() чтоб потом в браузере посмотреть и по какому адресу
пока только осваиваю это дело






0 user(s) are reading this topic

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