Portfolio Web

mir-matrasov.kz

Live

For an Almaty factory that has been making mattresses since 2007, I rebuilt the old OpenCart site from scratch on a modern stack. I kept every existing URL and its search positions, and added three languages, a separate page for each of 11 cities, and automatic delivery of every enquiry to the CRM.

mir-matrasov.kz

The challenge

The client’s site ran on the outdated OpenCart 2.1 platform. The design was dated, it was hard to use on a phone, and every new feature was expensive to add. The site had about 230 URLs — product pages, categories and blog posts — already indexed by Google, so the new site could not lose a single link or change page titles and descriptions. The business does not take online payments: a manager calls to confirm each order. That is why every enquiry from the site had to reach amoCRM without loss and together with its source.

What I did

  • Rebuilt the site and kept all ~230 URLs of the old site unchanged, so search positions were not lost; where needed I set up 301 redirects (rules that automatically send an old address to the new one).
  • Built an admin panel: the client changes prices, promotions, products and blog posts without a developer.
  • Connected every form to amoCRM — cart, one-click order, callback and the mattress quiz. Each enquiry arrives with its ad source, so the manager sees which ad the customer came from.
  • Launched the site in three languages — Russian, Kazakh and English — including the catalogue and blog, and made a separate page with delivery terms for each of 11 cities.
  • Set up a Google Merchant product feed (the product list Google uses for shopping ads) and moved 142 real customer reviews from 2GIS to the site as a trust signal.
  • Ran a security audit and closed the weaknesses found — for example, the order price is now always calculated from the catalogue, never trusted from the browser.

Results

  • Google Search clicks up 25% over the last 3 months vs the previous 3 (2,280 → 2,850); impressions 130k → 158k; average position 10.3 → 9.7 (Search Console).
  • 17,500 impressions in Google Search’s generative AI features over 3 months; daily impressions rose from about 150 to 250–300 (Search Console, 18 Jul – 16 Oct 2026).
  • PageSpeed Insights: 100 in every category on mobile and desktop.
  • Russian, Kazakh and English versions, 11 city pages and a three-language blog are live.
  • Every enquiry from the site lands in amoCRM automatically, together with its ad source.

Technologies

  • Next.js
  • Payload CMS
  • PostgreSQL
  • Tailwind CSS
  • amoCRM
  • GitHub Actions
  • Technical SEO
Visit site
Get a quote