← all cases
case study · Astana · May 2024 — June 2025

Courstore — migrating an online course platform

A live WordPress platform moved to Vue 3 + Nuxt 3 — without stopping sales or losing SEO. One of the lead developers of the migration.

Vue 3Nuxt 3PiniaPHP (WordPress)Nginx
screenshot · course catalog at app.courstore.com

The task

The platform sells courses and runs every day — it cannot be stopped for a move. The frontend had to migrate from WordPress to Vue 3 + Nuxt 3 while keeping SEO traffic and every payment flow.

Scale context: the platform integrates with Kaspi, took third place at the Glovo Startup Competition and made the top 15 of the Silkway Accelerator by Google and Astana Hub. These are product metrics — the backdrop of the work.

What was hard

01

Migrating without stopping the product

WordPress and Nuxt ran in parallel: pages moved in groups, with Nginx routing traffic between the old and new frontends. A routing mistake would cost real sales — every group was verified before the switch.

02

SEO through a rendering change

Search traffic is part of revenue. SSR on Nuxt was set up so crawlers see full pages, not an empty SPA root. Metadata and URL structure survived the move.

03

Telegram WebApp

The in-Telegram version is a separate environment with its own constraints: viewport, navigation, auth. The WebApp version of the platform was optimized for those limits.

What was done

  • Frontend migrated from WordPress to Vue 3 + Nuxt 3
  • SSR for SEO, URL structure preserved
  • Telegram WebApp version optimized
  • State on Pinia, product analytics wired in

The result

+64%

performance gain after the migration — a measured personal result

The platform’s own numbers — clients, courses, students — belong to the product and its team; here they serve only as scale context.

A similar task?

Migrating a live platform, SSR, integrations — let’s talk.

Discuss a project
Asanali · Astana2026 · built without a site builder