Migrate from CS-Cart to 1C-Bitrix
Owners of CS-Cart online stores eventually hit a performance ceiling. With 5–7 thousand products, page generation times reach 2–3 seconds, MySQL lags on complex queries with attributes and variants, and standard 1C integration modules require constant tweaks—either the export fails or prices don’t sync. Migrating to 1C-Bitrix solves these problems: page performance improves 3–4 times, exchange with 1C uses standard CommerceML and works reliably. Our team has completed dozens of such migrations, and we guarantee you won’t lose a single order or SEO position.
What complexities do we face?
The most common pain point is trade offers. In CS-Cart these are option combinations, each with its own price and stock. In Bitrix they are separate information block elements (SKUs) linked to the product via PROPERTY_CML2_LINK. A simple conversion script won’t work: we need to parse CS-Cart’s option structure (types: select, radio, checkbox) and create an SKU for every combination, then migrate prices into b_catalog_price and stock into b_catalog_store_product. Bitrix documentation recommends using D7 ORM for batch loading, which yields up to 10x speed improvement over regular Add calls. We use Bitrix\Catalog\ProductTable::add for products and direct SQL for prices—this lets us process up to 50,000 SKUs per hour.
A second challenge is complex promotions. Simple product discounts transfer automatically. But combined offers (e.g., “when you buy product X, get 10% off product Y”) are stored in CS-Cart as cscart_promotions with serialised conditions. We extract those conditions, convert them into Bitrix business processes, or manually configure marketing campaigns. On one project with 40 such promotions we completed the work in 2 days.
What exactly do we transfer?
| Entity |
CS-Cart table |
Bitrix destination |
| Products |
cscart_products |
Catalog information block elements |
| Trade offers |
Option combinations |
SKU information block elements |
| Categories |
cscart_categories |
Information block sections |
| Orders |
cscart_orders |
b_sale_order |
| Customers |
cscart_users |
b_user |
| Promotions |
cscart_promotions |
b_sale_discount + manual configuration |
| SEO URLs |
cscart_seo_names |
301 redirects in .htaccess or SEO module |
We verify each transfer by comparing counts.
How do we guarantee data integrity?
Before starting we take a full database dump and run a project test on a copy. After migration we launch an automated comparison script: product count, order count, total revenue, active customer count. If any metric deviates by more than 0.01%, we stop and find the cause. Experience shows that with careful migration the deviation is zero. Over 10 years we have never lost a single piece of data.
Our workflow
| Stage |
Duration |
| Audit and planning |
1–2 days |
| Products and categories transfer |
3–5 days |
| Trade offers transfer |
1–2 days |
| Orders and customers transfer |
1–2 days |
| Promotions and coupons transfer |
1 day |
| SEO redirects |
1 day |
| Testing and acceptance |
1 day |
| Total |
10–14 days |
Timelines may vary. We will evaluate your project for free.
Why migrate from CS-Cart to 1C-Bitrix?
Bitrix is the Russian commerce standard, providing reliable 1C integration via CommerceML, flexible business processes, and scalability. CS-Cart is good for starting out, but above 5,000 products it falls behind. After migration you get page load speeds 3 times higher, access to ORM, tagged caching, and built-in fiscalisation under 54-FZ. Support cost savings can reach €2,000 per year due to reduced effort for 1C and OFD integration.
Post‑migration checklist
- Check that all products appear with correct prices and stock.
- Ensure old URLs redirect to new ones (301).
- Compare a few orders between old and new systems.
- Test promotions and coupons.
- Request a data migration report.
We support you at every stage. Contact us for a consultation—we will evaluate your project and give you exact timelines.
Why URL Structure Matters in Bitrix Migration?
Skipping URL mapping during a website migration to Bitrix crashes organic traffic by 50–80% in two weeks. WordPress uses /product/item-name/, OpenCart uses /index.php?route=product/product&product_id=123, Bitrix defaults to /catalog/section/element/. Without a 301 redirect map, search engines index mass 404s. We start every migration with Screaming Frog scanning the old site, then compile a complete redirect map before writing a single line of code. Proper migration requires full URL mapping — every indexed page gets a correspondent.
Over seven years we have completed 50+ projects: landing pages, catalogs with 300,000 products, e‑commerce stores. Typical duration 2–8 weeks. Contact us for a free project estimate within one day.
How Migration Preserves SEO Positions
Losing organic traffic is the biggest fear, and it's justified. Here is how we avoid it.
-
URL mapping 1:1 — where possible, via
CUrlRewriter and infoblock SEF settings we keep the exact structure. When impossible — 301 redirect. Auto‑generation of redirect map: parse Screaming Frog export, match with new element slugs, generate nginx config. Each redirect verified with curl -I after switching.
- Transfer of meta tags — title, description, h1 moved into properties
ELEMENT_META_TITLE and ELEMENT_META_DESCRIPTION. Canonical via Bitrix SEO component. Duplicates cut: www/non‑www, http/https, sorting parameters. Sitemap: new sitemap.xml generated by Bitrix seo module, submitted to Search Console immediately after DNS switch.
- Speed comparison — Bitrix processes a catalog of 100,000 products 3x faster than OpenCart due to tagged caching and query optimization for
b_catalog_product.
What Data Gets Transferred?
Content — pages, articles, news → information infoblocks. Catalog: categories → sections, products → elements linked to b_catalog_product, properties → infoblock properties or highload directories. Images, reviews, FAQ.
E‑commerce — products with trade offers (SKUs), prices in b_catalog_price (multi‑currency via b_catalog_currency), stock balances b_catalog_store_product, discounts (b_sale_discount), order history (b_sale_order + b_sale_basket).
Users — client base b_user plus custom UF fields. Passwords are hashed differently: WordPress — phpass, OpenCart — SHA1+salt, Drupal — SHA512. We write a custom CUser::LoginByHash with fallback to old algorithm — client enters password once, system rehashes to Bitrix bcrypt.
SEO data — meta tags, alt attributes, URL structure. Main task: preserve every indexed URL or set 301.
Media — images, documents, videos — transferred preserving paths and optimized via CFile::MakeFileArray().
How to Plan a Successful Migration: 5 Key Steps
-
Audit — scan with Screaming Frog: all URLs, status codes, meta tags. Analyze DB structure, custom modifications, integrations. Create migration map.
-
Architecture design — map content types → infoblocks, fields → properties, directories → highload blocks. Architecture must be convenient for Bitrix administration.
-
Migration scripts — PHP scripts read from old DB (or API), transform and write via Bitrix API (
CIBlockElement::Add, \Bitrix\Sale\Order::create). Re‑run during testing.
-
Staging — full migration to test server. Verify integrity: product count, properties, URLs, filters.
-
Final migration & switching — delta import, DNS switch, monitoring.
Detailed stage timeline
| Stage |
Duration |
Activities |
| Audit |
1–3 days |
Full site scan, integration register |
| Architecture |
2–5 days |
Infoblock design, field mapping |
| Scripts |
3–10 days |
PHP based migration engine |
| Staging |
1–2 days |
Full dry run, integrity checks |
| 301 redirects |
1–2 days |
Map in .htaccess or nginx.conf |
| Final migration |
1 day |
Delta import, DNS switch |
| Post‑migration |
2–4 weeks |
Monitor Search Console, fix crawl errors |
| Deliverable |
Description |
| Documentation |
Redirect map, mapping description, DB schema |
| Access |
Admin panel, FTP/SSH, API keys |
| Training |
Video tutorials or on‑boarding session |
| Support |
2 weeks post‑migration monitoring, bug fixing |
| Guarantee |
Rollback to old site within 48 hours |
Typical Migration Mistakes and How to Avoid Them
Each of these errors has caused loss of positions and clients.
- Loss of URLs without redirects — the most destructive mistake.
/product/123 instead of /catalog/item-name.html — without 301 this means mass 404s and traffic collapse. We auto‑generate the map and verify every redirect after switching.
- Content duplication — one product accessible with and without www, via HTTP and HTTPS, with GET filter parameters → five URLs instead of one. SEO weight dilutes. Set up canonical, 301 for variants,
robots.txt with Disallow for parameters.
- Broken images — absolute URLs in content (
src="https://old-site.ru/img/photo.jpg"), quality loss during compression. Replace with relative paths, transfer preserving structure, check HTTP 200 for each file.
- Loss of meta tags and microdata — title, description, Schema.org may not transfer. Do full mapping and verify on staging.
- Broken forms and integrations — changed IDs, API keys, webhooks. Compile integration register before start and test each after.
- Mobile version — old
m.site.ru → responsive Bitrix. Without mobile URL redirect → 404 for mobile users. Include in redirect map.
Timelines and Cost Savings
| Project type |
Timeline |
Notes |
| Informational site (up to 500 pages) |
2–4 weeks |
Content + design + redirects |
| E‑commerce store (up to 10,000 products) |
4–8 weeks |
Catalog + orders + integrations |
| Large store (100,000+ products) |
2–4 months |
Custom scripts + load testing |
Businesses typically save $3,000–$8,000 annually after migration — no old CMS license fees, reduced plugin and hosting costs. Annual hosting savings alone can reach $1,200. Add the affordable licensing cost of 1C‑Bitrix — it pays off quickly.
Contact us for a free migration estimate. We also provide a preliminary calculation within one day — request a consultation with our Bitrix specialists.