Кейс: цифровая трансформация 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 месяцев за счёт скорости, безопасности и снижения затрат на поддержку.
Хотите обсудить миграцию вашего проекта? Читайте полный гайд по разработке сайтов в Казахстане или заполните бриф — расскажите о вашей ситуации, и я предложу оптимальное решение.
Проект выполнен в рамках партнёрства с АО «Казак газеттері». Все технические данные приведены с разрешения клиента.
