Автор кейсаВиталий ВайтиЛоготип компании

Перенос интернет-магазина с самописной CMS на 1С-Битрикс

Заказчик
Частное лицо
Задача
Перенести действующий интернет-магазин с количеством товаров 50 000 на CMS 1С-Битрикс, синхронизировать сайт с 1С, настроить редиректы для страниц (категории, бренды, товары). Перенести заказы и пользователей.

К нам обратился партнёр занимающийся SEO, у него был клиент,
который начал работать с другими исполнителями
в 2015 году, но к сентябрю 2016 года задача решена не была.
В связи с этим Заказчик начал поиск другого исполнитея.

Что было у Заказчика:

  1. Сайт на самописной CMS (php).
  2. Каталог товаров в 50 000 наименований.
  3. 284 категории товаров.
  4. Готовая вёрстка, её оставалось только интегрировать.
  5. Синхронизировать сайт с 1С.

Почему Заказчик решил обновить сайт и перейти на CMS 1С-Битрикс:

  1. Отсутствия мобильной/адаптивной версии.
  2. Сложности с программистами, которые поддерживали ранее интернет-магазин: менялись часто, качество кода страдало.
  3. Создавалась высокая нагрузка на мощности сервера в результате он часто вис.
  4. Думаю все понимают, что в наше время на практически любом сайте важна оперативность внесения изменений,
    обновлений и добавления нового функционала, что напрочь отсутствовало в версии сайта на самописной CMS.

Мы не разрабатывали: дизайн, вёрстку.
Мы работали с тем, что было (готовая вёрстка).

Задачу разделили на несколько этапов:

  1. Перенес каталога товаров с действующего сайта на CMS 1С-Битрикс.
  2. Выгрузка каталога товаров из CMS 1С-Битрикс в 1С УТ штатными средствами.
  3. Синхронизировать каталог товаров из 1С УТ с сайтом.
  4. Интеграция предоставленной вёрстки.
  5. Настройка 301 редиректов для товаров, категорий, брендов, фотографий.

Космического функционала делать не надо было, всё стандартное, за исключением быстрого поиска по товарам, разделам, брендам.

Перенести каталог товаров с действующего сайта на CMS 1С-Битрикс

Возможно, это можно было пропустить, и сразу выгрузить товары из базы в 1С УТ.

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

Написали скрипт для переноса данных (270 строк кода).

Выгрузка каталога товаров из CMS 1С-Битрикс в 1С УТ штатными средствами

Штатным функционалом Импорт товаров из интернет-магазина в 1С УТ
и штатным функционалом экспорт каталога с сайта в 1С-Битрикс выгрузили номенклатуру в 1С УТ.

1С программист дописал обработку номенклатуры для правильного построения дерева групп для сайта.

Из-за большого количества товаров и слабой машины, где установлена 1С, потребовалось примерно 2 дня, чтобы всё обработать и загрузить в 1С УТ.

После этого мы имели каталог товаров в 1С УТ готовый к выгрузке.

Синхронизировать каталог товаров из 1С УТ с сайтом

Синхронизацию 1С УТ с сайтом на 1С-Битрикс для выгрузки товаров настроили за 20 минут (всё штатное: в 1С-Битрикс создали группу пользователей Внешние сервисы, наделили эту группу достаточными правами для работы с торговым каталогом и обменом с 1С, добавили в неё пользователя, указали настройки для подключения, настроили ограничения на выгрузку свойств и запустили обмен, 30 минут и у нас на сайте уже есть каталог с товарами).

Важно: мы не выгружали фотографии с сайта в 1С. Дальше объясню почему.

Интеграция предоставленной вёрстки

Ничего особенного и заслуживающего отдельного внимания нет.
Даже доставка и оплата без автоматизации.
Всё планируется в будущем.

Быстрый поиск

При вводе запроса в строку поиска выполняется поиск данных в товарах, разделах, брендах.

 

Настройка 301 редиректов для товаров, категорий, брендов, фотографий

Сначала эта задача показалось сложной, но всё оказалось проще, чем мы думали.

На первом этапе, при переносе каталога с сайта на самописной CMS,
мы записали старые адреса товаров, категорий и брендов в свойства.

Это позволило нам во время возникновения 404 ошибки выполнить обработку адреса
и определить, где нам надо запросить новый адрес:

  1. берём адресную строку;
  2. разбираем её;
  3. если в строке присутствовало расширение файла jpg или png, то искали в базе новый адрес файла;
  4. если в строке были другие совпаления, то искали товар, категорию или бренд.

Возможно имело смысл создать отдельный модуль или хотя бы инфоблок,
где сразу хранить соответствие старых адресов новым и при возникновении 404 ошибки
делать аналогичную выборку и возвращать новый адрес с кодом ответа сервера 301.

Почему мы не выгружали в 1С изображения при импорте с сайта

50 000 товаров — много для 1С, к тому же большинство фотографий Заказчик планирует в ближайшее время обновить.
В связи с этим на сайте мы имеем 2 каталога:

  1. Результат переноса каталога товаров с сайта на самописной CMS
  2. Каталог из 1С (который используется для отображения на сайте)

Фотографии мы решили отображать так:

  1. Новые фотографии Заказчик грузит в 1С и они отображаются на сайте.
  2. Если у товара в каталоге из 1С нет фотографии, то выполняется запрос к старому каталогу (по артикулу) и берём фотографию оттуда.

Со временем Закзчик обновит все фотографии товаров в 1С и переведёт базу данных 1С на MySQL.

 

Запуск сайта

Протестировали функицонал сайта, 301 редиректы, настроили robots.txt и sitemap.xml

На всё ушло 2 месяца (с учетом времени на тестирование).

Яндекс не ругается.
Сайт работает, заказы принимают.

Всё старались делать максимально просто и быстро.

Так как заказчик начал перенос сайта в 2015 году, а сейчас 2017,
то дизайн и вёрстка — морально устарели.
Заказчик это понимает и уже ведутся работы по обновлению.

Приоритетная задача решена — сайт перенесен на 1С-Битрикс, синхонизирован с 1С, позиции сохранены.

Скорость и внимание к делатям при переносе сайта на CMS 1С-Битрикс зависят от Исполнителя,
чем он опытней, тем быстрей и безболезненно удасться решить все этапы.


Перейти на сайт

В карточку агентства

Письмо автору кейса

Пользуйтесь реальным опытом в IT и следите за успехами потенциальных подрядчиков и конкурентов
Подпишитесь на рассылку
Читайте также
Кейсы по теме#Создание сайтов
Проекты компании Proactivity Group