Magento Rescue

Magento Rescue

Magento 2 Upgrade

Magento 2 Upgrade

Performance Optimization

Performance Optimization

Client

Artizo, Ukraine

Project timeline

2025 - now

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

A canonical Magento rescue — 70+ custom modules inherited from Brander preserved through a staircase upgrade from 2.3.5 to 2.4.8, with PHP 8 migration, OpenSearch transition, and Core Web Vitals passed on real user data. The methodology working end-to-end on a 10,000-SKU active business.

A canonical Magento rescue — 70+ custom modules inherited from Brander preserved through a staircase upgrade from 2.3.5 to 2.4.8, with PHP 8 migration, OpenSearch transition, and Core Web Vitals passed on real user data. The methodology working end-to-end on a 10,000-SKU active business.