Описать проблему ↗

Оплата и оформление

Товар не добавляется в корзину или корзина очищается

Товар добавили, а корзина снова пуста? Рассказываем, как отличить проблему конкретного товара от потери корзины при переходе между страницами.

Редакция «починимсайт» · Обновлено · 3 мин. чтения

Что происходит и с чего начать

Корзина должна помнить покупателя между запросами. Для этого сайт использует сессию — связанное с посетителем состояние, а браузер обычно хранит небольшой идентификатор в cookie. Если связь теряется, следующая страница может показать новую пустую корзину. Но сначала проверьте, добавлялся ли товар вообще: некоторые позиции требуют выбора размера, цвета или другого обязательного варианта. Эти два сбоя внешне похожи, хотя исправляются в разных частях магазина.

Что можно проверить самостоятельно

  1. Добавьте один простой товар, откройте корзину, перейдите в каталог и вернитесь. Отметьте точный переход, после которого содержимое исчезает или изменяется.
  2. Повторите проверку с проблемным товаром и явно выберите все варианты. Посмотрите, доступен ли он к покупке и нет ли ограничения по количеству.
  3. Сравните гостевой режим и вход в тестовый аккаунт. Запишите изменения адреса сайта, а также работу в обычном браузере и внутри приложения на телефоне.

Как понять результаты проверки

Если корзина пропадает при каждом переходе, исследуют сохранение состояния. Если только на одной странице — проверяют её адрес, кеш и способ получения данных. Кеш — сохранённая копия ответа, которая ускоряет открытие страницы. Для персональной корзины нельзя без разбора использовать общую копию для всех посетителей. Поэтому проблема бывает не в удалении товара, а в показе старого пустого состояния. Исправление должно подтвердить и сохранность корзины, и раздельность данных разных людей.

Что проверяет разработчик

Для этой части понадобятся доступ к настройкам, журналам ошибок или коду. Её можно передать специалисту вместе с результатами предыдущих шагов.

  1. Добавьте простой товар без вариантов, затем товар с модификациями. Если ломается только второй, проверьте выбранный вариант, остаток и обязательные параметры.
  2. Посмотрите запрос добавления и последующее чтение корзины. Убедитесь, что браузер передаёт ту же сессионную cookie между страницами.
  3. Проверьте переходы между www и основным доменом, HTTP и HTTPS. Общий кеш не должен отдавать чужое или пустое состояние персональной корзины.

На что обратить внимание

Товар может успешно записаться в одну сессию, а следующая страница открыть другую. Внешне это выглядит как очистка корзины, хотя причина находится в cookie, домене или балансировке между серверами.

Как исправляют причину

Приведите адреса сайта к одному основному домену и настройте сессии для фактической схемы HTTPS. Исключите запросы изменения корзины и персональные ответы из публичного кеширования.

Как убедиться, что проблема решена

Проверьте гостя, авторизованного клиента и две независимые сессии. Товары должны сохраняться при навигации, а корзины разных посетителей — оставаться раздельными.

Проверьте два независимых браузера с разными товарами: корзины не должны смешиваться. В каждом пройдите путь от карточки товара до оформления, включая возврат назад и изменение количества. Если магазин обещает сохранять корзину после входа, проверьте также этот переход. Одного правильного счётчика в шапке недостаточно: состав и итоговая сумма должны совпадать на странице заказа.