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

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


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

Увидел несколько реализаций и даже платных модулей, откровенно говоря на мой взгляд они крайне избыточны а местами даже экзотические. решил поделиться простым решением для создания шаблонов 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}. Низкие цены, доставка, самовывоз

 

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

Изменено пользователем DaVinci
Ссылка на сообщение
Поделиться на другие сайты

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

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

и

{$meta_title=$category->meta_title scope=parent}
Изменено пользователем yr4ik
Ссылка на сообщение
Поделиться на другие сайты

 

А для чего нужна эта куча 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.net/docsv2/ru/language.function.eval

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

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

Изменено пользователем Julius123
Ссылка на сообщение
Поделиться на другие сайты
  • 3 недели спустя...

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

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

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

Увидел несколько реализаций и даже платных модулей, откровенно говоря на мой взгляд они крайне избыточны а местами даже экзотические. решил поделиться простым решением для создания шаблонов 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}. Низкие цены, доставка, самовывоз

 

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

 

 

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

 

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

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

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

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

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

 

руками

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

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

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

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

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

Отображает название товара.

 

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

По умолчанию не нашёл.

Кто знает как её подключить?

 

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

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

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

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

и как потом вывести результат?

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

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

и как потом вывести результат?

 

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

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

Изменено пользователем DaVinci
Ссылка на сообщение
Поделиться на другие сайты

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

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

да это я знаю)

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

пока только осваиваю это дело

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

да это я знаю)

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

пока только осваиваю это дело

 

https://ru.hexlet.io/courses/introduction_to_programming/lessons/intro/theory_unit

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

Увидел несколько реализаций и даже платных модулей, откровенно говоря на мой взгляд они крайне избыточны а местами даже экзотические. решил поделиться простым решением для создания шаблонов 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}. Низкие цены, доставка, самовывоз

 

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

 

Напишите пожалуйста подробную инструкцию по установке, к примеру файл такой, строка такая, вставить,или заменить.

Спасибо большое!

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

Напишите пожалуйста подробную инструкцию по установке, к примеру файл такой, строка такая, вставить,или заменить.

Спасибо большое!

 

Так уже указано, что и куда. 

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

Разобрался что и куда. Категории работают пример http://mirshopinga.com/catalog/zhenskie-bluzy

а вот в  товаре не работает пример http://mirshopinga.com/products/bluza-61590, что не так, подскажите пожалуйста?

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

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

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

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

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

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

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

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

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

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