Массовое изменение цен и остатков в каталоге ХостСМС: как не сломать магазин

Поставщик прислал новый прайс. Или курс изменился. Или пришла пора сезонной переоценки. И вот перед владельцем интернет-магазина встаёт задача, которая на словах звучит просто, а на деле съедает дни: обновить цены на две, пять, пятнадцать тысяч товаров. Плюс остатки, потому что половины позиций уже нет, а что-то новое появилось.
Способов сделать это несколько, и разница между ними — не в удобстве, а в риске. Неаккуратная массовая операция способна за минуту обнулить каталог, перепутать цены, задвоить товары или стереть описания, над которыми работали год. Разберём, как менять цены и остатки массово, что проверять до и после, и как настроить процесс, чтобы он перестал быть страшным событием.
Три способа обновления и когда какой применять
Вручную через панель управления. Годится для десятка позиций. Для сотни — уже мучение, для тысячи — невозможно. Плюс: минимальный риск. Минус: человеческий фактор при монотонной работе даёт опечатки, а опечатка в цене стоит дорого.
Через файл выгрузки и загрузки. Основной рабочий способ для большинства магазинов. Выгружаете каталог в файл, правите цены в табличном редакторе, загружаете обратно. Подходит для тысяч позиций, понятен человеку без технической подготовки, оставляет след в виде файла, который можно проверить и сохранить.
Автоматический обмен с системой учёта. Высший уровень: цены и остатки приходят из 1С или другой учётной системы по расписанию, без участия человека. Правильное решение для магазина, где номенклатура живёт активно. Требует настройки и присмотра, но снимает ручную работу насовсем.
Практическая рекомендация: если товаров меньше пятисот и цены меняются раз в квартал — файлы. Если больше или меняются часто — обмен с учётной системой, а файлы оставить как запасной вариант.
Работа через файл: как делать правильно
Здесь сосредоточена основная масса ошибок, поэтому разберём подробно.
Первое: сделайте резервную копию. Не «наверное, есть автоматическая», а именно сейчас, руками, перед операцией. Копия базы данных плюс копия файлов. Это единственное, что отделяет неудачную загрузку от катастрофы. Убедитесь, что копия действительно создалась и имеет разумный размер.
Второе: выгрузите текущий каталог. Это ваша отправная точка и одновременно вторая страховка. Сохраните файл выгрузки отдельно с датой в названии.
Третье: работайте с идентификаторами, а не с названиями. Ключ, по которому система находит товар, должен быть уникальным и неизменным: артикул или внутренний код. Если сопоставление идёт по названию, любая правка названия породит новый товар вместо обновления старого. Так и появляются каталоги, где один и тот же товар лежит в четырёх экземплярах.
Четвёртое: проверьте формат файла. Здесь лежит вторая по частоте беда — табличный редактор портит данные:
- артикулы превращаются в числа. Артикул «007123» становится «7123», ведущие нули пропадают, товар не находится;
- длинные коды переводятся в экспоненциальную запись — и превращаются в мусор;
- цены с копейками записываются то с точкой, то с запятой, и часть значений не читается;
- даты самопроизвольно меняют формат;
- кодировка сбивается, и русские названия превращаются в вопросительные знаки.
Правильный подход: при открытии файла указывать текстовый формат для колонок с кодами, а после сохранения открыть файл простым текстовым редактором и посмотреть глазами, что там на самом деле.
Пятое: обновляйте только те колонки, которые меняете. Если вам нужно изменить цену, файл должен содержать идентификатор и цену — и всё. Загрузка полного файла со всеми полями рискует затереть описания, характеристики и привязки к разделам пустыми значениями. Многие системы при пустом значении в колонке очищают поле, а не пропускают его.
Шестое: проверьте на нескольких товарах. Перед загрузкой всего каталога сделайте файл из пяти строк и загрузите его. Посмотрите на результат в панели и на сайте. Если всё верно — грузите остальное.
Седьмое: загружайте в спокойное время. Не в разгар рабочего дня и не во время рекламной кампании. Массовая загрузка нагружает сервер, и сайт в этот момент работает медленно.
Восьмое: проверьте после загрузки. Об этом отдельно ниже.
Что проверять до загрузки
Простые проверки в табличном редакторе, которые ловят почти все ошибки.
Количество строк. Совпадает ли с ожидаемым количеством товаров. Если в выгрузке было 4200 позиций, а в файле для загрузки 3100 — вы случайно потеряли часть, и после загрузки эти товары могут исчезнуть или остаться со старыми ценами.
Минимальная и максимальная цена. Отсортируйте по цене и посмотрите крайние значения. Цена 0 или 1 рубль — почти наверняка ошибка. Цена в десять раз больше обычной — тоже.
Пустые ячейки. Отфильтруйте пустые значения в колонке цены. Каждая пустая ячейка — потенциально обнулённая цена.
Дубли идентификаторов. Два товара с одним артикулом дадут непредсказуемый результат.
Соотношение старой и новой цены. Самая полезная проверка: добавьте колонку с процентом изменения. Если вы поднимаете цены на 7 процентов, а где-то стоит плюс 700 процентов или минус 90 — это опечатка. Отсортируйте по этой колонке и посмотрите крайние строки.
Наличие остатков. Если вы одновременно грузите остатки, проверьте, не обнулились ли они целиком: нулевые остатки по всему каталогу означают, что магазин станет пустым.
Эти шесть проверок занимают десять минут и предотвращают большинство неприятностей.
Что проверять после загрузки
Количество товаров в каталоге. Сравните с тем, что было. Резкое уменьшение — сигнал тревоги.
Несколько товаров вручную, причём разных: дорогой, дешёвый, из акции, из разных разделов.
Товары со скидками и специальными ценами. Массовая загрузка часто затирает индивидуальные цены и скидки. Проверьте специально.
Наличие описаний и картинок у проверяемых товаров — не затёрлись ли.
Работу фильтров и сортировки по цене. Если где-то попало нечисловое значение, фильтр сломается.
Витрину сайта, а не только панель управления. Из-за кэша данные на сайте могут отличаться от того, что в базе. Очистите кэш и посмотрите.
Корзину. Добавьте товар, дойдите до оформления, проверьте, что сумма считается верно.
Выгрузку в рекламу и на площадки. Если у вас настроена товарная выгрузка для рекламы или для площадок, проверьте, что она сформировалась корректно. Ошибка в цене, ушедшая в объявления, — это либо продажи в убыток, либо отключение кампании.
Остатки: отдельная история
Обновление остатков связано с ценами, но требует своих решений.
Что делать с товарами, которых нет. Три подхода:
- скрывать — товар исчезает с сайта. Плохой вариант: адрес страницы перестаёт работать, накопленное теряется, а человек, пришедший по ссылке, получает ошибку;
- показывать с пометкой «нет в наличии» и кнопкой «сообщить о поступлении» — хороший вариант. Страница живёт, обращения собираются, вы понимаете спрос;
- показывать с указанием срока поставки — лучший вариант, если сроки известны: «под заказ, 7–10 дней». Такие товары продолжают приносить заявки.
Что делать с товарами, которые ушли навсегда. Не удалять сразу. Оставить страницу с пометкой «снят с производства» и ссылками на замену. Это удерживает людей, которые ищут именно эту модель, и переводит их на актуальные позиции.
Частота обновления. Остатки устаревают быстрее цен. Если возможно — обновление раз в сутки или чаще. Расхождение между сайтом и реальным складом — прямая причина отменённых заказов и недовольных клиентов.
Резервирование. Если остатки обновляются раз в сутки, а заказы идут постоянно, возможна ситуация «продали то, чего нет». Решается либо более частым обменом, либо запасом в отображаемом остатке.
Автоматический обмен с учётной системой
Правильное решение для активного каталога, но у него свои особенности.
Что стоит передавать: номенклатуру, цены, остатки, а часто и заказы в обратную сторону.
Что не стоит передавать с перезаписью: тексты описаний, изображения, характеристики для фильтров, если они ведутся на сайте. Классическая беда: маркетолог год наполнял карточки, а очередная выгрузка из учётной системы затёрла всё сухими названиями из бухгалтерии. Разделение зон ответственности нужно закрепить в настройках обмена явно: что-то приходит из учётной системы, что-то живёт только на сайте и не трогается.
Расписание. Обмен обычно ставят на ночь, когда посетителей мало. Но остатки часто нужно обновлять чаще — можно разделить: полная синхронизация ночью, короткая по остаткам несколько раз в день.
Уведомления об ошибках. Обмен ломается молча — это его главная опасность. Изменили что-то в учётной системе, обмен перестал проходить, и никто не заметил месяц. Настройте уведомление на почту или в Телеграм: обмен прошёл, столько-то товаров обновлено, столько-то ошибок.
Логи обмена. Должны храниться и быть доступны — без них разбирать проблемы невозможно.
Ограничение на удаление. Полезная защита: если очередная выгрузка предлагает удалить или скрыть больше определённой доли каталога (скажем, больше 20 процентов), обмен должен остановиться и позвать человека. Это спасает от ситуации, когда сбой в учётной системе стирает половину магазина.
Как это связано с продвижением 3 в 1
Актуальность цен и остатков влияет на обращения сильнее, чем принято думать.
Поиск, обычный и нейропоиск. Для обычного поиска важно, чтобы страницы товаров жили, а не исчезали при каждом обнулении остатка: исчезнувшая страница теряет накопленное, и вернуть его непросто. Для нейропоиска цена — один из ключевых фактов, которые он ищет и цитирует. Когда человек спрашивает «сколько стоит [товар] в [городе]», система берёт цифры с сайтов. Если у вас цена устаревшая, вы либо привлечёте человека и разочаруете его, либо будете выглядеть дороже конкурентов. Актуальный прайс на сайте — это буквально то, чем вас цитируют.
Яндекс.Справочник и Яндекс Бизнес. В карточке компании есть раздел товаров и услуг с ценами. Он тоже требует обновления: расхождение между ценой в карточке и ценой на сайте вызывает недоверие и лишние звонки. Если ассортимент большой, в карточку выносят ключевые позиции и держат их в актуальном состоянии.
2ГИС. То же самое: прайс в карточке и актуальный телефон. Для магазинов с офлайновой точкой это отдельный поток людей, которые звонят уточнить наличие — и им важно, чтобы информация совпадала.
Обращения из карт нужно считать наравне с заказами с сайта. Проще всего — отдельный номер телефона для карточек через коллтрекинг (Калтач, Каллибри) или метки в ссылках, чтобы источник был виден в Яндекс.Метрике.
Что измерять
- Доля товаров с актуальной ценой и остатком — базовая гигиена, которую стоит проверять периодически.
- Количество отменённых заказов из-за отсутствия товара. Прямой показатель качества данных об остатках.
- Обращения по кнопке «сообщить о поступлении» — показывают спрос на то, чего нет, и часто открывают глаза на то, что стоит закупить.
- Количество товаров, доступных в поиске — в Яндекс.Вебмастере. Если после каждой выгрузки оно проседает, значит, товары скрываются неправильно.
- Ошибки в товарной выгрузке для рекламы — их видно в личном кабинете.
- Время выполнения обмена и число ошибок в нём — растёт, значит, пора разбираться.
Частые ошибки
Загрузка без резервной копии. Самая дорогая из всех.
Сопоставление по названию, а не по артикулу. Порождает дубли.
Загрузка полного файла ради изменения одной колонки. Затирает описания и характеристики.
Артикулы, испорченные табличным редактором. Ведущие нули и экспоненциальная запись.
Загрузка без предварительной проверки на нескольких позициях.
Обнуление цен из-за пустых ячеек.
Удаление товаров, которых нет в наличии, вместо пометки о наличии.
Отсутствие уведомлений об ошибках обмена. Обмен ломается тихо, и это выясняется по упавшим заказам.
Загрузка в рабочее время при высокой посещаемости.
Отсутствие проверки после загрузки. Ошибку находят клиенты — в лучшем случае звонком, в худшем отзывом.
Массовое обновление цен и остатков — рутинная операция, которая становится опасной только тогда, когда её делают без подготовки. Резервная копия, работа по артикулам, проверка файла перед загрузкой и контроль результата после — четыре привычки, которые превращают рискованное мероприятие в спокойную процедуру на полчаса.
Если у вас большой каталог и обновление цен каждый раз превращается в нервный день, — специалисты компании «Сайты Профессионально» готовы бесплатно посмотреть, как устроен ваш каталог и обмен данными, и предложить порядок, при котором цены и остатки обновляются без ручной работы и без риска для магазина. Девятнадцать лет работы с сайтами, в том числе с крупными каталогами на ХостСМС и обменом с учётными системами, позволяют нам предложить решение под конкретную ситуацию, а не универсальный совет.
Хотите получить бесплатную диагностику сайта?
Получите бесплатную экспресс-диагностику за 24 часа. Проверим ошибки, сбои, скорость, безопасность и скрытые ошибки — пришлём отчёт с рекомендациями.
- Скорость загрузки и мобильная версия
- Уязвимости, вирусы, взломы
- Битые ссылки, дубли, SEO-ошибки
- Статус домена, SSL, хостинга
Популярные решения наших клиентов:

До 10 часов работ в мес.
Ежедневная диагностика
Продление домена
Продление хостинга/сервера

До 40 часов работ в мес.

До 100 часов работ в мес.
