Migration of a site from WordPress to 1C-Bitrix

Our company is engaged in the development, support and maintenance of Bitrix and Bitrix24 solutions of any complexity. From simple one-page sites to complex online stores, CRM systems with 1C and telephony integration. The experience of developers is confirmed by certificates from the vendor.
Our competencies:
Development stages
Latest works
  • image_website-b2b-advance_0.png
    B2B ADVANCE company website development
    1173
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Website development for FIXPER company
    811
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Development based on Bitrix, Bitrix24, 1C for the company Development of an Online Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Development based on 1C Enterprise for MIRSANBEL
    745
  • image_crm_dolbimby_434_0.webp
    Website development on CRM Bitrix24 for DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Development based on Bitrix24 for the company TECHNOTORGKOMPLEKS
    976

Migration from WordPress to 1C-Bitrix

Transitioning from WordPress to 1C-Bitrix isn't file conversion—it's full-fledged new site development with data migration. Content storage structure, template logic, and WordPress plugin architecture differ fundamentally from Bitrix's component model. Understand this from the first meeting.

Analyzing WordPress Site Before Migration

WordPress stores all content in two key tables: wp_posts (posts, pages, custom post types) and wp_postmeta (custom fields—metadata). Added are wp_terms, wp_term_taxonomy, wp_term_relationships—taxonomies (categories, tags, custom taxonomies).

Before starting work, create complete data map:

  • What Custom Post Types are used and what they store
  • What plugins provide key functionality (WooCommerce, ACF, Yoast SEO, WPML)
  • Media library volume (wp_attachment)
  • Number of users and their roles

Each requires separate migration strategy.

Content Migration: Posts and Pages

Articles and pages from wp_posts migrate to Bitrix infoblock. Create infoblock type "Articles" / "News", and for each WordPress post create element via CIBlockElement::Add().

Fields mapped as:

WordPress Bitrix (infoblock)
post_title NAME
post_content DETAIL_TEXT
post_excerpt PREVIEW_TEXT
post_date ACTIVE_FROM
post_name (slug) CODE
Thumbnail (featured image) PREVIEW_PICTURE / DETAIL_PICTURE

ACF fields (Advanced Custom Fields) migrate to infoblock properties. ACF field type determines Bitrix property type: text → S, number → N, image → F, post relation → G (element binding).

WooCommerce: E-store Migration

If WordPress ran WooCommerce—separate layer of work. WooCommerce tables (wc_orders, wc_order_items, wc_product_meta_lookup, and old format via wp_posts with post_type='product') must migrate to Bitrix "E-Store" module.

WooCommerce products migrate to Bitrix catalog:

  • Simple products → infoblock catalog elements
  • Variable products → trade offers (SKU) via catalog.sku
  • Product categories → infoblock sections

WooCommerce orders migrate via CSaleOrder::Add() with order composition recreation through CSaleBasket. Needed if preserving order history is required. If history not critical—migrate products and customer base only.

Multilingual (WPML → Bitrix)

WPML stores translations in icl_translations and icl_string_translations tables. Bitrix multilingualism implemented via site language mechanism: for each language, create separate language version of infoblock element (via ACTIVE_LANGS and multisite settings). Structure fundamentally different—migration requires separate script accounting for language pairs.

SEO: Preserving Rankings

Preserve URL structure and 301 redirects from old paths to new ones. Meta titles/descriptions from Yoast migrate to Bitrix's SEO settings per element. Internal links within content must be updated from WordPress URLs to Bitrix URLs.