академия

Как работать с SEO настройками

Дорогие партнеры!

Существует раздел Настройки » SEO, который позволяет управлять правилами формирования title, meta-description и meta-keywords по шаблону. Для внесения правок в эти шаблоны необходима определенная подготовка, так как шаблоны представляют собой Liquid код, с которым большинство из вас не сталкивалось. Мы создали возможность управлять поисковой оптимизацией в ручном режиме, но если же вам необходимо внести правки в шаблоны, то в этой статье мы постараемся прояснить как это сделать.

Давайте рассмотрим пример формирования title (заголовка) для страницы товара.

Правило выглядит следующим образом:

{{ product.title }}: {{ resources["keywords_price"] }}, {{ resources["keywords_info"] }}, {{ resources["keywords_sell"] }} - {{ shop.title -}}

За формирование страницы товара отвечает шаблон product.liquid, для которого определено две локальных переменных product (товар) и parent_categories (список родительских категорий), а так же все глобальные переменные (подробнее смотрите Переменные шаблона). 

Прочитаем код покомандно.

{{ product.title }}(вывод названия товара): (двоеточие и отступ){{ resources["keywords_price"] }}(перевод по ключу keywords_price), (запятая и отступ){{ resources["keywords_info"] }}(перевод по ключу keywords_info), (запятая и отступ){{ resources["keywords_sell"] }}(перевод по ключу keywords_sell) - (отступ тире отступ){{ shop.title -}}(название интернет магазина)

Обратите внимание, что вывод названия интернет магазина заканчивается не обычным закрытием скобок }}, а "минус и закрытие" -}}. Наличие минуса является командой для удаления последующего перехода на следующую строку. Таким образом в HTML разметке title будет выглядеть так:

<title>Яблоко : цена, описание, продажа - Магазин здорового питания</title>

а не так:

<title>Яблоко : цена, описание, продажа - Магазин здорового питания
</title>

Давайте рассмотрим более сложный пример. Правило для формирования meta-description для списка товаров. 

{% if category %}{{ category.title -}}
{% elseif brand %}{{ brand.title -}}
{% elseif collection %}{{ collection.title -}}
{% else %}{{ resources["products_title"] -}}
{% endif -%}
, {{ shop.title -}}
{% for contact in shop.contacts limit: 3 -%}
{% if forloop.first %}, контакты: {% else %}, {% endif -%}
{{ resources[contact.key] }} - {{ contact.value -}}
{% endfor -%}

Локальные переменные шаблона products.liquid

  • products - список товаров;
  • pager - постраничная листалка;
  • sorter - направление сортировки;
  • sizer - количество записей на странице;
  • category - категория, если это просмотр категории товаров;
  • collection - коллекция, если это просмотр коллекции товаров;
  • brand - производитель, если это просмотр товаров производителя.

Особенность этой страницы в том, что может быть или не быть определены некоторые переменные. Это накладывает необходимость проверки значений переменных.

Прочитаем код построчно.

{% if category %}{{ category.title -}}
Если категория определена, то вывести название категории. Удалить переход на новую строку.
{% elseif brand %}{{ brand.title -}}
В ином случае, если производитель определен, то вывести название производителя. Удалить переход на новую строку.
{% elseif collection %}{{ collection.title -}}
В ином случае, если коллекция определена, то вывести название коллекции. Удалить переход на новую строку.
{% else %}{{ resources["products_title"] -}}
В ином случае вывести перевод по ключу products_title. Удалить переход на новую строку.
{% endif -%}
Закончились проверки. Удалить переход на новую строку.
, {{ shop.title -}}
Запятая и отступ. Вывод названия интернет магазина. Удалить переход на новую строку.
{% for contact in shop.contacts limit: 3 -%}
Цикл по трем контактам интернет магазина. Удалить переход на новую строку.
{% if forloop.first %}, контакты: {% else %}, {% endif -%}
Если первый элемент цикла, то вывести «, контакты:», в ином случае «,». Удалить переход на новую строку.
{{ resources[contact.key] }} - {{ contact.value -}}
Вывести перевод по ключу значения переменной contact.key (ключ контакта), тире, значение контакта. Удалить переход на новую строку.
{% endfor -%}
Цикл закончился. Удалить переход на новую строку.

Более детально работа языка Liquid описана в руководстве дизайнера.

Успехов вам в вашем бизнесе!

онлайн чат