You are still running Magento 1, but its support ended — every day on this platform increases risks of hacks, data loss, and PCI DSS fines. Moving to Magento 2 is not an update but a complete rebuild of the store: different architectures (Zend Framework 1 vs Symfony), different data formats, different extension systems. Unlike the outdated platform, Magento 2 is based on Symfony components and modern PHP, directly affecting performance and security (see Magento). Without a deep audit and phased plan, you risk losing up to 30% of functionality. Our team handles full-cycle migration while preserving all business processes, SEO positions, and customer base.
What Is Transferred and What Is Not
The official Data Migration Tool transfers standard entities, but custom tables and all code require manual work.
| Component | Status |
|---|---|
| Products, categories, attributes | Transferred via Data Migration Tool |
| Customers and passwords | Customers are transferred, passwords are not (hashing algorithm changed) |
| Orders and order history | Transferred |
| CMS pages and blocks | Transferred |
| Themes (templates) | Not transferred — Magento 2 uses PHTML + Knockout.js + LESS |
| Extensions | Not transferred — Magento 2 API is incompatible |
| Custom DB tables | Require manual transfer |
| URL redirects | Transferred with caveats |
Common migration mistakes
- Missing custom product attributes. - Incorrect customer_group mapping. - Lost links to CMS pages due to changed identifiers. - Unaccounted 301 redirects for old URLs.Why Can't You Just Upgrade Magento 1?
Magento 1 and 2 are different platforms. Upgrade is impossible; migration is necessary. M1 has an old architecture based on Zend Framework 1, while M2 is built on Symfony and modern PHP. Because of this, any extension or customization must be rewritten. We've seen projects where after a "quick" migration, 30% of functionality was lost — this can be avoided with the right approach.
How to Transfer Custom Extensions?
The Data Migration Tool knows nothing about your modules. For each extension, you need to find an M2 analogue or order porting. For example, a popular backup extension in M1 (AheadWorks) has a direct replacement Amasty in M2. But unique modules are rewritten from scratch under the Magento 2 architecture. On one project, we migrated 34 extensions, 25 of which required a complete rewrite. The timeline increased by 1.5 months, but all functions were preserved.
How to Transfer Customer Passwords?
Magento 1 uses MD5, Magento 2 uses bcrypt. Passwords are not directly convertible. We apply lazy migration: on first login, we check the old MD5 hash and re-encrypt to bcrypt. Customers don't notice the change, but passwords become secure.
// Plugin for CustomerAuthenticationService public function aroundAuthenticate($subject, callable $proceed, $username, $password) { try { return $proceed($username, $password); } catch (AuthenticationException $e) { $customer = $this->customerRepository->get($username); $legacyHash = md5($password); if (hash_equals($customer->getLegacyPasswordHash(), $legacyHash)) { $this->customerRepository->save( $customer->setPasswordHash($this->encryptor->getHash($password, true)) ); return $customer; } throw $e; } } Migration Steps
- Magento 1 audit — inventory of extensions, compatibility assessment.
- Install Magento 2 and Data Migration Tool — deploy clean platform.
- Configure mapping and migrate data — phased transfer via
migrate:settings,migrate:data,migrate:delta. - Transfer custom tables — write PHP scripts for manual synchronization.
- Solve password issue — lazy migration via authentication plugin.
- Set up SEO redirects — generate 301 redirects for old URL structure.
Migration Approach Comparison
| Approach | Timeline | Complexity | Risks |
|---|---|---|---|
| Self-migration | 1–6 months | High | Data loss, SEO errors |
| Migration through us | 2–4 months | Low | Minimal |
Magento 2 is 2–3 times faster than Magento 1 in TTFB and LCP due to the modern framework and built-in caching. Costs for self-migration can be significant considering downtime and errors, while our migration cost is calculated individually depending on the scope of work.
What Is Included
- Full audit of the current store
- Data migration (catalog, orders, customers)
- Porting or replacing extensions
- Custom theme development for M2
- Setting up 301 redirects
- Documentation for the new system
- Training your team
- 30 days of post-release support
This project is not about installing a plugin; it's about moving an entire store. Our experience includes over 50 successful migrations. We guarantee data integrity and functionality. Request a free assessment of your project — we'll provide a plan and timeline. Contact us for a consultation.







