1C-Bitrix Migration: Step-by-Step Hosting Change Plan
Migrating a site to 1C-Bitrix seems straightforward until the first launch. We've seen many cases where after copying files and a database dump, the site shows a white screen or database connection errors. The cause: PHP version mismatch, wrong paths, incorrect permissions. To avoid this, we've developed a clear algorithm that minimizes downtime and guarantees functionality. Following this plan will save you from costly emergency fixes and lost orders. For instance, one client lost two days debugging after copying their site to a server running PHP 8.0 instead of 7.4, as their code still used deprecated functions. We resolved it in an hour. Typical migration takes 2 hours to 1-3 days, far cheaper than building from scratch.
Preparation: What to Check Before You Start
Before any work, determine the new hosting configuration and compare it with the current one:
- PHP version (Bitrix supports 7.4–8.2; some hosts default to older versions)
- PHP extensions:
mbstring,gd,zip,curl,opcache,PDO,pdo_mysql— mandatory - Database type and version: MySQL 5.7+ or MariaDB 10.3+. Some hosts limit
max_allowed_packet,innodb_buffer_pool_size - Availability of
cronand ability to add jobs - Restrictions on
exec(),shell_exec()– needed for agents and some modules
Creating a Backup
The built-in backup module (Settings → Tools → Backup) creates an archive in /bitrix/backup/. However, for large sites (5–10 GB+), it may time out. For large projects, we rely on manual backup:
mysqldump -u dbuser -p --single-transaction --routines --triggers dbname > dump.sql tar -czf site_files.tar.gz \ --exclude='./bitrix/cache' \ --exclude='./bitrix/managed_cache' \ --exclude='./bitrix/backup' \ --exclude='./bitrix/html_pages' \ /var/www/site/ Excluding cache is essential: it occupies significant space and will be invalidated on the new server anyway.
Setting Up the New Server
After extracting the files, update the database connection configuration in /bitrix/php_interface/dbconn.php:
$DBType = "mysql"; $DBHost = "localhost"; $DBLogin = "new_db_user"; $DBPassword = "new_password"; $DBName = "new_db_name"; Also update /bitrix/.settings.php:
'connections' => [ 'value' => [ 'default' => [ 'className' => '\\Bitrix\\Main\\DB\\MysqlConnection', 'host' => 'localhost', 'database' => 'new_db_name', 'login' => 'new_db_user', 'password' => 'new_password', ], ], ], Why Permission Settings Matter
1C-Bitrix requires specific permissions. Incorrect permissions cause 90% of migration errors.
| Folder | Permissions |
|---|---|
/upload/ |
755 (recursive) |
/bitrix/cache/ |
755 |
/bitrix/managed_cache/ |
755 |
/bitrix/.settings.php |
640 |
/bitrix/php_interface/dbconn.php |
640 |
Many hosts run with suexec, and permissions must belong to the site user. If php-fpm runs under a different user, you'll face cache write errors.
Post-Migration Checklist
After the migration, go through this checklist:
-
Admin panel: Open
/bitrix/admin/– it should load without errors. -
Email: Test contact form, order notifications – verify
mail()or SMTP settings in the Main module. -
Agents and cron: In
/bitrix/admin/agent_list.php, confirm agents are running; configure cron for/bitrix/modules/main/tools/cron_events.php. -
HTTPS and certificate: Update
SITE_SERVER_NAMEandBX_UTFin site settings, check.htaccessfor redirects. - Cache: Clear the managed cache via the admin panel.
- License: If the server IP changed, verify license activation in your 1C-Bitrix account.
Special Case: Domain Change
If the domain changes simultaneously with the migration, additional steps are required:
- Update
SITE_SERVER_NAMEin theb_langtable (or via Settings → Sites). - Update the site URL in the Main module settings.
- Fix absolute paths in infoblock content (via SQL update or a search-and-replace component).
- Reconfigure integrations that use webhook URLs (payment systems, CRM integrations).
What Our Service Includes
Our turnkey migration service includes:
- Diagnosis of current configuration and compatibility check with the new hosting.
- Creating a backup (files + database).
- New server setup: PHP, database, permissions, cron.
- Data transfer and integrity verification.
- Testing all critical functions (contact form, cart, orders).
- Handover of access and an operation manual.
- 3 days of post-migration support.
Typical Timelines
| Site Size | Timeline |
|---|---|
| Business card / landing (up to 1 GB) | 2–4 hours |
| Corporate site (1–10 GB) | 1 business day |
| E-commerce with large catalog (10–50 GB) | 1–3 days |
| High-load project with cluster configuration | from 1 week |
What If Something Goes Wrong?
Check PHP and web server logs. Most often the issue is incorrect permissions on /upload/ or /bitrix/cache/, or a PHP version mismatch. Contact us – we'll diagnose within an hour. We perform migrations during nighttime or with minimal downtime via temporary DNS switching and database delta synchronization.
Common Migration Errors
- Forgot to exclude cache from the archive – volume increases multiple times, and it's useless on the new server.
- Did not check PHP version – use the official recommendations at dev.1c-bitrix.ru.
- Did not update permissions – getting 403 or a blank page.
- Did not migrate agents – cron not configured, site not updating order statuses.
Contact us for a consultation to get a detailed migration plan and accurate timeline estimate. Avoid migration headaches. Learn more about the platform at Wikipedia.

