• Интернет-магазины · OpenCart

Дедупликация товаров: когда каталог больше ассортимента

Каталог растёт быстрее ассортимента, когда товары приходят из нескольких прайсов: одна и та же модель приезжает под разными названиями и заводится заново. Через год в магазине уже не одна карточка на позицию, а две-три, они конкурируют между собой в выдаче, размывают отзывы и ломают учёт остатков. Дедупликация возвращает каталогу соответствие реальности: мы считаем, сколько позиций на самом деле, показываем повторы с объяснением и сливаем их, не теряя ни истории заказов, ни старых адресов.

Посмотреть, как это работает
Стоимость
после бесплатного аудита
Гарантия
30 дней после подписания акта
Специализация
интернет-магазины, преимущественно OpenCart
Стоимость
после бесплатного аудита
Гарантия
30
дней после подписания акта
Специализация
интернет-магазины, преимущественно OpenCart
Срок
от 9 до 30 рабочих дней
Начало
бесплатный подсчёт дублей
Ответ
в течение 2 часов
Работа
по письменному договору
Что входит

Полный перечень работ и того, что вы получаете на выходе

  • подсчёт реального количества позиций несколькими независимыми способами с показом расхождения
  • перечень дублей с объяснением, по каким признакам каждый признан повтором
  • решение о слиянии подтверждаете вы — ничего не удаляется самостоятельно
  • слияние с переадресацией со старых адресов на карточку, которая остаётся
  • перенос истории заказов, отзывов и рейтингов
  • сохранение изображений и характеристик, которых не было в основной карточке
  • правило сопоставления для будущих импортов, чтобы повторы не возвращались
  • сверка каталога после слияния: количество, остатки, цены
  • отчёт о том, что именно изменилось, в понятном виде
Когда эта услуга не подходит

Что не входит в работу — чтобы не было сюрпризов на сдаче

  • удаление позиций без вашего подтверждения
  • изменение цен и ассортимента
  • написание описаний для карточек, которые остаются
  • обещания роста позиций в поиске после чистки
  • договорённости с поставщиками о формате их прайсов
Кому подходит

Ситуации, в которых эта услуга даёт результат

Сценарий 1 из 4

Магазин, который импортирует несколько прайсов

Разные поставщики присылают одну и ту же модель под разными названиями. Без правила сопоставления каждый импорт добавляет новые карточки вместо обновления имеющихся.

Разберём вашу ситуацию на бесплатном аудите
Бесплатный аудит

Бесплатный подсчёт ваших дублей

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

Что мы измеряем

  1. Сколько позиций по разным методам подсчётаКоличество в админке, в карте сайта и по поиску в каталоге обычно не совпадает. Расхождение между ними — первый признак беспорядка.
  2. Сколько полных совпадений по названиюСамый простой тип дубля: одно и то же название дважды. Находится быстро и часто даёт несколько процентов каталога.
  3. Сколько совпадений по артикулу поставщикаОдин и тот же товар под разными названиями, но с одинаковым номером в прайсе. Это самый надёжный признак повтора.
  4. Сколько близких по характеристикамСамый сложный тип: названия разные, номера разные, а товар тот же. Здесь нужно подтверждение человека, и мы говорим это прямо.
  5. Сколько страниц конкурируют между собойСмотрим, есть ли в каталоге пары почти одинаковых страниц под один и тот же запрос.
  6. Откуда берутся новые дублиЕсли причина в импорте, без правила сопоставления удаление повторов придётся повторять каждый месяц.

Что вы получаете

  • цифра: сколько уникальных позиций в каталоге на самом деле
  • распределение дублей по типу: полное совпадение, совпадение по номеру, близкие
  • примеры найденных пар для проверки
  • оценка объёма работ с разбивкой по этапам

Срок: 2–4 рабочих дня

Почему это бесплатно

Пока не посчитаешь, разговор об объёме беспредметен: в одних каталогах дублей меньше процента, в других — каждая пятая карточка.

Что дальше

Вы получаете цифру и примеры. Затем решаете сами: сливать с нами, сливать своими силами или оставить как есть.

Короткая форма: контакт и адрес сайта
Договор и документы

Работаем официально

Договор, акт и счёт — на каждый проект, а не только на большой.

Нам доверяют6 брендов

Нам доверяют: Kvant Energy, GYPSUN, Naturel Cosmetics, Pancer Protection, LUGI, BeeTech

Условия, зафиксированные письменно8 пунктов
  • Договор, акт и гарантия 30 дней

    На каждый проект письменный договор: объём, сроки, сумма, порядок приёмки. После сдачи — акт и счёт, затем 30 календарных дней гарантии.

  • ФОП и безналичный расчёт

    Исполнитель — зарегистрированный ФОП. Оплата на счёт с закрывающими документами.

  • Права и доступы — ваши

    Код, дизайн и материалы переходят к вам после полной оплаты. Домен, хостинг, репозиторий оформляем на вас.

  • Портал клиента вместо переписки

    Во время работы вы получаете доступ к порталу: договоры, счета, акты и статус проекта в одном месте.

  • Сайты в девяти странах

    Наши сайты работают в девяти странах: кроме Украины — Польша, Германия, Австрия, Англия, Норвегия, Болгария, Молдова, Испания.

  • Цифры, которые можно проверить

    Каждый кейс в портфолио — со ссылкой на живой сайт и техническим замером.

  • Сначала аудит, потом сумма

    Прайса на сайте нет намеренно: объём одной и той же работы у двух клиентов отличается кратно.

  • Говорим «нет», когда не уверены

    Если задача не наша или срок нереальный — скажем сразу.

  • Договор, акт и гарантия 30 дней

    На каждый проект письменный договор: объём, сроки, сумма, порядок приёмки. После сдачи — акт и счёт, затем 30 календарных дней гарантии.

  • ФОП и безналичный расчёт

    Исполнитель — зарегистрированный ФОП. Оплата на счёт с закрывающими документами.

  • Права и доступы — ваши

    Код, дизайн и материалы переходят к вам после полной оплаты. Домен, хостинг, репозиторий оформляем на вас.

  • Портал клиента вместо переписки

    Во время работы вы получаете доступ к порталу: договоры, счета, акты и статус проекта в одном месте.

  • Сайты в девяти странах

    Наши сайты работают в девяти странах: кроме Украины — Польша, Германия, Австрия, Англия, Норвегия, Болгария, Молдова, Испания.

  • Цифры, которые можно проверить

    Каждый кейс в портфолио — со ссылкой на живой сайт и техническим замером.

  • Сначала аудит, потом сумма

    Прайса на сайте нет намеренно: объём одной и той же работы у двух клиентов отличается кратно.

  • Говорим «нет», когда не уверены

    Если задача не наша или срок нереальный — скажем сразу.

NDA подписываем по запросу. После завершения свои доступы удаляем сами.

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

Почему две одинаковые на вид задачи считаются по-разному

  • Размер каталогаСравнение каждой позиции с каждой растёт быстрее, чем сам каталог. Для больших каталогов нужны предварительные отборы, чтобы работа оставалась обозримой.
  • Тип дублейПолные совпадения находятся автоматически. Близкие позиции с разными названиями требуют просмотра человеком, и именно они определяют срок.
  • Сколько данных нужно сохранитьПростое удаление дёшево и неправильно. Перенести заказы, отзывы, фото и характеристики со слитых карточек — отдельная работа на каждую пару.
  • Количество источников импортаОдин источник — одно правило сопоставления. Десяток прайсов в разных форматах означает отдельное правило для каждого.
  • Состояние переадресацийСтарые адреса должны вести на карточку, которая осталась. Чем больше страниц уже в индексе, тем внимательнее нужно относиться к этому шагу.
  • Обмен с учётной системойЕсли каталог синхронизируется с 1С или BAS, слияние нужно провести согласованно с обеих сторон, иначе следующий обмен вернёт дубли обратно.
Кейсы

Задачи и результат в цифрах — все показатели сняты нашим замером

Pancer Protection

интернет-магазин тактического и военного снаряжения с каталогом более 50 тыс. SKU

Задача
Удержать в одном магазине сверхбольшой ассортимент тактического снаряжения (бронезащита, одежда, обувь, рюкзаки, связь, оптика) с детальной фильтрацией по характеристикам — и при этом не потерять скорость отдачи страниц.
Решение
Магазин на OpenCart 3 (тема chameleon + модули NeoSeo) за Cloudflare. Две языковые версии. Полная JSON-LD разметка локального магазина: Store, Place, GeoCoordinates, PostalAddress, OpeningHoursSpecification, ContactPoint, WebSite, SearchAction. В чекауте — LiqPay, карта онлайн, наложенный платёж, наличные при получении, безналичный расчёт и рассрочка онлайн (события dataLayer). Телефония Binotel, email-маркетинг eSputnik, вход через Google, GTM, GA4, Google Ads.
Результат
54 302 товара и 635 категорий — цифра подтверждена двумя независимыми методами: sitemap-индекс из 32 товарных файлов даёт 110 096 URL на два языка, перекрёстная проверка поиском OpenCart даёт 54 501–54 600 позиций (расхождение 0,4%). Каталог на 54 тысячи SKU отдаёт первый ответ за 0,41 с, полная загрузка HTML — 0,51 с при 422 КБ. Девять типов JSON-LD на главной. Пять способов оплаты, включая LiqPay и рассрочку онлайн. Измерено 31.07.2026.

2PM

розничный интернет-магазин нижнего белья с каталогом более 110 тыс. товарных позиций

Задача
Продавать бельё онлайн по всей Украине так, чтобы покупатель сам подбирал размер без консультации менеджера, — это уменьшает количество возвратов. Каждый размер и цвет заведён отдельной позицией, поэтому каталог разрастается до сотни тысяч страниц: нужно удержать такую структуру в рамках одного магазина, сохранить навигацию по категориям и брендам и оставить страницы пригодными для индексации.
Решение
Магазин на OpenCart 3 (тема oct_luxury от Octemplates, Apache, HTTP/2, gzip). Три языковые версии: корневая ru, /ua/ и /pl/. Карта сайта сделана индексом из 42 подкарт (39 товарных по 3 000 URL + категории, бренды, инфостраницы) — корректный способ отдать каталог такого объёма. На карточке товара полная товарная JSON-LD разметка: Product, Offer, Brand, MerchantReturnPolicy, OfferShippingDetails, ShippingDeliveryTime, DefinedRegion, ImageObject. На главной — разметка магазина ClothingStore, WebSite/SearchAction, ContactPoint, PostalAddress, OpeningHoursSpecification, GeoCoordinates. Доставка Новой Почтой в трёх вариантах (отделение, курьер, почтомат) плюс Укрпочта. Аналитика и реклама: GTM, GA4, Google Ads, модуль ремаркетинга с передачей product_id в Google Ads и Facebook.
Результат
115 456 товарных позиций — цифра подтверждена двумя независимыми методами: штатный поиск OpenCart даёт 1 154 страницы по 100 позиций плюс 56 на последней (115 456), карта сайта даёт 112 646 уникальных товарных URL, расхождение 2,4%. Это самый большой каталог в замеренной выборке. Карточка товара отдаёт первый ответ за 0,39 с, страница категории — за 0,47 с. 129 категорий, 334 бренда, три языковые версии. Измерено 01.08.2026.

Не нашли свой случай?

Опишите, как это устроено у вас, — ответим, подходит ли «Дедупликация товаров и слияние SKU» и что это значит в вашей ситуации. Без брифа и без звонка: один вопрос, один ответ.

Этапы работы

Прозрачные этапы с согласованием на каждом шагу

Общий срок:5–25 дней

  1. Подсчёт и типизация

    2–4 рабочих дня

    Считаем позиции несколькими способами, показываем расхождение и раскладываем найденные повторы по типам: полное совпадение, совпадение по номеру, близкие позиции.

  2. Согласование правил

    1–3 рабочих дня

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

  3. Подготовка слияния

    2–8 рабочих дней

    Для каждой пары определяем, какая карточка остаётся основной и что нужно перенести со второй: фото, характеристики, отзывы, заказы. Работаем на копии.

  4. Слияние и переадресации

    2–8 рабочих дней

    Сливаем подтверждённые пары, ставим переадресацию со старых адресов, проверяем, что ни одна ссылка не ведёт в никуда.

  5. Правило против повторов

    1–4 рабочих дня

    Настраиваем сопоставление для импортов, чтобы следующий прайс обновлял имеющуюся позицию, а не создавал новую. Без этого шага работа повторится через месяц.

  6. Сверка и передача

    1–3 рабочих дня

    Проверяем количество, остатки и цены после слияния, передаём отчёт об изменениях. Затем действует гарантия 30 дней со дня подписания акта.

Технологии и интеграции

На чём строим и с чем это соединяется

Стек

  • OpenCart
  • WooCommerce
  • PHP
  • MySQL
  • PostgreSQL
  • Python
  • SQL
  • Git

Интеграции

  • 1С
  • BAS
  • XML/YML-прайсы
  • CSV-выгрузки
  • Google Search Console
  • Excel
Слияние с переносом или простое удаление лишних карточек

Чем этот вариант отличается от альтернативы

Удаление дублей через админкуНаш подход
Что будет со старыми адресамистраницы начинают отдавать ошибкупереадресация на карточку, которая осталась
История заказовисчезает вместе с удалённой позициейпереносится на основную карточку
Отзывы и рейтингитеряются, и товар начинает с нуляобъединяются
Вернутся ли дублида, после следующего импортанет, если настроено правило сопоставления
Скоростьбыстро, и именно поэтому так делают чаще всегодольше, потому что обрабатывается каждая пара
Что нужно от вас

Без этого не начнём — лучше подготовить заранее

  1. выгрузка каталога или доступ к базе
  2. из каких источников наполнялся каталог и какие прайсы принимаются сейчас
  3. кто с вашей стороны подтверждает решения о слиянии близких позиций
  4. можно ли останавливать обмен с учётной системой на время работ
  5. есть ли категории, которые лучше не трогать
  6. кто с вашей стороны принимает работу
Если чего-то из этого нет — скажите, подскажем, как собрать или сделаем сами отдельной задачей.
Частые вопросы

Что спрашивают чаще всего — с конкретными ответами

Сколько на самом деле товаров в моём каталоге?

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

Вы удалите товары без моего ведома?

Нет. Полные совпадения мы показываем как готовые к слиянию, но решение всё равно за вами. Близкие позиции без вашего подтверждения не сливаются вообще — там, где названия и номера разные, машина может ошибиться, и цена ошибки выше сэкономленного времени.

Что будет со старыми ссылками?

Ставим переадресацию со слитых карточек на ту, что осталась. Это обязательная часть: без неё страницы, которые уже есть в поиске и в чужих ссылках, начнут отдавать ошибку, и вы потеряете то, что уже было заработано.

А отзывы и заказы не потеряются?

Нет, они переносятся на карточку, которая остаётся. Это главное отличие слияния от простого удаления: товар не начинает жизнь с нуля, а сохраняет накопленную историю.

Дубли вернутся после следующего импорта?

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

Это повлияет на позиции в поиске?

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

Сколько это длится?

От 9 до 30 рабочих дней. Автоматическая часть быстрая; время уходит на просмотр близких позиций и перенос данных по каждой паре. Точный срок называем после подсчёта, когда видно количество и типы дублей.

Будет ли магазин работать, пока идут работы?

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

Демо

Ваш каталог на экране телефона

Так может выглядеть ваш магазин в телефоне: баннер коллекции, популярные товары и корзина в одно касание. Нажмите «В корзину» — счётчик в шапке обновится, как в настоящем магазине.

  • Баннер коллекцииПервый экран показывает новинку, а не логотип.
  • Карточки товаровФото, цена и кнопка — без перехода на отдельную страницу.
  • Корзина в одно касаниеСчётчик в шапке обновляется сразу, как в настоящем магазине.
Магазины в портфолио
Это демо-интерфейс, а не магазин клиента. Живые работы — в портфолио.
SHOP
Новая коллекцияОсень / ЗимаСмотреть
ПопулярноеВсе товары ›
  • Худи Essentials1 290 ₴
  • Рюкзак Urban1 490 ₴
  • Кепка Classic690 ₴
  • Футболка Basic590 ₴
  • Кроссовки Street2 390 ₴
  • Шорты Active890 ₴

Посчитаем, сколько у вас на самом деле позиций

Подсчёт дублей бесплатный: покажем расхождение между методами и примеры найденных пар. Отвечаем в течение 2 часов.

Из измеренных кейсов54 302 товара и 635 категорий

Смотреть кейсы
  • Ответ в течение 2 часов
  • Без обязательств
  • Работаем по договору

Прайса на сайте нет намеренно: объём той же работы у двух клиентов отличается в разы, и цифра «от» в этом случае ничего не объясняет. Сначала бесплатный аудит — считаем ваши страницы, дубли и скорость, — потом называем сумму и срок и фиксируем их в договоре.