Назад к блогу
Кейсы·14 февраля 2026·Sayan Roor

Кейс: цифровая трансформация egemen.kz — флагмана медиахолдинга «Казак газеттері»

Как мы мигрировали egemen.kz с устаревшего PHP/Laravel на современный стек NestJS + Next.js + PostgreSQL без простоев, сохранив 212 000 статей и 430 ГБ медиафайлов и кейс сотрудничества с медиахолдингом «Казак газеттері».

KazakhstanMediaMigrationNestJSNext.jsCase Studyegemen.kz
Миграция медиапортала egemen.kz на Next.js и NestJS

Кейс: цифровая трансформация egemen.kz — флагмана медиахолдинга «Казак газеттері»

egemen.kz — крупнейший казахскоязычный новостной портал Казахстана, входящий в медиахолдинг «Казак газеттері». В 2026 году мы завершили полную миграцию платформы: с устаревшего PHP/Laravel на современный стек NestJS + Next.js + PostgreSQL + Docker.

Клиент: медиахолдинг «Казак газеттері»

«Казак газеттері» — государственный медиахолдинг Республики Казахстан, объединяющий крупнейшие казахскоязычные издания страны. Флагманский портал egemen.kz — один из самых посещаемых новостных сайтов Казахстана с аудиторией более 2 миллионов уникальных пользователей в месяц.

Что имели до начала работы

| Параметр | Значение | |----------|----------| | Платформа | PHP 7.1 + Laravel 5.8 (оба EOL) | | ОС сервера | CentOS 7.9 (EOL с июня 2024) | | СУБД | MySQL 5.7 — 5 ГБ данных, 17.8 ГБ RAM под неё | | Статьи | 212 408 публикаций на 5 языках | | Медиафайлы | ~430 ГБ (2 091 712 изображений + PDF) | | Аптайм сервера | 929+ дней без перезагрузки | | Диск | 93% заполнен (критически!) |

Ключевая проблема: Платформа работала на критически устаревшем стеке. PHP 7.1 получил последние патчи безопасности в декабре 2022 года. CentOS 7 стал EOL в июне 2024. Это означало: уязвимости без исправлений, невозможность установки новых пакетов, и нарастающий технический долг.

27 января 2026 произошёл незапланированный reboot сервера с потерей части файлов — это стало катализатором для немедленного начала миграции.

Задача: переход без простоев

Главное требование клиента — нулевой простой для редакторов и читателей. egemen.kz публикует 50-100 новостей ежедневно. Любой сбой напрямую влияет на политическую и общественную повестку страны.

Новая архитектура

| Компонент | Версия | Преимущество | |-----------|--------|-------------| | Ubuntu | 24.04 LTS | Поддержка до 2029 | | NestJS | 11 (Fastify) | 2× быстрее Express | | Next.js | 16 | SSR + React 19 | | PostgreSQL | 16 | Надёжнее MySQL, JSONB | | MinIO | Latest | S3-совместимое хранилище для 430 ГБ | | Docker | 27+ | Изоляция и воспроизводимость | | Redis | 7 | Кэширование, очереди |

Новые возможности, которых не было

  • Multi-tenant — несколько изданий холдинга на одной платформе
  • AI-модуль — автогенерация метатегов (GPT), автоподбор изображений (DALL-E)
  • RBAC — гибкие роли для 150+ редакторов
  • Мониторинг — Prometheus + Grafana + Loki
  • CI/CD — автодеплой через GitHub Actions
  • Полный аудит — история изменений каждой статьи

Стратегия миграции: параллельный запуск

Мы не делали «бросаем старое, включаем новое» — это гарантированный даунтайм. Вместо этого — параллельный запуск:

Неделя 1-2: Новый сервер работает параллельно
───────────────────────────────────────────
  Старый сервер (ЖИВОЙ)    ──rsync──▶   Новый сервер (тест)
  egemen.kz работает       ──dump──▶    Данные синхронизируются
  Редакторы публикуют                   Всё тестируется

День X (03:00-05:00): Переключение DNS
  1. Финальная синхронизация данных
  2. DNS: egemen.kz → новый IP
  3. SSL-сертификаты
  4. Проверка всех URL

Старый сервер оставался работать как резерв 14 дней после переключения.

Миграция данных: 212 000 статей

Самый сложный этап — конвертация из MySQL в PostgreSQL с изменением схемы:

Маппинг полей:

MySQL news.news_name_kk  →  PostgreSQL News.title.kk  (JSONB)
MySQL news.news_text_kk  →  PostgreSQL News.content.kk (JSONB, blocks)
MySQL news.news_url      →  PostgreSQL News.slug
MySQL news_rubric (таблица) → Prisma M2M relation

Для батчевой миграции написали TypeScript-скрипт (tsx) с обработкой 1000 записей за итерацию. Полная миграция 212 тысяч статей — 28 минут.

Медиафайлы (430 ГБ):

1# Фоновая синхронизация за 7 дней до переключения
2rsync -avz --progress root@old-server:/storage/image/ /media/image/
3# Финальная дельта в день миграции (только новые файлы)
4rsync -avz --progress --newer-than="168h" root@old-server:/storage/ /media/

После переноса — загрузка в MinIO (S3-совместимое хранилище) и настройка Nginx-редиректов для старых URL.

SEO-миграция: сохранили все позиции

egemen.kz имеет сотни тысяч проиндексированных страниц. Неправильная миграция URL = потеря всего SEO-трафика.

URL-маппинг:

| Старый URL | Новый URL | Код | |-----------|----------|-----| | /article/slug-12345 | /news/12345 | 301 | | /rubric/ekonomika | /category/ekonomika | 301 | | ru.egemen.kz/article/... | egemen.kz/ru/news/... | 301 | | admin.egemen.kz/* | egemen.kz/dashboard/* | 301 |

Настроили 301-редиректы через Nginx для всех паттернов. Уведомили Google Search Console о смене платформы. Через 72 часа после миграции — позиции стабильны, индексация продолжается в штатном режиме.

Если вам интересно, как правильно обеспечить безопасность серверной инфраструктуры при таких миграциях — читайте наш материал о безопасности веб-сайтов в Казахстане.

Результаты

| Метрика | До | После | |---------|-----|-------| | Time to First Byte | 1.8s | 0.4s | | PageSpeed (mobile) | 47 | 88 | | RAM на СУБД | 17.8 GB | 2.1 GB | | Диск (заполнение) | 93% | 38% | | Публикация новости | ~8 сек | ~1.2 сек | | Даунтайм при миграции | — | 0 минут |

О партнёрстве с «Казак газеттері»

Это не разовый проект — это долгосрочное технологическое партнёрство. В рамках сотрудничества:

  • Миграция egemen.kz — флагманский портал (завершена)
  • Разработка единой CMS-платформы — для всех изданий холдинга
  • AI-редакция — автоматизация рутинных задач журналистов
  • Аналитическая система — dashboard для руководства холдинга
  • Поддержка и развитие — ретейнер-контракт на 2026-2027

Медиахолдинг «Казак газеттері» стал нашим стратегическим партнёром в секторе казахстанских медиа. Это подтверждает наш подход к разработке: не просто сдать проект, а стать техническим союзником клиента.

Почему это важно для вашего бизнеса

Если у вас есть сайт на устаревшей платформе (PHP 5.x/7.x, WordPress без обновлений, 1С-Битрикс старых версий) — риски аналогичны:

  • Уязвимости без патчей
  • Невозможность масштабирования
  • Медленная работа, штрафы PageSpeed
  • Зависимость от одного разработчика

Современная архитектура — это инвестиция, которая окупается через 6-12 месяцев за счёт скорости, безопасности и снижения затрат на поддержку.

Хотите обсудить миграцию вашего проекта? Читайте полный гайд по разработке сайтов в Казахстане или заполните бриф — расскажите о вашей ситуации, и я предложу оптимальное решение.


Проект выполнен в рамках партнёрства с АО «Казак газеттері». Все технические данные приведены с разрешения клиента.

Sayan Roor

Full‑stack разработчик. Создаю веб‑приложения на Next.js и TypeScript с фокусом на производительность и конверсию.