Як перенести сайт з Drupal на 1С-Бітрікс і зберегти позиції

Перехід з Drupal на 1С-Бітрікс часто стає необхідністю через складнощі інтеграції з 1С та потребу в інструментах Бітрікс24. Ми виконуємо міграцію під ключ, дбайливо переносячи контент і структуру сайту, щоб зберегти його позиції в пошукових системах. Наша команда експертів забезпечує стабільну роботу нового ресурсу та супроводжує його після запуску.

Як перенести сайт з Drupal на 1С-Бітрікс і зберегти позиції

МіграціїСередній~1-2 тижні
Часті запитання

Перехід з Drupal на 1С-Бітрікс — завдання, яке ми вирішуємо регулярно. Клієнти приходять зі скаргами на складнощі інтеграції з 1С, відсутність корпоративних інструментів (Бітрікс24) або необхідність імпортозаміщення. Міграція з Drupal технічно складніша, ніж з більшості інших CMS, через гнучку, але нестандартну модель зберігання даних. Одна з типових ситуацій — інтернет-магазин на Drupal Commerce, який перестав справлятися з навантаженням і потребує інтеграції з 1С. Перенесення на Бітрікс не тільки вирішує ці проблеми, але й скорочує час на обмін даними з обліковою системою в 2-3 рази завдяки готовим модулям обміну. Наші клієнти економлять до 40% бюджету на розробку інтеграцій у порівнянні з доопрацюваннями Drupal. Зв'яжіться з нами для аудиту вашого проекту. Отримайте консультацію — обговоримо деталі вашого переїзду.

Чому міграція з Drupal технічно складніша, ніж з інших CMS?

У Drupal 7 контент зберігається через систему Field API. Кожне поле вузла (node) зберігається в окремій таблиці з ім'ям виду field_data_{field_name} та field_revision_{field_name}. Основні таблиці:

  • node — базовий запис: nid, type, title, uid, status, created, changed.
  • node_revision — історія ревізій.
  • field_data_body — тіло матеріалу: body_value, body_summary, body_format.
  • field_data_{custom_field} — довільні поля, одна таблиця на кожне.
  • taxonomy_term_data, taxonomy_vocabulary — таксономія (категорії, теги).
  • file_managed — медіафайли.
  • users, users_roles, role — користувачі.

У Drupal 8/9 архітектура схожа, але зберігання через Doctrine DBAL і конфіги в YAML. Таблиці: node__body, node__field_{name} (одна таблиця на поле, всі ревізії в node_revision__*). Згідно з офіційною документацією, така структура забезпечує гнучкість, але ускладнює пряму міграцію.

Проектування структури в Бітрікс

Кожен тип контенту (content type) Drupal стає інфоблоком у Бітрікс. Таксономія — розділи інфоблоку або властивості типу «Список». Поля node мапимо на властивості інфоблоку.

Перед написанням скрипту складаємо таблицю мапінгу:

Drupal Тип Бітрікс Тип властивості
field_data_body.body_value text_long DETAIL_TEXT —
field_data_image.field_image_fid image PREVIEW_PICTURE —
field_data_field_tags term_reference PROPERTY_TAGS Список
field_data_field_price decimal PROPERTY_PRICE Число

Скрипт міграції

Drupal 7: скрипт читає дані через PDO з MySQL-бази Drupal. Для кожного node:

SELECT n.nid, n.title, n.created, b.body_value, b.body_summary
FROM node n
LEFT JOIN field_data_body b ON b.entity_id = n.nid AND b.bundle = 'article'
WHERE n.type = 'article' AND n.status = 1

Потім для кожного поля — окремий JOIN або підзапит. Результат — масив даних для CIBlockElement::Add().

Медіафайли. У Drupal файли реєструються в file_managed з полем uri формату public://photos/image.jpg. Фізично файл лежить у sites/default/files/photos/image.jpg. Копіюємо файли, реєструємо через CFile::SaveFile(), прив'язуємо до елемента.

Таксономія. Терміни таксономії (taxonomy_term_data) переносимо як розділи інфоблоку або як значення властивостей типу «Список». Якщо в Drupal в одного матеріалу кілька термінів з одного словника — створюємо властивість «Множинне» в Бітрікс.

Як перенести багатомовний сайт?

Drupal має вбудовану багатомовність через модулі i18n (Drupal 7) або вбудований Content Translation (Drupal 8+). Переклади зберігаються в field_data_* з різними language-значеннями. Бітрікс підтримує багатомовність через інфоблоки з LANGUAGE_ID або через різні сайти в одній установці. Якщо сайт багатомовний — цей етап потребує окремого проектування.

Views та блоки

Drupal Views — динамічні списки матеріалів з фільтрацією та сортуванням. У Бітрікс їх аналог — компонент bitrix:news.list з параметрами фільтрації. Прямого перенесення Views не існує: кожен View аналізується вручну та реалізується як компонент або кастомний код.

Блоки Drupal (region/block) — у Бітрікс це області ($APPLICATION->ShowPanel()) та компоненти в шаблоні. Структура сторінок переноситься при розробці дизайну, не при міграції даних.

Модулі Drupal без аналогів

Webform → форми через bitrix:form. Commerce (Drupal Commerce) → модулі catalog + sale. Rules → бізнес-процеси Бітрікс або обробники подій. Feeds (імпорт) → агент або cron-задача Бітрікс.

Як зберегти SEO-позиції при переїзді?

Ключовий елемент — 301 редиректи. Ми створюємо карту відповідності старих URL Drupal новим адресам у Бітрікс. Додатково налаштовуємо sitemap, robots.txt, передаємо мета-теги з полів Drupal. Для зображень зберігаємо alt-тексти та імена файлів.

Як виконати міграцію: покроковий план

  1. Аудит бази даних Drupal: аналіз структури, типів контенту, обсягів.
  2. Проектування інфоблоків та мапінг полів: повна схема відповідності.
  3. Розробка скрипту міграції: PHP-скрипт на PDO, обробка всіх сутностей.
  4. Перенесення медіафайлів: копіювання файлів зі збереженням шляхів та атрибутів.
  5. Налаштування SEO-редиректів: генерація .htaccess з 301 редиректами.
  6. Тестування та верифікація даних: звірка кількості елементів, перевірка посилань.
  7. Документація та навчання адміністраторів: передача знань.
  8. Підтримка після міграції: технічний супровід на 2 тижні.

Строки

Етап Типові строки
Аудит типів контенту та полів 1–2 дні
Проектування інфоблоків та мапінг полів 1–2 дні
Розробка скрипту міграції 3–6 днів
Перенесення медіафайлів 1–2 дні
Багатомовність (за наявності) 2–3 дні
SEO-редиректи 1 день
Тестування та правки 1–2 дні
Разом 10–18 робочих днів

Drupal — одна з найскладніших для міграції CMS саме через нестандартну структуру зберігання та велику кількість можливих модулів. Реальний строк завжди уточнюється після аудиту вихідної бази даних. Щоб оцінити обсяг роботи для вашого проекту, отримайте консультацію — ми проведемо аудит і запропонуємо план міграції під ключ. Гарантуємо якість та збереження позицій.

Наші компетенції:

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1543
  • Розробка веб-сайту для компанії ФІКСПЕР
    Розробка веб-сайту для компанії ФІКСПЕР
    1060
  • Розробка віджета онлайн-запису для медичного центру
    Розробка віджета онлайн-запису для медичного центру
    837
  • Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    928
  • Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    865
  • Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1223