Artizo is a Ukrainian retailer specializing in professional art supplies — materials for artists, draftsmen, designers, sculptors, restorers, and fine arts students. The store catalog spans 10,000+ SKUs across every major category in fine art retail. The Artizo team came to us in November 2025 after Magento Meet Ukraine 2025, where they connected with our talk on the four-stage Magento rescue framework. Their store had been built by Brander — a well-known Ukrainian Magento agency — and inherited 70+ custom modules from that engagement. By late 2025, the platform was on Magento 2.3.5 with PHP 7.4, accumulating security exposure and performance issues with no clear upgrade path. We led the full rescue: staircase upgrade through 2.4.8, PHP 8 migration, OpenSearch transition, integration verification, and Core Web Vitals optimization. The store is now passing CWV on real user data.
The challenge
Artizo represents one of the harder rescue profiles a Magento store can present.
The platform itself was technically sound — built by Brander, a well-known Ukrainian Magento agency, with the quality of work you'd expect from that partnership. The architecture wasn't broken. The code wasn't fragmented. The custom modules weren't quick hacks. By November 2025, the store had been running for years on a foundation that did what it needed to do.
But time had created the problem the inheritance could not solve. The store was running on Magento 2.3.5 with PHP 7.4 — a version Adobe officially ended support for in September 2022, more than three years past end-of-life by the time Artizo reached out. Every category of issue typical of late-stage Magento 2.3.x had accumulated:
Security exposure — three years of unpatched CVEs, with no upgrade path the previous setup could absorb cleanly
Cart bugs — checkout flow producing intermittent failures that directly hit conversion
Performance degradation — slow page loads across the 10,000-SKU catalog, particularly painful for browsing buyers who research art supplies before committing
Platform stagnation — no compatibility with modern third-party modules, no path to current Magento features, no future
PHP 7.4 end-of-life — PHP itself stopped receiving security updates in November 2022, layering another security risk underneath the Magento version issue
The complexity was compounded by what made Artizo work in the first place: over 70 custom modules built by Brander across years of engagement, covering catalog management, custom checkout logic, B2B/B2C functionality, integration adapters for CRM and ERP systems, admin tooling, and operational workflows specific to Artizo's business.
A Magento 2.3.5 → 2.4.8 upgrade isn't a single command. It's a staircase: 2.3.5 → 2.3.7 → 2.4.0 → 2.4.3 → 2.4.6 → 2.4.8, with each step requiring module compatibility validation, PHP version compatibility, database schema migration, and full regression testing. Every one of those 70+ custom modules had to be validated, patched where necessary, and tested through each step of the staircase.
The Artizo team connected with us through our talk on the four-stage Magento rescue framework at Magento Meet Ukraine 2025. The brief was clear: keep what Brander built, get the platform current, eliminate the security exposure, fix the cart bugs, optimize performance — without breaking an active business serving artists, restorers, design students, and creative professionals across Ukraine.
The solution
We delivered the rescue across four phases over six months — November 2025 to May 2026 launch — following the same framework we presented at Magento Meet Ukraine 2025. The work followed the rescue methodology by design, not by accident.
Phase 1 — Stabilization & Audit (November 2025 — December 2025)
Stage 1 of the rescue framework is "stop the bleeding." For Artizo, that meant working backward from the visible symptoms (cart bugs, slow performance, security flags) to the root causes hidden inside a 2.3.5 platform with 70+ inherited custom modules.
Work in this phase:
Full technical audit — Magento version and patch level, server config, log analysis, indexer status, cron health, full module inventory across the 70+ custom modules from Brander
Module classification — each custom module categorized by function (catalog, checkout, B2B/B2C, integrations, admin tooling) and by upgrade compatibility risk
Stabilization checklist — production mode confirmed, JS/CSS merging and minification enabled, Redis configured for sessions and backend cache, image conversion to WebP, lazy loading enabled
Security baseline — 2FA enforced for all admins, automated backups configured and verified, Content Security Policy baseline applied
Cart bug triage — immediate fixes to the checkout-flow bugs that were directly impacting revenue, while the larger upgrade was scoped
After Phase 1, the store stopped degrading and started recovering. The cart bugs that had been costing conversion were addressed. The platform had a clean audit baseline. We had a clear picture of what the 2.3.5 → 2.4.8 staircase would actually require.
Phase 2 — Staircase Upgrade & PHP 8 Migration (January 2026 — February 2026)
The Magento 2.3.5 → 2.4.8 upgrade ran through Adobe's recommended upgrade path — not a direct jump, which isn't supported across five minor versions. The staircase:
2.3.5 → 2.3.7-p3 (final patch of 2.3 series, mandatory pre-2.4 step)
2.3.7 → 2.4.0 → 2.4.3 → 2.4.6 → 2.4.8 (sequential through 2.4.x major versions, with PHP and database compatibility checks at each step)
Critical technical transitions handled in this phase:
PHP 7.4 → PHP 8.x — every one of the 70+ custom modules from Brander validated for PHP 8 compatibility. Code patterns that worked in PHP 7.4 (deprecated function signatures, type juggling edge cases, removed extensions) flagged and fixed
MariaDB / MySQL compatibility — database schema validation through each upgrade step
Composer dependency resolution — third-party module compatibility validated at each minor version; modules that couldn't survive the upgrade replaced or refactored
Adobe Stock support, content security, and platform API changes addressed per Adobe's official upgrade guides
Each staircase step ran first on staging, with full regression testing against production data before proceeding to the next step. The 70+ custom modules were the highest-risk asset in the upgrade — Brander had built them well, but no team writes module code anticipating five major Magento version jumps. The validation work at each step was what made the upgrade ship clean.
Phase 3 — Search Migration, Integrations & Performance (March 2026 — April 2026)
With the platform now on 2.4.8 and PHP 8.x, Phase 3 covered the transitions and optimizations that 2.4.8 specifically requires — plus the performance work to bring Core Web Vitals into the green.
ElasticSearch → OpenSearch migration. As of Magento 2.4.8 (April 2025), Elasticsearch is no longer supported — the platform requires OpenSearch 2.19+. For Artizo's 10,000-SKU catalog, this wasn't an optional improvement; it was a hard platform requirement. We migrated the search infrastructure, rebuilt the catalog index, and validated faceted filtering across all category trees.
Integration verification & customization preservation. Artizo's operation depends on multiple integrations with admin-side customizations — CRM connections, ERP data exchange, custom admin workflows, and operational adapters built across the 70+ Brander modules. Every integration was tested through the upgraded platform, with the few that needed refactoring updated to maintain identical behavior on the new stack.
Performance optimization stack:
WebP image conversion + lazy loading across the 10,000-SKU catalog
Critical CSS extracted and inlined for above-the-fold rendering
Varnish Full Page Cache tuned for high-traffic category and product pages
Redis for session and cache backends, properly configured (a frequent miss on inherited platforms)
Cloudflare CDN + WAF in front of the origin for global asset delivery and basic attack surface protection
Database optimization — indexes added where queries were slow, fragmented tables defragmented, cron_schedule cleanup for the bloat typical of long-running stores
Code-level optimization — the same 9 code patterns we documented in our Magento 2 code optimization patterns blog post (repeated save() calls, fetchAll vs fetchCol, transaction handling for bulk operations) audited and corrected where they appeared across the inherited custom modules.
Phase 4 — Launch, Monitoring & Continuous Support (May 2026 — Present)
The upgraded Artizo platform shipped in May 2026. Post-launch work continues as an active partnership:
Real-time error tracking via Sentry with deployment pipeline integration
Uptime monitoring with alerts routed to the team channel that actually gets read
Tested backup workflow — backups restored to staging on a monthly cycle, because an untested backup is just a hopeful guess
Quarterly audit schedule — Magento moves quickly, and a store tuned in May 2026 will need adjustment in November
Continuous development — feature additions, performance refinements, and the operational support a 10,000-SKU active platform needs
This is the rescue methodology working end-to-end: keep what was built well (the Brander foundation), fix what failed over time (the 2.3.5 platform), and stay engaged so the rescue doesn't have to happen twice.
Key Deliverables
Magento 2.3.5 → 2.4.8 full staircase upgrade (through 2.3.7 → 2.4.0 → 2.4.3 → 2.4.6 → 2.4.8)
PHP 7.4 → PHP 8.x migration with 70+ custom modules validated and patched
ElasticSearch → OpenSearch 2.19+ migration (Magento 2.4.8 requirement)
Cart bug fixes addressing direct conversion losses
Security baseline — 2FA, automated tested backups, CSP, CVE patching
Preservation of 70+ custom modules inherited from Brander (catalog, checkout, B2B/B2C, integrations, admin tooling)
Integration verification — CRM, ERP, and operational adapters validated on the new stack
Performance optimization — WebP, lazy loading, critical CSS, Varnish FPC, Redis, Cloudflare CDN
Database optimization for 10,000-SKU catalog
Code-level pattern audit across inherited modules
Sentry error tracking + uptime monitoring + tested backup workflow
Quarterly audit cadence established for ongoing health
Continuous active partnership post-launch
Results
Artizo launched on Magento 2.4.8 in May 2026 — security exposure eliminated, cart bugs resolved, performance optimized, and the 70+ custom modules built by Brander preserved through five major version jumps.
Real user data — Chrome UX Report (desktop, last 28 days):
✓ Core Web Vitals — passed
✓ LCP 2.0s — good
✓ CLS 0.01 — excellent
✓ FCP 1.0s — good
✓ TTFB 0.4s — excellent
✓ INP — insufficient sample data at measurement time
For a 10,000-SKU art-supplies platform with 70+ custom modules and a freshly-upgraded stack, sustained desktop performance under real load is the metric that matters. The platform passes Google's Core Web Vitals thresholds across LCP, CLS, FCP, and TTFB — the foundation organic search ranking now depends on.
Operational outcomes:
Cart bugs eliminated — checkout flow stable, the immediate revenue leak resolved
Security exposure closed — platform now on a supported, patched version with active CVE coverage
Brander's work preserved — 70+ custom modules carried through the upgrade rather than rebuilt, protecting years of operational logic and avoiding the rebuild cost a less careful rescue would have imposed
OpenSearch in production — catalog search modernized and ready for Adobe's current platform direction
Continuous partnership active — monitoring, quarterly audits, and ongoing development carrying the platform forward

Technologies & Tools
Magento 2.4.8 (upgraded from 2.3.5 through staircase: 2.3.7 → 2.4.0 → 2.4.3 → 2.4.6 → 2.4.8)
PHP 8.x (migrated from PHP 7.4)
OpenSearch 2.19+ (migrated from ElasticSearch)
MariaDB
Varnish (Full Page Cache)
Redis (session & cache)
Cloudflare (CDN + WAF)
70+ inherited custom modules from Brander (validated, patched, preserved)
CRM + ERP integrations (verified on new stack)
Sentry error tracking + deployment integration
WebP image conversion, lazy loading
Critical CSS inlining
Schema.org Product markup
