Миграция Joomla 3 на 4 и 5: чек-лист перед продакшеном
Переход с Joomla 3 на 4 и 5 нельзя свести к одному нажатию в панели. Проверьте расширения, шаблон, PHP, базу, URL и откат на копии сайта — иначе обновление закончится ошибками уже после запуска.

Миграция Joomla 3 на 4 и затем на 5 проходит без аварий только после проверки расширений, шаблона, PHP и резервного восстановления. Для рабочего сайта безопасный маршрут выглядит так: Joomla 3.10 на копии, затем Joomla 4.4, проверка, и только после этого Joomla 5. На подготовку стенда и одну полноценную репетицию обычно уходит больше времени, чем на само обновление.
Какой маршрут выбрать
Прямой переход с Joomla 3 на Joomla 5 не должен быть планом миграции. Joomla 3 и Joomla 4 отличаются структурой расширений, шаблонов и ряда API, а Joomla 5 рассчитана на переход с актуальной ветки Joomla 4. Поэтому сначала нужно пройти этап Joomla 4, исправить несовместимости и только потом обновляться до Joomla 5.
| Подход | Когда применять | Цена решения |
|---|---|---|
| Обновление на копии сайта | Почти всегда, как основной сценарий | Нужно настроить отдельный стенд и повторить перенос изменений |
| Новый сайт и перенос контента | Старый шаблон или расширения заброшены | Дороже по времени, зато меньше наследуемого мусора |
| Обновление прямо на продакшене | Только для небольшого сайта с полным откатом | Короткое окно работ, но высокий риск простоя и потери изменений |
Для большинства корпоративных сайтов выбирайте первый вариант. Если Joomla 3 используется много лет, а в списке расширений есть неизвестные или давно не обновлявшиеся компоненты, сравните его со вторым сценарием.
Главный критерий готовности — не зелёный экран обновления, а восстановление копии, рабочие формы и подтверждённые URL на стенде.
Что проверить до начала
1. Зафиксируйте исходное состояние
Составьте короткий паспорт сайта: версия Joomla 3, версия PHP, тип и версия базы данных, размер файлов и базы, список доменов, языков, cron-задач, интеграций и административных пользователей. Сохраните список активных расширений с версиями и отметьте, какие из них отвечают за авторизацию, платежи, формы, SEO и резервное копирование.
- Сделайте полный архив файлов и отдельный дамп базы данных.
- Проверьте, что архив можно скачать и распаковать.
- Зафиксируйте текущие URL ключевых страниц, код ответа и метатеги.
- Сохраните настройки веб-сервера, PHP и заданий cron.
- Проверьте дату последнего успешного резервного восстановления, а не только дату создания архива.
Проверка результата: из резервной копии поднимается отдельная копия сайта, а главная страница, вход в админку и тестовая форма работают.
2. Подготовьте стенд с теми же ограничениями
Стенд должен использовать ту же версию PHP, тип базы и близкие настройки веб-сервера, что и продакшен. Защитите его от индексации через HTTP-авторизацию или другой механизм доступа. Не подключайте к стенду боевые платежи, рассылки и внешние webhook-адреса: после копирования данных он может начать отправлять реальные письма и заявки.
Проверьте права на запись в каталоги, лимиты загрузки файлов, размер POST-запроса и доступ PHP к нужным расширениям. Версия PHP для Joomla 5 должна соответствовать требованиям конкретного релиза; минимальные требования менялись, поэтому перед работой сверяйте их с официальной документацией Joomla, а не только с настройками текущего хостинга.
3. Проведите аудит расширений и шаблона
Для каждого компонента, модуля, плагина и шаблона найдите версию с поддержкой Joomla 4, а затем Joomla 5. Обновление расширения только на продакшене — плохой способ проверить совместимость: оно может изменить таблицы базы, маршрутизацию или вывод материалов.
- Удалите неиспользуемые расширения, а не просто отключите их.
- Проверьте, есть ли у разработчика ветка для Joomla 4 и Joomla 5.
- Уточните, поддерживает ли шаблон Bootstrap и механизм шаблонов нужной версии.
- Отдельно протестируйте расширения с собственными полями, меню, SEF-URL и AJAX-запросами.
- Замените заброшенное расширение до миграции или подготовьте перенос его данных.
Проверка результата: для каждого установленного расширения есть подтверждённая версия, план обновления или решение об удалении. Строка «должно заработать» планом не считается.
Репетиция перехода на Joomla 4
Начинайте с последнего доступного обновления Joomla 3.10.x и актуальных совместимых расширений. Перед запуском миграции включите режим обслуживания на стенде, очистите кэш и сохраните новый дамп базы. В панели Joomla проверьте предупреждения о совместимости и рекомендации обновления. Если система предлагает обновить расширение или исправить несовместимость, сначала выполните это на копии.
Порядок проверки после обновления
- Вход и права. Войдите под обычным администратором и под пользователем с ограниченной ролью. Проверьте, что группы и доступ к материалам сохранились. Результат: каждый пользователь видит только разрешенные разделы.
- Шаблон и меню. Откройте главную страницу, материалы, категории, поиск, контакты и страницу 404. Результат: нет предупреждений PHP, пустых блоков и сломанных меню.
- Формы и интеграции. Отправьте тестовую заявку, проверьте письмо, CRM, webhook и загрузку вложения. Результат: запись появляется в нужной системе, а тестовые уведомления не уходят реальным клиентам.
- URL и SEO. Сравните контрольный список старых адресов с новыми, проверьте canonical, robots.txt, sitemap и редиректы. Результат: ключевые URL отвечают ожидаемым кодом, а внутренние ссылки не ведут на старую структуру.
- База и фоновые задачи. Проверьте создание материала, публикацию по расписанию, cron-задачи и резервное копирование. Результат: новая запись сохраняется, задача выполняется, архив создаётся.
После первого прохода очистите кэш Joomla и серверный кэш, затем повторите проверку в приватном окне браузера. Это ловит ошибки, которые скрываются в старом HTML или сессии администратора.
Переход с Joomla 4 на Joomla 5
На Joomla 5 переходите только после обновления Joomla 4 до поддерживаемого релиза, совместимого с миграцией на 5. Убедитесь, что расширения и шаблон имеют отдельное подтверждение поддержки Joomla 5: совместимость с Joomla 4 сама по себе её не доказывает.
Особое внимание уделите расширениям, которые используют устаревшие PHP-вызовы, старые классы Joomla и собственные плагины. После обновления проверяйте не только публичную часть, но и сохранение материалов в админке: несовместимость часто проявляется при открытии формы редактирования или сохранении поля.
Что ломается чаще всего
- Белая страница или HTTP 500. Обычно требуется посмотреть журнал PHP и отключить несовместимое расширение на копии. Не удаляйте его файлы вслепую.
- 404 после обновления. Проверьте меню, алиасы, настройки SEF и правила веб-сервера. Массово менять URL без таблицы старых адресов опасно для поискового трафика.
- Пропавший вывод модуля. Сравните позиции шаблона и условия показа: новый шаблон может использовать другие имена позиций.
- Не отправляются письма. Проверьте SMTP, DNS домена отправителя, журнал почты и ограничения хостинга. Смена Joomla не заменяет настройку почтовой доставки.
- Не сохраняются материалы. Ищите ошибку в журнале PHP, конфликт плагинов и ограничения базы. Тестируйте сохранение с отключением только одного подозрительного расширения за раз.
Совместимость — это способность расширения корректно работать с конкретной версией Joomla и PHP, а не просто наличие кнопки «Установить» в панели.
Финальный чек-лист перед продакшеном
За день до окна работ остановите публикацию контента или определите момент, после которого изменения будут переноситься вручную. Иначе новые материалы на продакшене потеряются при замене базы стенда.
- Есть свежий дамп базы и архив файлов, проверенные восстановлением.
- Есть записанный план отката: кто выполняет, из какого архива, в каком порядке и сколько длится окно.
- Все расширения и шаблон проверены на целевой версии Joomla.
- Отключены боевые платежи, рассылки и webhook на стенде.
- Проверены авторизация, формы, поиск, загрузки, меню, URL, sitemap и 404.
- Сняты контрольные значения: размер базы, число материалов, пользователей, категорий и медиафайлов.
- Согласовано время миграции и назначен человек, который принимает решение об откате.
На продакшене включите режим обслуживания, сделайте финальный бэкап и повторите только проверенный сценарий. После запуска смотрите журналы PHP и веб-сервера, ошибки 4xx и 5xx, отправку форм, входы пользователей и изменения времени ответа. Не удаляйте старую копию и не обновляйте сразу все расширения «заодно».
Что делать дальше
Сначала проведите одну полную миграцию на стенде и измерьте продолжительность каждого этапа. Затем составьте таблицу старых и новых URL, настройте мониторинг ошибок и договоритесь о сроке хранения резервной копии. После стабилизации Joomla 5 отдельно проверьте обновления расширений и PHP: миграция закончилась, но поддержка сайта продолжается.
Тендерный специалист 44-ФЗ / 223-ФЗ: Разбор PDF-документации закупки, поиск «заточек» под поставщика, чек-лист заявки.
Спросить за 20 ₽Источники: Joomla Documentation: Upgrade and Migration, Joomla Documentation: Technical Requirements
Частые вопросы
Можно ли перейти с Joomla 3 сразу на Joomla 5?
Нужно ли обновлять все расширения перед миграцией?
Что делать, если после миграции появилась белая страница?
Сохранится ли структура URL?
Что будет, если не сделать резервную копию?
Как понять, что сайт готов к продакшену?
Материал носит информационный характер и подготовлен редакцией «Агентуры». Он не является офертой, рекламой или индивидуальной консультацией. Упомянутые продукты, компании и торговые знаки принадлежат их правообладателям. Перед принятием решений, влекущих юридические или финансовые последствия, обратитесь к профильному специалисту.