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

«SEO-оптимизация»: примеры переменных и конструкций

Поддержка Bodysite
Поддержка Bodysite
8 мая 2019 14:11
+2

В данной инструкции приводятся примеры использования плагина SEO-оптимизация. Полная инструкция по настройке находится по этой ссылке.

Нет времени копаться в настройках?
Наша компания возьмёт продвижение вашего сайта "под ключ".


SEO-продвижение
интернет-магазинов
на Shop-Script
Уникальное сочетание опытной команды
и собственных SEO-разработок
Работа с любой географией и объемом запросов
Стоимость услуг:
от 35 000 руб/мес
№1 разработчик
для Webasyst Shop-Script
Более 5000 магазинов используют
плагины для SEO нашей разработки
№3 в рейтинге WDA 2023 “Комплексное продвижение”
Премия Workspace Digital Awards / 2023 Москва. Бронза
12 место в России среди SEO агентств
Рейтинг издания SEONews / 2023 Россия
14 лет в SEO-продвижении
Опытная команда. С 2009 года продвигаем интернет-магазины
Аккредитованная IT-компания
№1 разработчик
для Webasyst Shop-Script
Более 5000 магазинов используют плагины для SEO нашей разработки
№3 в рейтинге WDA 2023 “Комплексное продвижение”
Премия Workspace Digital Awards / 2023 Москва. Бронза
12 место в России среди SEO агентств
Рейтинг издания SEONews / 2023 Россия
14 лет в SEO-продвижении
Опытная команда. С 2009 года продвигаем интернет-магазины
Аккредитованная IT-компания

1. Вывод тегов товара

{($product.tags|default:[]|sep:', ')}

2. Вывод характеристик

Общий шаблон: 

{$product.features['КОД_ХАРАКТЕРИСТИКИ']}

Где, 'КОД_ХАРАКТЕРИСТИКИ' – id характеристики (например, бренд). 

Пример:

{$product.features['brand']}

В чистом виде можно использовать только для характеристики с типом "Текст" - "строка текста". В других случаях переменная возвращает массив значений, который нужно перебрать. Примеры вывода ниже.

Вывести характеристики без HTML-тегов (актуально для характеристик типа «Цвет»):

{implode(', ', $product.features['КОД_ХАРАКТЕРИСТИКИ']|default:[])|strip_tags}

Вывести характеристики с HTML-тегами:

{implode(', ', $product.features['КОД_ХАРАКТЕРИСТИКИ']|default:[])}

Перечисление цветов товара:

{foreach $product.features['color'] as $color}
    {$color|strip_tags|strip}
{/foreach}

Работает только для следующих типов характеристик:  

  • Выбор несколько значений из списка (select): Текст, 
  • Любые диапазоны.

3. Ссылки на витрину 

{$wa_app_url}

4. Ссылки на категорию 

{$wa->shop->categoryUrl($category)}

5. Свой разделитель при перечислении

Например, в качестве разделителя можно использовать запятую, пробел. Для этого используйте модификатор «|sep:' '» надо прописать «|sep:', '». Пример:

{($product.tags|default:[]|sep:' ')}

Все теги будут разделены пробелом. 

6. Ссылка на родительскую категорию

{$wa->shop->categoryUrl($root_category)}

7. Категория на один уровень выше, чем {$category}

{$parent_category = $categories[count($categories) - 2]|default:null}

8. Добавить название родительской категории в H1 дочерней

{if $root_category}
    {$root_category.name} - {$category.name}
{else}
    {$category.name}
{/if}

9. Параметры категории, к которой привязан товар (шаблон товаров)

{$category = $wa->shop->category($category.id)}
{$category.params.sample} 

10. Максимальная цена товара 

{$category.max_price}

12. Переменные цены без приставки «руб.»

Минимальная цена товара в категории: 

{$category.min_price_without_currency} 

Максимальная цена товара в категории: 

{$category.max_price_without_currency}

Текущая цена товара: 

{$product.price}

12. Проверка типа товара

По ID:

{if $product.type_id == 1}Title для товара с типом с ID 1{/if}

По названию типа: 

{if $product.type.name == 'Название типа'}Title для товара с типом «Название типа»{/if}

13. Персональные мета-теги категорий и товаров

{$product.meta_keywords} - ключевые слова товара
{$product.meta_description} - description товара
{$product.meta_title} - title товара
{$category.meta_keywords} - ключевые слова категорий
{$category.meta_description} - description категорий
{$category.meta_title} - title категорий

14. Названия всех категорий для товаров

Переменная {$category.name} выводит только одну категорию, к которой привязан товар.

{$product_categories_names = []}
{foreach $product.categories as $product_category}
   {$product_categories_names[] = $product_category.name}
{/foreach}
{$product_categories_names|sep:' '}

15. Если товаров в категории нет, ноль не выводить

{if $category.products_count == 0}
    {$products_count = 0}
{else}
    {$products_count = $category.products_count}
{/if}
{$products_count}

16. Суммировать количество товаров из подкатегорий

Вставьте следующий код в начало SEO-шаблона:

{if $category.products_count == 0} 
    {$products_count = 0} 
    {foreach $category.subcategories as $c} 
        {$products_count = $products_count + $wa->shop->productsCount("category/`$c.id`")} 
    {/foreach} 
{else} 
    {$products_count = $category.products_count} 
{/if}

И используйте переменную {$products_count}. Может увеличить время загрузки страниц категорий.

17. Уникальные заголовки Title для первой, второй, третьей страницы и последующих страниц  

{if $page_number == 1}
     Шаблон Title для первой страницы 
{elseif $page_number == 2}
     Шаблон Title для второй страницы 
{elseif $page_number == 3}
     Шаблон Title для третьей страницы 
{else}
     Шаблон Title для последующих страниц - {$page_number}
{/if}

18. Вложенность категорий

Указать конкретные уровни: 

{$parent_categories[УРОВЕНЬ КАТЕГОРИИ]['seo_name']}

Полный путь:

{$parent_category_seo_names = []}
{foreach $parent_categories as $i => $_category}
     {$parent_category_seo_names[$i] = $_category['seo_name']}
{/foreach}
{$parent_category_seo_names|sep:' '}

19.Случайное значение из массива

 {['один', 'два', 'три']|random}

При первой генерации мета-тегов/описания с данной конструкцией, за страницей закрепляется только 1 какое-то слово из множества. В дальнейшем оно меняется только при сбросе кэша плагина "SEO-оптимизация", а НЕ обновляется при обновлении страницы.

Примеры переменных и конструкций шаблонов темы дизайна

1. Вывести «SEO-название»

{$product = shopSeoViewHelper::extendProduct($item.product)} 
{$product.seo_name}

или

{$product = shopSeoViewHelper::extendProduct($wa->shop->product($item.product.id))} 
{$product.seo_name}

Вместо $item.product может быть другая переменная, посмотрите в вашей теме дизайна. Возможно, это переменная $product

2. Вывести значение доп.полей товара {$product.fields[1].value}

{$product = shopSeoViewHelper::extendProduct($product)}
{$product.fields[1].value}

Вместо $product в скобках может быть другая переменная, посмотрите в вашей теме дизайна. Возможно, это переменная $item.product или $p

 3. Вывести значения доп.полей категории  {$category.fields[1].value}

{$category = shopSeoViewHelper::extendCategory($category)}
{$category.fields[2].value}    
{$category.fields[3].value}

4. Вывести оригинальное название категории 

Например, для хлебных крошек (чтобы плагин его не менял).

{$category.original_name}

5. Скрыть дополнительное описание категории на страницах фильтрации

{if $is_seofilter|default:false || count(shopSeofilterFilterFeatureValuesHelper::normalizeParams($smarty.get) == 0)}
    {$category.additional_description|default:''}
{/if}

6. Добавить в meta-теги всех товаров категории одинаковую фразу

Например, вы можете добавить в шаблон мета-тегов товаров категории какую-либо фразу, например для категории "Запчасти для стиральных машин" фразу "для стиральной машины". Итоговый шаблон получится "*Название товара* *для стиральной машины* купить в Москве".

  1. Добавьте дополнительное поле для категории в настройках плагина
  2. Введите в настройках категории фразу, которую нужно добавить во все товары
  3. Для шаблонов мета-тегов товаров используйте следующую конструкцию:
    1. {$product.seo_name} {$category.fields[1].value} купить в Москве.
      

7. Как получить наименование активного артикула

{foreach $product.skus as $sku}
    {if $product.sku == $sku.sku}
        {$sku.name}
    {/if}
{/foreach}

Не нашли подходящую для вас конструкцию? Спросите в хабе по плагину >>