Как корректно вывести цены в метатегах сайта Аспро Максимум и не сломать всё после обновления
При настройке SEO для интернет-магазина на основе готового решения Аспро Максимум мы столкнулись с типичной, но деликатной задачей: вывод цен в метатегах в нужной валюте — рублях, при том, что в системе используются цены в разных валютах для разных категорий товаров (рубли, доллары, евро).
Для чего это важно?
- Цены в описании повышают CTR в поисковой выдаче.
- Единая валюта везде на сайте укрепляет доверие пользователей.
- Конкретные цифры в сниппете помогают быстрее принять решение.
Проблема: разные валюты в метатегах
В интерфейсе Аспро можно настраивать шаблоны метатегов через специальный синтаксис, например:
Купить { =lower this.Name } по цене { =this.catalog.price.8 } в Компании...
Здесь catalog.price.8 — это цена в евро. В результате получаем:
«Купить ботинки унисекс по цене 57.10 € в Компании...»
Но это не соответствует требованиям:
- На сайте указаны только рубли
- Нужно, чтобы цена была одна — та, по которой покупатель видит товар
Почему нельзя просто заменить или убрать валюту?
Можно, конечно, убрать указание цены из метатегов. Но тогда теряется важный инструмент для привлечения внимания из поиска. Или можно писать общие фразы вроде "по выгодной цене", но это снижает эффективность сниппета.
Мы хотели точные цифры — и в рублях.
Решение: кастомизация, которая не слетит после обновления.
Аспро Максимум — мощное, но закрытое решение. Любые правки в файлах шаблона или модуле могут быть потеряны после обновления.
Поэтому наша задача — реализовать конвертацию цен в метатегах так, чтобы доработка сохранилась после обновления.
Что мы сделали:
- Создали обработчик в
/bitrix/php_interface/init.php
- Реализовали функцию ccrus, которая:
- Получает цену в любой валюте
- Конвертирует её в рубли
- Форматирует значение (например, добавляет пробелы и знак рубля)
Пример использования в шаблоне метатега:
Купить { =lower this.Name } по цене { =ccrus this.catalog.price.8 } в Компании...
В результате получаем:
«Купить ботинки унисекс по цене 7 639,09 руб./пар в Компании...»
Почему так важно делать кастомизацию правильно?
Многие разработчики решают такие задачи быстро — прямо в коде шаблона или модуле. Это работает… до первого обновления.
Аспро регулярно выпускает обновления. И если вы внесли правки в файлы, они просто исчезнут после обновления.
Мы же используем безопасные методы расширения функционала, которые работают независимо от версии платформы.
Итог
Эта задача может показаться простой, но требует глубокого понимания внутреннего устройства Аспро Максимум и особенностей работы с событиями и обработчиками в Битриксе.
Если вы сталкиваетесь с похожими проблемами при настройке SEO или хотите улучшить работу вашего интернет-магазина — мы поможем сделать это надежно и с учетом будущих обновлений.