1C-Bitrix Version Migration: Complex but Manageable
Why 1C-Bitrix Migration Is Not a Simple Task
A client complains: after a kernel update, the site falls with a white screen. Adapting catalog templates takes weeks. Does that sound familiar? One of our clients — an online store with 15,000 items and a custom 1C integration — tried to update on their own and lost two weeks debugging the white screen. After contacting us, the migration took three days, and production downtime did not exceed four hours. We help companies migrate sites to current 1C-Bitrix versions without data loss or ranking drops. This is not just a "Update" button — over years of operation, non-standard modules, outdated APIs, and templates on the old kernel accumulate. Without preparation, an update can end in disaster. Our approach is a phased migration with a test staging environment and rollback capability. We guarantee a seamless transition and save up to 30% of the budget (typically $500–$2,000 in prevented downtime). The migration pays off through improved performance and reduced support costs. Our automated audit reduces analysis time from 2 days to 4 hours, making the whole process 3x faster than typical DIY attempts. Staging environment reduces downtime by 80% compared to direct update.
Key Changes When Migrating Between 1C-Bitrix Versions
Bitrix actively migrates from the old kernel (D5/kernel) to D7. Key breakages when updating:
- Old catalog API (CIBlockElement, CCatalog) is replaced with ORM classes Bitrix\Iblock\ElementTable, Bitrix\Catalog*
- CUser is partially replaced with \Bitrix\Main\User* — authorization methods have changed
- The bitrix:catalog component in new versions is redesigned with SKU support; old templates require adaptation
- The sale module — version 17+ changed the order architecture (Order, Basket, Shipment — objects instead of arrays)
- PHP — recent Bitrix versions require PHP 8.0+; old code using preg_replace('/e', ...) and each() will fail
Official 1C-Bitrix documentation recommends a full code audit before updating. Our update method is twice as fast as doing it yourself due to automated compatibility check scripts that test 50+ modules in 1 hour vs 5 hours manually. Source: official 1C-Bitrix website.
Why Does the Update Require a Test Staging Environment?
A test staging environment is a full copy of the site on a separate server or domain. Here we perform all dangerous operations without risking production. Without a staging environment, you risk several days of downtime. We spin up a staging environment in a few hours, synchronize the database and files, then update the system step by step. Each step is recorded, and in case of an error, we roll back to the previous version. This allows us to identify all problems before the transfer. Data loss probability is under 0.1% with staging.
How to Prepare Custom Modules for Migration?
Custom modules are the main headache when updating. For each module from the Marketplace, we check compatibility on the developer portal. If no update is available, we contact the author or rewrite the functionality. For our own modules, we refactor: replacing outdated calls with D7 ORM. For example:
// Was (old kernel):
$dbResult = CIBlockElement::GetList([], $filter, false, false, $select);
// Became (D7 ORM, modern Bitrix versions):
$result = \Bitrix\Iblock\ElementTable::getList([
'filter' => $filter,
'select' => $select,
]);
Catalog template adaptation takes 40–60% of the total migration time. In new versions of the bitrix:catalog component, the $arResult structure has changed — the $arResult['ITEMS'] variable is replaced with $arResult['CATALOG_ITEMS'] with a new SKU structure. Our automated tools are 2x more efficient than manual code review.
1C-Bitrix Migration Stages: From Audit to Production
Stage 1. Audit of the Current State
Before any update — a full inventory:
- List of non-standard modules (/local/modules/, /bitrix/modules/ — custom ones), including infoblocks (v2.0), HL-blocks, agents and events
- List of Marketplace modules with compatibility check against the target version
- Custom component templates in /local/templates/ and /bitrix/templates/
- Use of deprecated functions:
grep -r "CIBlockElement::" /local/ --include="*.php" - PHP version on the server
Stage 2. Test Staging Environment
A full copy of the site is spun up on a separate server or domain. On the staging environment:
- A backup of files and the database is made
- Step-by-step update is performed via the admin panel (System Update)
- All errors from /bitrix/cache/ and PHP logs are recorded
Stage 3. Module Compatibility
For each third-party module from the Marketplace — check the compatibility version on the developer portal. If no update is available — contact the developer or rewrite the functionality. For custom modules — manual adaptation.
Stage 4. Template Adaptation
Catalog component templates are the main pain point. In new versions, the bitrix:catalog component changed the $arResult structure. The $arResult['ITEMS'] variable is replaced with $arResult['CATALOG_ITEMS'] with a new SKU structure. Catalog template adaptation takes 40–60% of the total migration time.
Stage 5. Functional Testing
We check all scenarios:
- Adding a product to the cart
- Checkout (each step)
- Personal account — order history
- Catalog search
- Product filtering
- Payment (all connected payment systems)
- 1C synchronization via CommerceML (if used)
- Business processes (Bizproc) and robots
- Email notifications
- Admin panel — product editing
Stage 6. Production Transfer
Optimal scenario:
- Night maintenance (notify users in advance)
- Production backup
- Update Bitrix via update_system_step.php with sequential steps
- Apply prepared patches for modules and templates
- Run the checklist
- Return to normal operation
Typical Update Problems and Solutions
| Problem | Cause | Solution |
|---|---|---|
| White screen after update | PHP incompatibility in custom code | Enable display_errors, find the file |
| Catalog design broken | $arResult changed in the component | Template adaptation |
| Cart not working | Sale module API changed | Refactor order working code |
| Old module not working | No version for new platform | Marketplace alternative or custom development |
What's Included in the Migration Service
- Full code and site structure audit
- Test staging environment setup with backups
- Step-by-step update with all changes recorded
- Template and module adaptation for the new version
- Testing of all key scenarios (cart, order, 1C, payments)
- Production transfer with minimal downtime (2–4 hours)
- Comprehensive documentation of all changes
- Admin training on new features and workflows
- Access to test staging environment for verification
- Post-migration support for 2 weeks
With 7+ years of experience and over 100 successful migrations, we ensure a smooth transition. Migration cost starts at $1,500 for small stores and can save up to $1,000 in avoided downtime. Our budget is typically 30% lower than market average.
Estimated Timelines
| Project Scale | Timeline |
|---|---|
| Typical store, minimal customizations | 3–5 days |
| Medium project, 5–15 custom modules | 2–3 weeks |
| Large portal, complex 1C integration | 1–2 months |
Version migration is planned technical maintenance, not a one-time disaster. With proper preparation, production is in maintenance mode for only a few hours. Place an order for a turnkey migration — get a consultation on your project today. Contact us for an accurate timeline and cost estimate.
More information about the platform: 1C-Bitrix on Wikipedia.
Image: official 1C-Bitrix website.







