На старом сайте Joomla ценность часто скрыта в расширениях, шаблоне и доработках, о которых уже некому рассказать. Перед обновлением важно выяснить, что они делают и с чем совместимы. Поэтому план начинается с копии и перечня рабочих сценариев, которые должны сохраниться после перехода.
Паспорт сайта: версия, окружение, доработки
Запись «у нас старая Joomla» мало помогает оценить работу. Нужны точная версия системы, версия PHP, тип и версия базы данных, название шаблона и список расширений. Отдельно отмечают фоновые задания и внешние сервисы.
У владельца спрашивают, какие особые функции есть на сайте: считает персональную скидку, скрывает часть каталога, собирает особый документ или отправляет заявку нескольким сотрудникам. Каждую такую функцию связывают с расширением или фрагментом собственного кода и записывают ожидаемый результат.
Особое внимание — изменениям внутри чужих расширений и ядра. Их нужно найти и сравнить с исходными файлами соответствующей версии, иначе обновление может заменить нужный код. Если история работ потеряна, исследование отличий становится отдельным этапом оценки.
Совместимость расширений и шаблона проверяют по отдельности
Для каждого нужного расширения составляют короткую запись: текущая версия, функция на сайте, поддержка целевой Joomla и PHP, порядок переноса настроек и данных. Сведения берут у разработчика расширения. Отсутствие сведений означает, что совместимость еще не подтверждена, а не что проблем точно нет.
Шаблон проверяют вместе с его измененными представлениями: карточками, меню, формами, выводом материалов. Совместимость стандартного шаблона не доказывает работоспособность собственных переопределений. Для каждой доработки нужен свой пример страницы или действия, по которому это можно проверить.
В результате у каждого элемента должно появиться решение: обновить, адаптировать код, заменить с переносом данных или удалить после согласования. Нельзя просто отключить несовместимое расширение и объявить задачу выполненной, если оно обслуживало нужную функцию. В документации перехода с Joomla 4 на 5 отдельно объяснено, почему сведения предварительной проверки зависят от разработчиков расширений и требуют дополнительной проверки.
Маршрут обновления Joomla зависит от исходной ветки
Переход между ветками — не одна и та же операция для любого сайта. Официальная инструкция миграции Joomla 3 на 4 начинается с Joomla 3.10.x. Для более ранней версии сначала нужен подготовительный переход к этой ветке; судьбу сторонних расширений разбирают отдельно.
Следующий участок также имеет свою исходную точку: обновление с Joomla 4 на 5 рассчитано на 4.4.x. А руководство перехода с Joomla 5 на 6 предполагает 5.4.x. Прямой скачок с Joomla 3 на 6 обещать нельзя.
Обновление PHP тоже включают в маршрут. Совместимость окружения проверяют для каждой промежуточной Joomla и нужных расширений: нельзя заранее переключить рабочий сервер на версию PHP, на которой старый сайт уже не работает. Порядок смены PHP и системы проверяют на копии, а в плане фиксируют контрольную точку после каждого перехода.
Если нужная функция не переживает очередной этап, сначала решают, как ее перенести. Желание «обновить Joomla до последней версии» не снимает ограничений собственного кода.
Как провести пробный переход на отдельной копии
Копия должна воспроизводить файлы, базу и существенные настройки рабочего сайта. Для нее выделяют отдельную базу данных и проверяют подключения: тестовый сайт не должен случайно писать в рабочую базу. Сначала на копии подтверждают исходные сценарии, затем начинают обновление — иначе старую ошибку легко принять за последствие перехода.
До запуска отключают реальные отправки писем, платежи, обмен с учетной системой и другие исходящие действия. Для испытаний используют тестовые получатели и режимы сервисов; если безопасного режима нет, действие блокируют и отдельно описывают способ его проверки. Копия не должна создавать настоящие заказы во внешней системе или отправлять посетителям повторные уведомления.
Пробный проход записывают: порядок, длительность этапов и ручные правки. После исправлений процедуру повторяют на свежей копии, чтобы проверить воспроизводимость. Одного успешного запуска вручную исправленной копии недостаточно.
Проверка сценариев: от страницы до результата
Главная страница подтверждает только часть работы. До испытаний согласуют список действий с ожидаемым результатом, включая используемые функции сайта:
- открыть важные разделы, карточки и результаты поиска, проверить мобильное меню;
- отправить тестовую форму, проверить сохранение данных и получение письма тестовым адресатом;
- пройти расчет стоимости или оформление тестового заказа, проверить суммы и статусы;
- проверить доступ к материалам для разных предусмотренных ролей;
- проверить передачу тестовых данных во внешнюю систему, если такой обмен используется.
Для каждой проверки записывают результат и найденное отличие. Ошибка в критичной функции блокирует переключение; допустимые изменения согласуют заранее. Проверяют и верстку: например, доступно ли поле формы на узком экране.
Отдельно сравнивают адреса важных страниц и переходы по старым ссылкам. При изменении структуры адресов нужен согласованный список перенаправлений; общие проверки описаны в материале о переносе сайта без потери SEO. Смотрят и журнал ошибок: успешный сценарий в браузере не исключает сбоев фоновой обработки.
Откат готовят вместе с учетом новых данных
До переключения сохраняют согласованный комплект файлов и базы данных на одну контрольную точку. Возврат только старых файлов поверх измененной базы не считается подготовленным откатом. В план также включают возврат нужной версии PHP и настроек окружения, если они менялись.
Архив нужно пробно восстановить и проверить, а не только убедиться, что он существует. Фиксируют, кто выполняет возврат, где лежит комплект, сколько заняло восстановление на испытании и по каким признакам принимается решение об откате. Например, не проходит заранее согласованный критичный сценарий, а исправление не укладывается в окно работ.
Самая неудобная часть — заявки, заказы и правки, появившиеся после контрольной точки. Простое восстановление старой базы их потеряет. Поэтому заранее выбирают порядок: кратко остановить прием новых данных на время переключения либо подготовить проверенный способ их учета и переноса. Если изменения уже накопились, перед возвратом их сохраняют и сверяют отдельно; слепое объединение двух баз здесь не подходит.
Окно переключения и приемка рабочей версии
Рабочую версию обновляют по проверенному плану в согласованное время. Перед стартом учитывают данные, накопившиеся за время испытаний, делают итоговую резервную копию и подтверждают готовность отката. Переносить давнюю тестовую базу поверх действующей без сверки новых записей нельзя.
После переключения повторяют критичные сценарии уже на рабочем адресе, проверяют настройки реальных интеграций и согласованную обработку заявок. Владелец подтверждает, что функции дают нужный результат: до этого задача остается открытой.
На приемке передают перечень версий, выполненных изменений, результатов проверок и оставшихся согласованных ограничений. Затем обновления включают в обычную поддержку сайта, чтобы следующий переход начинался с понятного состояния проекта. Для первичной оценки пришлите версию Joomla и перечень критичных функций.