Миграция Joomla с 3 на 6: обновление сайта за неделю
Здравствуйте, на связи Фёдор Васильев, я специалист по Joomla. Сегодня расскажу, как прошла миграция Joomla с третьей версии на шестую на примере реального сайта. При этом покажу, как я сохранил контент, адаптировал старый шаблон и подготовил результат к переносу на основной домен.
Зеркала на видео:
За этот проект мне заплатили 50 000 рублей, а работу я выполнил за одну неделю. В задачу входили обновление системы, перенос данных, настройка расширений и проверка сайта. Поэтому миграция Joomla потребовала работы с файлами, базой данных и кодом оформления.
Какая задача стояла перед обновлением
Заказчику было важно сохранить привычный сайт. Посетители должны были видеть знакомые разделы, фотографии и расположение элементов. Кроме того, администратору требовалась возможность продолжать публикацию материалов через привычный редактор.
На сайте использовались устаревший шаблон и расширения разных поколений. Поэтому миграция Joomla началась с проверки их совместимости. Для части компонентов подходили официальные обновления. Однако шаблон theme3095 и плагин Simple Image Gallery Pro потребовали отдельной адаптации кода.
Я заранее определил, что нужно проверить:
- Тексты статей, заголовки и категории.
- Фотографии и связи с галереями.
- Меню, адреса страниц и переходы.
- Позиции модулей и условия их показа.
- Комментарии и работу редактора.
- Резервные копии и последующие обновления.
Таким образом, миграция Joomla охватывала и внешний вид, и ежедневные действия администратора.
Резервная копия и локальная версия сайта
Сначала я развернул имеющийся бэкап на компьютере. Локальный сервер позволял открыть настоящий сайт в браузере и войти в административную часть. Благодаря этому изменения можно было проверять на полноценной копии с реальными материалами.
Для восстановления необходимы файлы сайта и база данных. В файлах находятся изображения, шаблон и программный код. В базе хранятся статьи, настройки, пользователи и связи между элементами. Поэтому миграция Joomla требует проверки обеих частей резервной копии.
Затем я сопоставил исходные данные с результатом переноса. Такая проверка помогает обнаружить пропущенные записи и отличить новые проблемы от старых. В результате миграция Joomla проходила с контролем сохранности содержимого на каждом важном этапе.
Переход с третьей версии на шестую
В этом проекте я последовательно прошёл версии Joomla 3 → Joomla 4 → Joomla 5 → Joomla 6.1.3. После каждого перехода проверял доступ к сайту, состояние базы и работу расширений. Поэтому возможные несовместимости удавалось разбирать до следующего обновления.
Отдельного внимания требуют плагины обратной совместимости. Перед переходом с Joomla 5.4 на шестую ветку старый плагин совместимости отключают, а Behaviour — Backward Compatibility 6 должен быть включён. Предварительно работоспособность расширений проверяют на тестовой копии. Этот порядок описан в официальной документации Joomla.
Таким образом, миграция Joomla зависит от готовности всего установленного программного обеспечения. Сам факт появления кнопки обновления ещё не подтверждает совместимость каждого компонента.
Проверка PHP и базы данных
Дополнительно я проверил копию на PHP 8.4 и MySQL 8.4. Эти версии указаны среди рекомендуемых в технических требованиях Joomla 6. Однако расширения также нужно проверять в выбранном окружении. Поэтому миграция Joomla включала запуск пользовательских сценариев после смены серверных версий.
Как я адаптировал старый шаблон
Установленный theme3095 не имел подходящего для нашей задачи готового обновления. При этом заказчик хотел сохранить оформление. Поэтому я адаптировал существующий шаблон кодом и проверил его работу на новой системе.
Такая миграция Joomla требует внимания к выводу материалов, подключению стилей и поведению модулей. Например, блок может оставаться опубликованным, но отображаться с неправильными отступами. Кроме того, отдельная страница иногда использует собственный вариант оформления.
Я проверил главную страницу, новости, контакты, карту сайта и поиск. Затем исправил обнаруженные различия в оформлении. В частности, восстановил кнопку прокрутки вверх и привёл навигацию страниц к нужному виду.
В результате миграция Joomla сохранила позиции модулей и узнаваемую структуру сайта. Это позволило обновить техническую основу без отдельного проекта по разработке нового дизайна.
Доработка Simple Image Gallery Pro
Отдельным этапом стала миграция Joomla в части галерей внутри материалов. Доступного обновления Simple Image Gallery Pro для нашего проекта не было. Поэтому я адаптировал установленный плагин кодом, сохранив существующие вставки фотографий.
При этом Simple Image Gallery Pro и JoomGallery выполняли разные задачи. Первый использовался для галерей в публикациях. Второй отвечал за отдельный фотокаталог. Поэтому проверять их нужно было раздельно.
После доработки я проверил отображение галерей и доступность связанных изображений. Кроме того, сопоставил данные фотокаталога с исходной копией. Так миграция Joomla учитывала и внешний вид фотоблоков, и сохранность записей.
Для изменённого вручную плагина дальнейшие обновления требуют проверки совместимости с доработками. Аналогичный подход нужен адаптированному шаблону.
Обновление компонентов и сохранение штатных обновлений
В ходе работы я обновил основные расширения:
- JCE — редактор материалов.
- Komento — систему комментариев.
- JoomGallery — фотогалерею.
- Kunena — форум.
- OSMap — карту сайта.
- Akeeba Backup — инструмент резервного копирования.
При этом миграция Joomla не требовала переписывать ядро системы. Для перечисленных расширений я использовал установочные пакеты разработчиков. Благодаря этому сохранился штатный механизм получения обновлений.
Однако доступность конкретного обновления зависит от разработчика, совместимости версии и действующей подписки, если она нужна. Поэтому миграция Joomla завершалась проверкой установленных компонентов в работе. Обновления в дальнейшем также стоит сначала проверять на копии сайта.
Какие ошибки я исправил при тестировании
Полная панель инструментов JCE
После обновления редактор иногда показывал только часть кнопок. Причиной оказалось поведение переключателя панелей в профиле JCE. Поэтому я изменил настройку профиля через штатный интерфейс.
Затем проверил форматирование, вставку ссылки и изображения, переключение между визуальным режимом и кодом. Дополнительно выполнил сохранение и повторное открытие материала. Таким образом, миграция Joomla включала проверку реальной работы редактора, а исправление обошлось без изменения его программных файлов.
Ошибка памяти на страницах разделов
На тестовом хостинге страницы «Главное» и «Новости» столкнулись с ограничением памяти 256 МБ. При этом в настройках сохранялся вывод большого количества материалов, а диагностика создавала дополнительную нагрузку.
Я воспроизвёл ситуацию локально и проверил настройки. Затем отключил режим отладки и запись уведомлений об устаревшем коде. В результате проверенные страницы стали открываться. Для этого случая миграция Joomla потребовала корректировки конфигурации.
Поиск, контакты и комментарии
Кроме того, я исправил отображение контактов и карты сайта. На странице поиска убрал лишние баннеры и поправил расположение навигации. Также привёл заголовки Komento к оформлению шаблона.
Поэтому миграция Joomla сопровождалась сравнением конкретных страниц с исходным сайтом. Именно такая проверка помогает заметить детали, которые легко пропустить при просмотре одной главной страницы.
Результат переноса в цифрах
После обновления я сопоставил основные группы данных. В результате миграция Joomla сохранила:
- 1 068 материалов с их содержимым.
- 19 915 записей фотогалереи.
- 141 пункт меню публичной части.
- 36 модулей сайта.
- 7 комментариев Komento.
- 3 учётные записи пользователей.
Кроме того, проверенная XML-карта сайта содержала 881 адрес. Это количество ссылок в конкретной карте сайта. Оно не равно общему числу всех возможных страниц.
В каталоге изображений комплект содержал 62 307 файлов, включая разные размеры и служебные изображения. Поэтому эту цифру нельзя считать количеством уникальных фотографий.
Также проверка выявила пять оригиналов, отсутствовавших уже в исходном бэкапе. Миграция Joomla сохранила записи о них, однако восстановление таких оригиналов требует другого источника. Эта деталь показывает, зачем сравнивать результат с исходной копией.
Подготовка сайта к переносу на хостинг
После проверок я подготовил два архива: файлы сайта и SQL-базу данных. Кроме того, проверил целостность файлового архива и восстановление итоговой базы.
На этом этапе миграция Joomla была выполнена на локальной и тестовой площадках. Комплект подготовлен к переносу на основной домен. Само переключение рабочего сайта требует отдельной проверки настроек хостинга.
Перед публикацией нужно:
- Сохранить свежую резервную копию рабочего сайта.
- Учесть новые материалы, появившиеся после исходного бэкапа.
- Развернуть файлы и импортировать подготовленную базу.
- Указать правильные параметры подключения в
configuration.php. - Проверить страницы и административную часть.
- Перестроить индекс внутреннего поиска.
- Проверить разрешение индексации основного домена.
Таким образом, миграция Joomla включает подготовку результата к эксплуатации. Финальные настройки зависят от площадки, где будет работать сайт.
Стоимость проекта и срок выполнения
За описанную работу я получил 50 000 рублей. На обновление, адаптацию и проверки ушла одна неделя. В эту задачу входили работа с контентом, настройка компонентов и исправление обнаруженных проблем.
При этом миграция Joomla на другом сайте может потребовать другого бюджета и срока. Например, влияют количество нестандартных расширений, состояние шаблона и полнота резервной копии. Поэтому объём работ нужно оценивать после осмотра проекта.
Для заказчика результатом стала проверенная копия сайта на Joomla 6.1.3. Кроме того, сохранились материалы, структура меню и привычное расположение модулей.
Итоги: что даёт миграция Joomla
Подводя итог, миграция Joomla позволяет обновить техническую основу существующего сайта и сохранить накопленный контент. В моём проекте удалось адаптировать старый шаблон и Simple Image Gallery Pro, обновить основные расширения и подготовить комплект для размещения.
Поэтому перед обновлением я начинаю с копии, проверки данных и списка компонентов. Затем последовательно переношу систему и тестирую важные страницы. Именно такая последовательность помогает получить результат, который можно проверить перед запуском на основном домене.
- Просмотров: 17







