Можно ли за пару кликов создать копию (зеркало) сайта на связке Битрикс + Аспро с другими настройками?

Добрый день! Нужно создать копию сайта интернет‑магазина с изменёнными ценами и другим модулем доставки. В панели управления Битрикс добавил новый сайт через симлинки; используется одна база данных. Как перенести с оригинального сайта все настройки и каталог на новый, чтобы получить рабочую копию для последующей интеграции другого модуля доставки?
  • 1 мая 2026 г. 13:01
Ответы на вопрос 1
Короткий ответ — можно, но «парой кликов» — в общем случае нет. У Битрикс/Aspro много связей через одну базу и файлы, поэтому правильнее либо сделать полноценный клон сайта (рекомендую), либо вручную привязать/дублировать нужные сущности в той же БД. Ниже — практический план с вариантами и конкретными шагами/SQL.

Вариант A (рекомендую): полноценный клон в отдельной копии (файлы + отдельная БД)
Преимущества: безопасно (не трогаете прод), можно свободно менять цены/модули доставки.
Шаги:
1. Резервная копия. Снимите резерв БД и всех файлов.
2. Копия файлов. Скопируйте весь корень сайта (включая /bitrix, /upload, /local и т.п.) на новую папку/сервер:
   rsync -a /var/www/site/ /var/www/site-copy/
3. Дамп БД и импорт в новую БД:
   mysqldump --single-transaction --routines --triggers --events dbname > dump.sql
   mysql newdb < dump.sql
4. Измените /bitrix/.settings.php в копии — подставьте новые данные подключения к БД (если используете другую БД).
5. Настройте виртухост (домен или hosts) на копии, чтобы она открывалась по другому домену/subdomain (например test.example.com).
6. В БД (в копии) измените записи b_site, b_lang при необходимости — установите правильные SITE_ID и домены, пути (поля DIR и домен в b_site/b_lang).
7. Очистите кеш (/bitrix/cache, /bitrix/managed_cache) и переиндексируйте при необходимости.
8. В копии изменяйте цены — проще всего прямо в БД (b_catalog_price) или через импорт CSV/обновление прайсов.
9. Установите/подключите новый модуль доставки и настройте его в копии. Тестируйте.

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

Вариант B: «дублирование» сайта в одной БД (multi‑site) — если хотите, чтобы контент/каталог был видим под новым SITE_ID
Преимущества: нет копирования всей БД; недостатки: сложности с ценами и настройками — изменения в глобальных таблицах затронут оба сайта.
Основная идея — создать новый сайт (вы уже добавили), затем связать существующие инфоблоки/шаблоны/страницы с новым SITE_ID и настроить отображение нужных прайс‑типов/компонентов.

Обязательные действия и SQL‑пример:
1. Привязать инфоблоки каталога к новому сайту:
   INSERT IGNORE INTO b_iblock_site (IBLOCK_ID, SITE_ID)
   SELECT ID, 's2' FROM b_iblock WHERE ID IN (/* список ID инфоблоков каталога */);
   Здесь 's2' — LID нового сайта.
2. Привязать шаблоны к новому сайту (b_site_template):
   INSERT INTO b_site_template (SITE_ID, TEMPLATE, SORT, COND)
   SELECT 's2', TEMPLATE, SORT, COND FROM b_site_template WHERE SITE_ID='s1';
3. Скопировать файлы страниц/разделов, если у вас разные директории для сайтов (например /catalog/ для s1, /site2/catalog/ для s2) — руками или rsync.
4. Если шаблон Aspro хранит настройки в опциях — проверьте, как именно: некоторые настройки шаблона глобальны (b_option), некоторые хранятся в файлах/JSON. В админке шаблонов можно установить отдельные настройки для сайта (в разделе «Настройки дизайна/шаблона»).
5. Цены: Bitrix не хранит «цены по сайту» по умолчанию. Варианты:
   - Создать отдельный тип цен (b_catalog_group) для второго сайта и заполнить цены (b_catalog_price) для всех товаров (импорт/скрипт).
   - Либо дублировать каталог в отдельной БД/instance (вариант A) — проще управлять.
6. Модули доставки: сами сервисы доставки (b_sale_delivery_service / b_sale_delivery), их конфигурация может быть глобальной. Некоторые модули хранят настройки в b_option или своих таблицах — проверьте документацию модуля. Часто проще тестировать на отдельной копии (вариант A).

Полезные SQL‑фрагменты (пример, адаптируйте под ваши ID):
- Привязка всех инфоблоков к новому сайту:
  INSERT IGNORE INTO b_iblock_site (IBLOCK_ID, SITE_ID)
  SELECT ID, 's2' FROM b_iblock;
- Дублирование записи сайта (если хотите добавить сайт через SQL — обычно лучше через админку):
  INSERT INTO b_site (LID, ACTIVE, SORT, NAME, DIR, DEF, CULTURE_ID)
  SELECT 's2', ACTIVE, SORT, CONCAT(NAME, '_copy'), '/site2/', 'N', CULTURE_ID FROM b_site WHERE LID='s1';
  (После этого нужно вручную исправить домен и языковые записи в b_lang.)

Важные предупреждения и советы
- Делайте полную резервную копию перед любыми изменениями.
- Если вы на продакшене — не выполняйте массовых INSERT/UPDATE без проверки на тестовой копии.
- Многие настройки шаблонов/модулей Aspro могут храниться вне БД (файлы /local, /bitrix/wizards) — проверьте документацию шаблона. Иногда проще прогнать «мастер установки шаблона» для нового сайта (Wizard).
- Если цель — только проверить другой модуль доставки и цены, лучший путь — полная копия (вариант A). Тогда вы сможете свободно менять прайсы, конфигурацию доставки и интеграции без риска для основного магазина.
- При работе на одной БД: изменение цен в b_catalog_price повлияет на всех — создавайте отдельный тип цен, если хотите разные цены на одном инстансе.

Если хотите — могу:
- Привести конкретный пошаговый чеклист под вашу конфигурацию (названия SITE_ID, пути, ID инфоблоков), если вы пришлёте текущие значения (SITE_ID оригинала, новый SITE_ID, путь к шаблону Aspro, ID инфоблоков каталога).
- Подготовить готовые SQL‑запросы для дублирования данных (по вашим параметрам).
- Описать, как автоматически заполнить отдельный прайс‑тип цен (скрипт/CSV) для второго сайта.
Похожие вопросы