Как работать с 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 описана в руководстве дизайнера.
Успехов вам в вашем бизнесе!