Online Store Development on 1C-Bitrix
The faceted index on a 200,000 SKU catalog isn't built — bitrix:catalog.smart.filter takes 4 seconds instead of 200ms, and the buyer leaves. We build online stores on 1C-Bitrix where these things are thought through before launch: from infoblock architecture and price types to cluster load balancing for Black Friday.
Why 1C-Bitrix for E-Commerce
Bitrix grew out of e-commerce — the commercial modules aren't bolted on, they are the core:
-
salemodule — cart, checkout (sale.order.ajax), cart rules, coupons, loyalty program. Out of the box, no third-party plugins. A singlesale.order.ajaxreplaces a month of custom development on any framework -
Bidirectional sync with 1C — catalog (
catalog.xml), prices (offers.xml), inventory, orders and statuses via CommerceML. On schedule or in real time via push mechanism.catalogmodule → "Exchange with 1C" — configured from the admin panel -
Marketplace export — YML feed generation for Yandex.Market, Google Shopping, Ozon, Wildberries via
catalog.export -
Multi-warehouse (
b_catalog_store) — separate inventory by warehouse, automatic shipping warehouse selection by geolocation or priority - SEO module — meta tag templates with property substitution, clean URLs, canonical, Schema.org microdata (Product, Offer, AggregateRating, BreadcrumbList)
Store Types
B2C retail — catalog, catalog.smart.filter with faceted index, comparison (catalog.compare.list), reviews, ratings. The conversion funnel is polished from the product card to payment confirmation.
B2B wholesale — personal accounts with dealer prices in a separate price type (b_catalog_group), minimum order quantities via MEASURE_RATIO, credit limits. Quick order by article number via CSV import, personalized catalogs through section-level infoblock access rights, invoice export to PDF.
Digital products — licenses, subscriptions, files. Paid — OnSaleOrderPaid fires — access granted automatically. No manager needed.
Marketplaces — multiple sellers, separate accounting, commission model. Bitrix "Marketplace" module or custom when the built-in isn't enough (and it often isn't — the stock module covers basic scenarios).
PWA / mobile — Progressive Web App with push notifications and offline catalog, or native apps on React Native with Bitrix REST API.
Catalog and Filtering — Where Things Slow Down Most
bitrix:catalog.smart.filter is a powerful component, but without faceted index configuration on large catalogs it generates SQL queries that bring MySQL down. What we do:
- Build the faceted index (
b_catalog_iblock_index) — filtering on 200K+ products in 100–200ms - SEO filters via
catalog.seo.filter— indexable filter intersection pages with unique meta tags - Multi-category product placement without duplicating infoblock elements
- Breadcrumbs via
bitrix:breadcrumbwith clean URL and SEO support
Cart and Checkout
sale.order.ajax — single-page checkout out of the box. We enhance it:
- Abandoned carts — saving to
b_sale_fuser+ trigger chain via email or CRM - Social login (
socservices) - "Quick one-click order" — a custom component that creates an order from the product card with minimal fields
- Address autofill via DaData API — suggestions as you type, validation down to KLADR
Payment Systems
Handlers in sale.handlers:
- YooKassa, CloudPayments, Tinkoff, Sberbank
- Apple Pay, Google Pay
- Installments, credit, deferred payment
- Callback processing —
sale.payment.notifyfor payment status confirmation
Delivery
Integration via sale.delivery handlers:
- CDEK, Boxberry, PEK, Delovye Linii, Russian Post, DPD
- Real-time cost calculation via API
- Tracking in the personal account — tracking number in the shipment property
Inventory Management
- Reservation on checkout (
RESERVED = Yinb_sale_basket) - Automatic deduction on shipment
- Alerts when stock falls below threshold (
b_catalog_store_product.AMOUNT) - Pre-order for products in transit
Conversion Optimization
-
Personalization — "Frequently bought together" via
catalog.recommended.products, "You viewed" viacatalog.viewed.products, personalized discounts by user group -
Speed — composite cache (
bitrix:main.composite), lazy load, SQL optimization (especially JOINs onb_iblock_element_property), CDN for static assets. Target — product card TTFB < 200ms - A/B testing — two variants of the product card / checkout on real traffic. Data, not opinions
- E-commerce analytics — Enhanced E-commerce in GA4, Yandex.Metrica e-commerce module, call tracking. Full path: ad click → view → cart → purchase → return visit
Migration to 1C-Bitrix
Switching from OpenCart, WooCommerce, Shopify, MODX:
- Catalog migration: infoblock elements, properties, sections, images, SEO URLs
- Customer base (
b_user) and order history (b_sale_order) migration - 301 redirects via
urlrewrite.php— not a single indexed page gets lost - Parallel operation during transition — the old site sells while the new one goes through acceptance
Stages and Timeline
Average project — 2–4 months:
- Analysis (1–2 weeks) — business requirements, catalog structure, integrations, specifications
- Design (2–3 weeks) — prototypes, design system, mockups
- Development (4–8 weeks) — components, templates, integrations, content population
- Testing (1–2 weeks) — functional, load, acceptance
- Launch (2–3 days) — deployment, monitoring, operational support
Integrations
CRM. Bitrix24, amoCRM — orders from b_sale_order flow automatically, the customer base is synchronized. Triggers: abandoned cart reminder, post-delivery review request, churned customer reactivation.
Marketplaces. Export via YML feeds to Ozon, Wildberries, Yandex.Market, SberMegaMarket. Orders from all platforms converge into a single system. Prices, descriptions, photos — managed from the Bitrix admin panel.
Analytics and marketing. GA4, Yandex.Metrica, Facebook Pixel, email services (Unisender, SendPulse). We pass transactions, cart contents, behavior — for targeting and ROI calculation.
WMS and logistics. MoySklad, Antor, fulfillment operators. Label printing, packing lists, shipment tracking.
Loyalty Program
Bonus system. Points for purchases, reviews, referrals. Rules: accrual percentage by category, point payment limit, expiration period. All visible in the personal account — transparency motivates spending.
VIP tiers. Bronze → Silver → Gold → Platinum. Higher cashback, free shipping, early access to sales. Tier advancement is automatic, based on the total in b_sale_order.
Recommendations. "You'll like this," "Complete your purchase" blocks — built-in Bitrix tools + external engines (RetailRocket, Mindbox) for increasing average order value.
Triggers. Birthday discount (from PERSONAL_BIRTHDAY in b_user), promo code for returning churned customers, interest-based email chains. Fully automated.
Scaling
MVP (2–4 weeks). A ready-made solution from the Bitrix marketplace: catalog, cart, a couple of payment and delivery options. Minimal budget — and iterative development with live sales data.
Growth (up to 50K products). Full 1C exchange, loyalty program, automated marketing. Composite cache, CDN, Redis for sessions (SESSION_SAVE_HANDLER = redis in .settings.php).
Enterprise (100K+ products). Cluster: nginx load balancing → multiple php-fpm nodes, master-slave MySQL, dedicated nodes for 1C exchange. Elasticsearch for faceted filtering instead of the built-in index. RabbitMQ for asynchronous order processing and notifications.
Multi-regional. Bitrix multi-site: separate domains/subdomains with their own catalog, prices, currencies, language. Managed from a single admin panel.







