Техническая поддержка ZetZet.ru — доработка интернет-магазина на Shop-Script
О проекте
ZetZet.ru — интернет-магазин электроники и бытовой техники на Webasyst и Shop-Script. В этом кейсе собраны доработки и задачи технической поддержки за 2021–2026 годы: от оформления заказа и подключения внешних сервисов до управления каталогом, правами сотрудников и мобильной витриной.
Для действующего магазина важна не только отдельная функция, но и её связь с остальными частями сайта. Поиск должен открывать нужные товары, корзина — учитывать ограничения оплаты и доступность позиций, доставка — показывать пункты выдачи, а административная панель — давать сотруднику нужные инструменты без лишнего доступа.
Ниже описаны выполненные изменения. Дополнительные требования и обращения без подтверждённого завершения выделены в отдельный раздел, чтобы отделить реализованные функции от направлений развития магазина.
Корзина и оформление заказа без повторных заказов
Защита от повторного оформления
Покупатель нажимал кнопку оформления, но не видел понятного завершения операции и нажимал её повторно. В результате вместо одного заказа создавалось несколько. В рамках поддержки исправили этот сценарий повторного создания заказов.
Проблема затрагивала и покупателя, который не понимал, оформлен ли заказ, и менеджеров, получавших повторяющиеся обращения. Исправление было направлено на корректное завершение покупки без лишних повторных заказов.
Недоступные товары, нулевая цена и управление количеством
Устранили ошибку, при которой недоступный товар нельзя было удалить из корзины и он мешал оформить оставшиеся позиции. Отдельно настроили запрет заказа товаров с ценой 0 рублей, чтобы незаполненная цена не превращалась в возможность оформить бесплатную покупку.
Исправили отображение кнопки уменьшения количества товара: рядом с полем количества был виден «плюс», а «минус» отсутствовал. Покупателю нужен понятный и доступный способ как увеличить, так и уменьшить количество выбранных позиций.
Правила оплаты по категориям и работа с чеками АТОЛ
Ограничение онлайн-оплаты для выбранных товаров
Для согласованных категорий настроили правила доступности способов оплаты. Когда в корзину попадал товар из такого раздела, покупателю не предлагалась онлайн-оплата: оставался предусмотренный заказчиком вариант наличными при получении. Правило применялось к определённым группам смартфонов, планшетов и техники Apple и Xiaomi.
После перехода магазина со Сбера на ЮKassa эти ограничения восстановили для новой платёжной конфигурации. Согласованное правило зависело от состава корзины и должно было сохраняться при смене способа приёма платежей.
Поддержка оплаты через Сбер и чека возврата в АТОЛ
Закрыли обращение по ошибке оплаты через Сбер после изменения сертификатов платёжного шлюза. Это отдельная задача поддержки платёжной интеграции, не связанная с правилами ограничения оплаты для товарных категорий.
Для интеграции АТОЛ выполнили настройку работы с возвратным чеком. Заказчику требовалось оформлять не только чек оплаты, но и чек возврата при возврате средств. В рамках этой задачи предусмотрена возможность ручного создания возвратного чека.
Доработка доставки: СДЭК, Ozon Rocket и совместимость плагинов
СДЭК: выбор доставки и пункты выдачи на карте
Настроили доставку СДЭК в оформлении заказа и исправили отображение пунктов выдачи на карте. В требования входила актуализация списка ПВЗ: новые пункты должны появляться, а закрытые — не оставаться доступными для выбора.
Отдельно обновляли текстовую информацию о сроках доставки для Москвы и регионов, чтобы на витрине отображались согласованные на тот момент условия.
Подключение Ozon Rocket
Установили и настроили плагин Ozon Rocket для выбора доставки при оформлении заказа. Решение добавлялось к уже использовавшимся вариантам курьерской доставки и самовывоза.
По этому направлению отдельно выполнены установка модуля и его настройка для оформления заказа.
Конфликт с плагином «Почта России»
Устранили конфликт, возникавший при включении плагина «Почта России»: его активация нарушала работу других плагинов доставки. В данном случае сопровождение затрагивало совместимость нескольких модулей, а не только настройку одного перевозчика.
Поиск по каталогу: AnyQuery, штатный поиск и ResoSearch
Загрузка поискового виджета AnyQuery
Поисковый скрипт запускался слишком поздно. В рамках согласованной настройки изменили его подключение: убрали конструкцию ts, перенесли подключение из body в head и добавили preconnect.
Позднее по отдельному запросу временно отключили AnyQuery и вернули штатный поиск Webasyst. Для магазина было важно иметь возможность сменить используемый поиск, а не оставаться зависимым от одного внешнего виджета.
Подключение ResoSearch к существующему интерфейсу
Следующим этапом стало подключение ResoSearch. Для интеграции использовали существующее поле ввода и кнопку поиска, согласовали их селекторы и подключили скрипт сервиса. В настройке также участвовал YML-фид каталога.
Поле поиска и кнопка сохраняли своё место в интерфейсе: новый сервис подключался к уже знакомым покупателю элементам витрины.
Изображения товаров, очистка файлов и настройки каталога
Загрузка и удаление PNG, JPEG и WebP
Исправили работу с фотографиями в редакторе товара: возникали проблемы при добавлении и удалении файлов PNG, JPEG и WebP. Отдельно устранили проблему загрузки темы дизайна, которая завершалась ошибкой превышения доступной PHP-памяти.
Работы с изображениями и загрузкой темы решали разные задачи администратора. В первом случае требовалось вернуть управление фотографиями товара, во втором — устранить препятствие для установки оформления магазина.
Удаление изображений, не связанных с товарами
Перед пакетной оптимизацией фотографий провели очистку оставшихся файлов от удалённых товаров. Проверяли связь изображений с товарами магазина, а не удаляли папки только по их возрасту или названию.
По отчёту о выполненной работе удалено около 1000 неиспользуемых фотографий и освобождено примерно 200 МБ. Действующие изображения товаров при этой очистке не затрагивались. Очистка позволила не включать эти файлы в последующую обработку фотографий.
Массовые настройки и обслуживание структуры
Настроили массовое применение заданного заказчиком налогообложения к товарам вместо изменения каждой позиции по отдельности. В задаче июня 2026 года требовалось массово установить настроенный заказчиком налог НДС 5%.
Из каталога также удалили пустые категории без названий. В административном интерфейсе переработали расположение элементов «Доступен для заказа» и «Видимость на витрине», чтобы нужные переключатели были доступнее при работе с ассортиментом.
Права сотрудников, заказы и административная панель
Разграничение доступа к истории заказов и отчётам
Реализовали ограничения для просмотра старых заказов: согласованная часть истории оставалась доступной главному администратору, но скрывалась от остальных сотрудников. Отдельно ограничили доступ к отчётам по продажам, покупателям, когортам и менеджерам.
Такая настройка отличается от удаления заказов. В первом случае данные сохраняются, но доступ к ним ограничен; во втором выполняется согласованная очистка. Ограничение доступа и очистка данных выполнялись по отдельным обращениям.
Уведомления о выгрузке данных и обслуживание заказов
Настроили уведомление владельцу магазина о выгрузке заказов или контактов сотрудником. Владелец получал сообщение о факте экспорта, не отслеживая каждое действие менеджеров вручную.
Добавили нумерацию позиций в заказе для работы менеджеров. По отдельным обращениям очищали заказы прошлых периодов по согласованной дате. Также восстановили работу CRM-плагина после обращения о его неисправности.
Личный кабинет и формы согласия на обработку данных
Ограничение объединения заказов покупателем
Убрали возможность самостоятельно объединять заказы в личном кабинете. Заказчик указал, что такой сценарий мешал внутренней обработке: покупатель мог менять состав связанных заказов после их создания.
Доработка касалась действий покупателя в разделе его заказов. Она не означает удаление истории покупок или изменение всех административных возможностей управления заказами.
Согласия, ссылки на документы и cookie-уведомление
Дорабатывали формы и тексты, связанные с обработкой персональных данных. В задачах были отдельное обязательное согласие на обработку данных, необязательное согласие на рекламные сообщения, ссылки на документы и текст cookie-уведомления.
Для подготовленных заказчиком страниц требовалось разместить ссылки в подвале и нужных формах. Чекбокс согласия добавили при регистрации; в отчёте о выполнении отдельно отмечено, что на страницу входа его не добавляли. Ранее также корректировали формулировки регистрации и информацию об используемой аналитике.
В этом кейсе описана техническая реализация элементов сайта. Она не является юридическим заключением о полном соответствии магазина требованиям законодательства.
Уведомления, аналитика и чат-боты FastBots
Письма с просьбой оставить отзыв и уведомления о заказах
Восстановили отправку писем с просьбой оставить отзыв о товаре. По отчёту о выполненной задаче причина была связана с отключённым cron-заданием отправки: после восстановления планировщика сценарий снова заработал.
Отдельно обновили шаблоны уведомлений о статусах заказа, убрав неактуальный контактный телефон. Это изменение затрагивало письма по нескольким статусам, а не только одно сообщение о создании заказа.
Встраивание FastBots и изменение аналитических скриптов
Подключили чат-боты FastBots. В истории проекта есть общее подключение и отдельные размещения для разделов кондиционеров и товаров для красоты и здоровья. Боты подключались через предоставленные скрипты встраивания к нужным страницам сайта.
По запросам заказчика обновляли код Яндекс Метрики и отключали Google Analytics. Набор подключений приводили в соответствие с выбранными заказчиком сервисами.
Мобильная витрина, товарные рекомендации и баннер после заказа
Слайдеры для мобильной версии
Сделали отдельный загружаемый слайдер для мобильной витрины. При последующей доработке заменили верхний мобильный баннер на слайдер нужного формата, убрали лишнее текстовое поле и сохранили второй слайдер в подвале, который также требовался заказчику.
В результате верхний и нижний слайдеры оставались отдельными элементами мобильной страницы.
«Тренды», рекомендации в корзине и баннер на странице подтверждения
На главную страницу добавили слайдер «Тренды». В корзине разместили карусель «Наши рекомендации»: покупатель мог просмотреть дополнительные товары и добавить их к выбранным позициям.
На странице после оформления заказа вместо стандартной картинки подтверждения сделали баннер с переходом по ссылке. Изображение и адрес перехода вынесли в настройки темы, чтобы ими можно было управлять без изменения кода шаблона.
Стикеры, социальные элементы и ссылки навигации
Добавили стикер «В рассрочку», скрыли блок YouTube и по отдельным запросам убрали социальные значки с витрины. Ранее подключали Telegram-блок и исправляли переход по его иконке; эти работы относятся к разным этапам развития сайта.
Исправили ссылки категорий в подвале, которые приводили к ошибке 404. Также устранили проблему возврата из карточки товара в каталог: список сбрасывался в начало, а представление страницы после возврата отображалось некорректно.
Техническая оптимизация, перенаправления и сопровождение PHP
HTML-разметка и метаданные Open Graph
Выполнили работы по устранению ошибок HTML, обнаруженных проверкой валидатором. Настроили перенаправление между www-версией и основным вариантом домена.
Для главной страницы, категорий и карточек товаров добавили Open Graph — метаданные для представления ссылок на внешних площадках. Параметры представления ссылки настраивались для разных типов страниц магазина.
Поддержка серверного окружения и мобильной скорости
В истории проекта зафиксированы выполненный переход с PHP 7.2 на PHP 7.4 и работы по ускорению сайта, прежде всего мобильной версии. Переход версии PHP относится к историческому этапу сопровождения 2024 года.
Такие задачи дополняли изменения пользовательского интерфейса: часть обращений требовала правки шаблонов и скриптов, а часть — работы с настройками окружения и совместимостью компонентов.
Дополнительные требования и обращения
В этом разделе перечислены пожелания и обращения без подтверждённого завершения. Они не включены в перечень выполненных работ.
Регистрация и доступ по разрешённым email-доменам
Заказчик сформулировал требования к ограничениям по почтовым доменам: управляемый список разрешённых сервисов, учёт корпоративных адресов в зонах .ru и .рф и поддоменов. Ограничения предполагались не только для новых регистраций, но и для существующих аккаунтов и оформления заказов, включая административные сценарии, API, импорт и быстрый заказ.
В требованиях также были трёхдневный переходный период, подтверждение нового email и обработка совпадения адреса с другим профилем. Это бизнес-правила, предложенные заказчиком; их реализация и безопасность объединения профилей требуют отдельного подтверждения. Подтверждения внедрения этого блока в журнале задач нет.
Уведомление о смене email и управление подписками
Для перехода на разрешённые адреса планировалось одно письмо покупателям хотя бы с одним заказом, с исключением ранее отписавшихся контактов и ссылкой на смену email. Требовалась возможность отписаться от всех массовых рассылок. Отдельно заказчик обозначил дальнейшую очистку контактов с неподходящими доменами; подтверждения запуска рассылки и такой очистки в материалах нет.
Выбор части товаров из корзины и общая корзина на разных устройствах
В задачах описан выбор товаров галочками: отмеченные позиции должны уходить в новый заказ, а остальные — оставаться в корзине. Отдельное обращение касалось разных корзин у одного аккаунта на разных устройствах. Это два самостоятельных сценария, а не одна функция. Завершение этих сценариев не подтверждено.
Пересчёт заказа, авторизация и восстановление доступа
Зафиксированы обращения по отсутствию пересчёта итоговой суммы, невозможности выбрать доставку, недоступным информационным ссылкам и незагружающемуся каталогу в административной панели. Также описаны проблемы с восстановлением пароля по email и запрос на изменение пароля пользователя администратором.
Отдельное обращение относится к ошибке авторизации в разделе покупателей: в сообщении системы упоминается настройка Apache/FastCGI. Причина и результат исправления этого обращения в истории не подтверждены.
Изображения, отправка почты и дополнительные настройки
В отдельных обращениях описаны пропавшие изображения в карточке товара и корзине, а также связь проблемы отображения с включением cwebp. Есть сообщение об ошибке отправки писем при некорректном email и обращение по ошибкам в оплаченных счетах, предположительно связанным с отправкой электронного чека. Эти обращения не следует автоматически считать закрытыми только потому, что позднее выполнялись другие работы с фотографиями или уведомлениями.
Среди дополнительных требований — актуализация интеграции СДЭК для стоимости доставки, новый виджет выбора доставки с передачей выбранного пункта в заказ, редактирование баннера со ссылкой в email-уведомлениях и обновление контента Telegram-виджета. Подтверждения полного внедрения этих отдельных пожеланий нет.
Персональные данные и дальнейшая техническая оптимизация
В документе есть запрос на изменение текста о сроке хранения персональных данных. Ссылка на политику в форме отзыва также обсуждалась, но её исправил сам заказчик: эту работу нельзя приписывать команде разработки.
Отдельно зафиксированы предложения по оптимизации шрифтов и отложенной загрузке изображений, вопрос о неиспользуемом JavaScript в административной части, запрос на другую версию PHP и скрытие видимого значка Метрики. Наличие этих пунктов в истории не подтверждает их реализацию.
Итоги технического сопровождения
Проект объединяет доработки покупательского интерфейса, интеграций и внутренних процессов магазина. Среди конкретных результатов — исправление повторного оформления заказа, правила оплаты по категориям, настройка СДЭК и Ozon Rocket, работа с возвратным чеком АТОЛ, разграничение доступа сотрудников, восстановление отправки писем, доработки поиска и освобождение места от неиспользуемых изображений.
Для владельца другого магазина этот кейс полезен как перечень реальных сценариев сопровождения Webasyst и Shop-Script. Он помогает описать похожую задачу точнее: указать проблемный шаг покупки, участвующий плагин, ограничения доступа или правило работы с каталогом — вместо общей просьбы «доработать сайт».
Обсудить доработку вашего магазина
Нужна похожая доработка интернет-магазина? Пришлите адрес сайта, описание задачи и ожидаемый результат. Для первичного обсуждения достаточно скриншота или обезличенного примера; пароли и доступы в открытом сообщении не нужны.
Подробнее: программирование интернет-магазинов и другие кейсы по доработке сайтов.
