Миграция каталога на 1С-Битрикс — это не копирование таблицы, а перепроектирование структуры данных под инфоблоки, торговые предложения и модуль каталога. Разберём порядок действий: как выгрузить данные из старой CMS, спроектировать инфоблоки, подготовить корректный CSV и сохранить позиции в поиске с помощью 301-редиректов.
Аудит исходного каталога
Прежде чем что-то импортировать, нужно понять, что именно вы переносите. У каждой CMS своя модель данных: в WooCommerce товары лежат в таблицах wp_posts и wp_postmeta, в OpenCart — в oc_product и связанных справочниках, в Tilda экспорт доступен только выгрузкой CSV. Задача этапа — собрать полную карту каталога.
- Разделы и вложенность — сколько уровней категорий, есть ли товар в нескольких разделах;
- Свойства (характеристики) — какие бывают, какие фильтруются, какие являются вариантами товара;
- Вариации / модификации — цвет, размер: это будущие торговые предложения в Битрикс;
- Цены и остатки — один тип цены или несколько, есть ли поскладской учёт;
- URL и SEO — текущие адреса товаров, title, description, которые нельзя терять.
XML_ID элемента в Битрикс и позволит связывать импорты, обновлять данные и не плодить дубли.Проектирование инфоблоков
В 1С-Битрикс каталог живёт в инфоблоках, поэтому перенос начинается с их структуры, а не с данных. Понадобятся подключённые модули Информационные блоки (iblock) и Торговый каталог (catalog) — без второго инфоблок не станет каталогом и цены будет некуда писать.
Если у товаров есть вариации, заведите два связанных инфоблока в одном типе (например catalog): основной каталог и торговые предложения. Связь настраивается в карточке инфоблока ТП: Магазин → Торговый каталог → инфоблок → Торговый каталог → «предложения для». Свойства проектируйте заранее — тип «Список», «Привязка к элементам» (для брендов) или «Строка» — и задавайте им внятные символьные коды (CODE), это упростит сопоставление колонок при импорте.
Подготовка данных и кодировки
Универсальный формат переноса — CSV: его понимает встроенный импорт Битрикс, и в него можно выгрузить каталог практически из любой CMS. Ключевое требование — предсказуемая структура файла и кодировка.
| Параметр | Рекомендация |
|---|---|
| Кодировка | UTF-8 или Windows-1251 (указывается при импорте) |
| Разделитель | точка с запятой или табуляция |
| Первая строка | заголовки колонок — помогают сопоставлению |
| Идентификатор | отдельная колонка с внешним ID → XML_ID |
Разделы и товары удобнее вести в одном файле в порядке «раздел, затем его товары»: стандартный импорт Битрикс умеет создавать дерево разделов из такой структуры. Для торговых предложений часто готовят отдельный CSV, где у каждой строки-модификации есть ссылка на XML_ID родителя.
Импорт в Битрикс
Встроенный инструмент находится в разделе Магазин → Каталог → Импорт данных (компонент импорта CSV). Порядок загрузки принципиален:
- сначала разделы — чтобы товарам было куда лечь;
- затем товары основного каталога с привязкой к разделам по
XML_ID; - потом торговые предложения с привязкой к родителям;
- в конце — цены и остатки, если они шли отдельным файлом.
На шаге сопоставления вы вручную связываете колонки CSV с полями инфоблока: NAME, CODE, XML_ID, DETAIL_TEXT, свойства, базовая цена. Настройки этого сопоставления стоит сохранить в профиль импорта — так повторная загрузка (обновление остатков, доливка новых товаров) пройдёт в один клик. Для больших каталогов уменьшайте шаг импорта, чтобы не упереться в max_execution_time PHP.
Изображения и свойства
Картинки — самое хрупкое место миграции. В Битрикс за них отвечают поля PREVIEW_PICTURE и DETAIL_PICTURE, а дополнительные фото хранятся в свойстве типа «Файл» (например MORE_PHOTO). Через CSV изображения передают путём к файлу или внешним URL.
- выгрузите картинки со старого сайта в папку на сервере, например
/upload/import_img/, сохранив имена по артикулу; - в CSV укажите относительный путь к файлу в колонке изображения;
- если фото недоступны локально, Битрикс при импорте может скачать их по внешним ссылкам — но это медленно и требует доступности старого домена.
Отдельно проверьте свойства-списки: значения (например «Красный», «M») должны точно совпадать по написанию, иначе импорт создаст новые пункты справочника вместо привязки к существующим. Регистр и пробелы имеют значение.
URL, ЧПУ и 301-редиректы
Самый недооценённый этап — сохранение SEO. При смене CMS адреса товаров почти всегда меняются: старые /product/123 превращаются в битриксовые /catalog/razdel/tovar/. Если не настроить редиректы, поисковый трафик просядет.
ЧПУ в Битрикс формируются из символьного кода (CODE) элемента и раздела — при импорте включите транслитерацию имени в код, чтобы получить читаемые адреса. Дальше составьте карту соответствий «старый URL → новый URL» и настройте постраничные 301-редиректы.
- для массовых правил — модуль SEO и инструмент управления редиректами в админке;
- для сложных шаблонных случаев — правила
RewriteRuleв.htaccess; - обязательно перенесите
title,descriptionиh1из старой CMS в SEO-поля инфоблока.
Проверка и запуск
После импорта сверьте контрольные цифры со старым каталогом: количество разделов, товаров и торговых предложений. Затем пройдите по чек-листу карточки товара:
- заполнены название, описание, цена, остаток и привязка к разделу;
- подтянулись основное и дополнительные изображения;
- свойства и фильтр (умный фильтр) отображаются корректно;
- ЧПУ читаемый, а старый URL отдаёт 301 на новый.
Обязательно проверьте индексацию умного фильтра и пересоздайте поисковый индекс каталога — после массового импорта фасетный индекс часто нужно перестроить вручную в настройках инфоблока. Финальный шаг — переиндексация сайта и повторная выгрузка sitemap.xml, чтобы поисковики быстрее нашли новую структуру.
Итог
Успешная миграция каталога на 1С-Битрикс держится на четырёх опорах: аккуратном аудите исходных данных, продуманной структуре инфоблоков и торговых предложений, чистом CSV с внешними идентификаторами в XML_ID и полной карте 301-редиректов для сохранения SEO. Технически перенос товаров несложен — рискованны детали: кодировки, вариации, изображения и потерянные адреса.
Если каталог большой, вариаций много, а терять поисковый трафик нельзя, мы в B2Bsite переносим каталоги с других CMS на Битрикс под ключ — проектируем инфоблоки, готовим импорт, настраиваем редиректы и проверяем результат по SEO-метрикам.
Частые вопросы
С каких CMS можно перенести каталог на Битрикс?
Практически с любой — WooCommerce, OpenCart, Tilda, MODX, Shop-Script, Magento или самописной. Универсальный путь переноса — выгрузка данных в CSV и последующий импорт встроенным инструментом Битрикс.
Как в Битрикс перенести вариации товара (цвет, размер)?
Вариации становятся торговыми предложениями в отдельном связанном инфоблоке. В CSV каждая модификация — это строка со ссылкой на XML_ID товара-родителя.
Зачем нужен внешний идентификатор из старой CMS?
Он записывается в поле XML_ID и служит ключом сопоставления. По нему связывают импорт товаров, цен и картинок и обновляют данные повторно без создания дублей.
Как не потерять позиции в поиске при миграции?
Составьте карту соответствий старых и новых URL и настройте постраничные 301-редиректы. Также перенесите title, description и h1 в SEO-поля инфоблока.
Как переносятся изображения товаров?
Через CSV картинки передают путём к файлу на сервере или внешней ссылкой. Проще заранее выгрузить фото в папку upload и указать относительные пути в файле импорта.
В какой кодировке готовить CSV для Битрикс?
Подойдёт UTF-8 или Windows-1251 — кодировка выбирается на шаге импорта. Главное, чтобы она совпадала с реальной кодировкой файла, иначе кириллица превратится в «кракозябры».
В каком порядке загружать данные?
Сначала разделы, затем товары основного каталога, потом торговые предложения и в конце цены с остатками. Такой порядок гарантирует, что привязки по XML_ID найдут своих родителей.
Что делать после импорта большого каталога?
Пересоздать фасетный индекс умного фильтра, переиндексировать сайт для поиска и обновить sitemap.xml. Иначе фильтр и внутренний поиск будут работать некорректно.
Поможем с настройкой и поддержкой 1С-Битрикс: Управление сайтом
Поможем с настройкой, доработкой и поддержкой 1С-Битрикс: Управление сайтом.