Миграция (переход) с Joomla 3 на Joomla 4 шаг за шагом

Миграция с Joomla 3 на 4

Сейчас мы с вами на реальном примере рассмотрим процесс обновления CMS Joomla с третьей версии до самой последней на сегодняшний день — 4-ой версии. Но прежде чем приступать к описанию миграции, я хочу подчеркнуть один очень важный нюанс: чтобы не потерять свой сайт, все действия нужно производить либо на локальном сервере, либо на тестовом домене, или поддомене. И только потом, в случае успешной миграции, можно переносить сайт на основной домен.

Вообще, переход с Joomla 3.10.x на 4.x считается мини-миграцией или незначительной миграцией. Это означает, что базовые расширения Joomla будут обновляться с помощью «обновления в один клик», но сторонние расширения спорны и должны применяться в каждом конкретном случае.

Здесь важно подчеркнуть, что обновить CMS Joomla до 4-й версии можно только если текущая версия вашей системы управления содержимым 3.10, или более поздняя. Если же у вас более ранняя версия CMS, например Joomla 3.9, то сначала нужно обновиться до версии 3.10 и только потом мигрировать на 4-ю.

Какие действия нужно предпринять до обновления с Joomla 3 на Joomla 4

  1. Убедитесь, что ваш сайт работает под управлением CMS Joomla 3.10.x.
  2. Убедитесь, что ваш сервер соответствует минимальным техническим требованиям для Joomla 4. Если не соответствует, то вам нужно будет сменить хосты.

    Системные требования для Joomla! 4.x

    Программное обеспечение Рекомендованные требования Минимальные требования
    PHP 8.0 7.2.5
    Поддерживаемые базы данных
    MySQL 5.6 + 5.6
    Поддерживаемые веб-серверы
    Apache 2.4 + 2.4
    Nginx 1.18 + 1.10
    Microsoft IIS 10 + 8
  3. Выберите среду разработки (как вы и где вы будете производить обновление). Возможны три варианта:
    • Первый вариант — обновление будет производиться на локальном устройстве. По-моему, это самый оптимальный вариант. Ведь вам не нужно платить ни за хостинг, ни за домен. Сначала вы переносите базу данных и все файлы своего сайта с хостинга на локальный сервер, после этого обновляете версию CMS, и потом загружаете обратно на хостинг уже обновленный сайт и его базу данных.
    • Второй вариант — создать поддомен, перенести туда ваш текущий сайт и произвести обновление. Это тоже нормальный вариант при условии, что ваш тарифный план на хостинге позволяет создавать более одной базы данных. Ведь для переноса сайта на поддомен, вам нужно будет создавать и отдельную базу данных под новый сайт. И на этом этапе нужно быть очень внимательным и правильно внести изменения в файл конфигурации нового сайта — configuration.php. Потому что, если вы оставите этот файл без изменений (например, забудете), или неправильно что-то запишите (например, не поменяете имя базы данных), то есть риск того, что при миграции будет изменена база данных основного сайта. Вот почему я всё же рекомендую производить обновление на локальном веб-сервере.
    • Третий вариант — создать новую учетную запись на хостинге. Например, из-за технических характеристик, ваш сайт не может быть размещён на том, или ином сервере.
  4. Составьте список всех используемых сторонних расширений. Сюда входят компоненты, модули, плагины, языки и шаблоны. Посмотрите, какие расширения вам нужны, а какие нет. Удалите ненужные расширения и включите те расширения, которые вы решили оставить.
  5. Определите, готовы ли сторонние расширения, на которые вы располагаете, для версии Joomla, на которую вы переходите. Сделать это можно выбрав опцию Joomla Next (после запуска Joomla 3.10.x) в настройках компонента «Обновление Joomla» (Компоненты → Обновление Joomla → Сервер обновлений выбираем Joomla! Next и жмём Сохранить, или Сохранить и закрыть). Само обновление не запускайте. Просто посмотрите совместимы ли ваши расширения с Joomla 4. Так вы поймёте, какие расширения придётся удалить, или заменить, а какие можно будет оставить. Что нам покажет программа проверки перед обновлением до Joomla 4:
    • Верхняя часть проверки перед обновлением показывает, совместима ли ваша текущая серверная среда с текущей целевой версией Joomla как для требуемых настроек PHP, так и для настроек базы данных. Здесь очень важно проверить, не отображается ли что-нибудь красным. Если да, то значит этот параметр несовместим с Joomla 4.x и вам нужно поговорить со своим хостинг провайдером, или сменить хост перед переходом на Joomla 4.x.
    • Далее идёт «Проверка расширений перед обновлением». В красном блоке перечислены расширения которые пока еще не поддерживают систему обновлений Joomla или, по крайней мере, не имеют тега targetplatform, который указывает на поддержку выбранной целевой версии Joomla. Вам нужно обратитесь к разработчику перечисленных здесь расширений, чтобы убедиться в том, что они совместимы с Joomla 4.x. В оранжевом блоке перечислены расширения, которые требуют обновления для правильной работы в Joomla 4.x. Рекомендуется связаться с разработчиком перечисленных здесь расширений, чтобы узнать, нужно ли вам обновлять компонент до или после обновления CMS.
  6. Определите, действительно ли вам нужны все расширения, которые вы сейчас используете. Ведь может быть такое, что в Joomla 4 появились встроенные функции, которые могут исключить использование определённых сторонних расширений.
  7. Взгляните на свои категории и статьи. Подумайте, может нужно выполнить очистку, чтобы не перенести при миграции ненужный контент?
  8. Проверьте свой шаблон. Если вы приобрели шаблон из стороннего источника, то узнайте выпущена ли для него версия подходящая для Joomla 4.x? Есть ли способ обновления, опубликованный разработчиком? Будьте внимательны! Основной шаблон для Joomla 3.x, Protostar НЕ совместим с Joomla 4. После миграции он исчезнет.
  9. Если вы планируете менять шаблон сайта на новый, то подумайте, потребуются ли для этого новые изображения? Например, если ваш текущий сайт имеет белый фон, а ваш логотип или другие изображения представляют собой изображения .jpg с белым фоном, то будут ли они также хорошо смотреться на новом шаблоне (если у нового шаблона будет другая цветовая гамма).
  10. Обязательно подумайте, если вы измените дизайн, или внесете изменения в навигацию своего сайта, появятся ли у вас какие-нибудь страницы, для которых потребуется перенаправление? Если да, то задокументируйте их.
  11. Корзина должна быть пустой. Поэтому, если на вашем сайте в корзине есть какие-нибудь материалы, то их нужно удалить (и любые соответствующие медиа файлы, которые могут быть связаны с этими материалами, если они не используются где-либо еще на сайте). Оставленные в корзине материалы (категории и пункты меню) могут вызвать проблемы во время миграции. Чтобы удалить материалы с корзины выполняем следующие действия: Материалы → Материалы → Инструменты поиска → Выбор состояния (В корзине). Так выбираем все материалы в корзине и удаляем их.
  12. Если вы в прошлом перешли с Joomla 2.5 на 3.x, то могут быть некоторые оставшиеся расширения, которые необходимо очистить. Ниже приведены более старые расширения 2.5 или 3.x, которые необходимо удалить перед обновлением до Joomla 4:
    • plg_content_geshi
    • Bluestork Administrator Template
    • Beez_20
    • Beez5
    • Atomic

Переход с Joomla 3 на Joomla 4 шаг за шагом

  1. Создайте новую базу данных (БД) для сайта, который вы будете обновлять и импортируйте в неё все таблицы из текущей БД вашего сайта.
  2. Скопируйте все файлы старого сайта на новый.
  3. Подключите в файле configuration.php базу данных, которую вы создали ранее.
  4. Войдите в административную панель сайта, который вы хотите обновить.
  5. Убедитесь в том, что на сайте установлена последняя версия CMS Joomla 3.10.x.
  6. Убедитесь в том, что все установленные расширения совместимы с Joomla 4.x. Желательно, чтобы проверка перед обновлением до Joomla 4 не высвечивала вообще никаких ошибок и замечаний.
  7. Перейдите в раздел Система → Общие настройки → вкладка Сервер и установите для параметра Сообщения об ошибках значение Максимальный. Не забудьте сохранить и закрыть.
  8. Перейдите в Компоненты → Обновление Joomla.
  9. Здесь вы увидите установленную версию Joomla, последнюю версию Joomla! и URL-адрес пакета обновления. CMS снова покажет вам требования для Joomla 4. Если окажется, что у вас несовместимая система или расширения, то здесь вы увидите соответствующее сообщение. Если обновление не отображается, перейдите в Диспетчер расширений (Расширения) → Управление и нажмите Обновить кеш на панели инструментов. Теперь обновление Joomla! 4 должно появиться.
  10. На всякий случай можно сделать ещё одну резервную копию файлов сайта и базы данных, чтобы не повторять проделанные подготовительные этапы в случае неудачного обновления CMS.
  11. Нажмите кнопку Установить обновление.
  12. Ждите, пока строка состояния станет полностью зеленой. Время, которое на это потребуется, зависит от вашего сайта, интернет-соединения и скорости сервера. Как правило, процесс занимает около двух минут. Когда обновление будет завершено, вы, вероятно, выйдете из системы администратора. Войдите вновь. Дважды.
  13. Если все пройдет хорошо, вы получите совершенно новый вид панели администратора сайта.

Что нужно сделать после перехода с Joomla 3 на Joomla 4

  1. Перейдите в Расширения → Расширения → Проверка базы данных и нажмите Исправить, если появятся какие-либо ошибки.
  2. Перейдите в Расширения → Расширения → Обновление и посмотрите, есть ли какие-либо расширения для установки. (Здесь ничего не должно быть!)
  3. Перейдите на внешний интерфейс своего сайта и посмотрите, отображается ли он, даже если это не тот шаблон. Если да, продолжайте. Если нет, просмотрите распространенные ошибки во время миграции https://docs.joomla.org/Joomla_3.10_to_4.x_Common_Migration_Errors
  4. Установите и настройте новый шаблон сайта, если это нужно. Или используйте стандартный основной шаблон Joomla 4.
  5. Запустите программу проверки неработающих ссылок и исправьте все битые ссылки.
  6. Протестируйте сайт.
  7. Если все работает, как нужно, верните для отчета об ошибках значение по умолчанию для системы («Система» → «Общие настройки» → вкладка «Сервер»). Не забудьте сохранить и закрыть.
  8. Перенесите обновлённый сайт на хостинг.
  9. Удалите все сайты разработки, с которыми вы работали, или поддерживайте их в актуальном состоянии, если на них установлена текущая версия, чтобы предотвратить попытки взлома вашего сервера. Я рекомендую сохранить на компьютер и старый сайт с CMS Joomla 3 (на случай если всё-таки вы заметите, что миграция прошла не совсем гладко), и новый уже проверенный с CMS Joomla 4.

Что важно знать переходя с Joomla 3 на Joomla 4

Примечания к поиску (com_search)

Поиск (com_search) будет отключен в Joomla 4.x. Несмотря на это, Поиск (com_search) перейдет на Joomla 4. Поэтому после миграции вам нужно будет обновить его до версии Joomla 4.x через com_installer. Этот поиск будет по-прежнему поддерживаться, но точно так же, как стороннее расширение, получая обновления через com_installer. В дальнейшем рекомендуется использовать интеллектуальный поиск (com_finder).

Примечания к веб-ссылкам

Веб-ссылки были отделены еще в Joomla 3.4. Если этот компонент использовался на сайте версии 2.5, процесс миграции заметит это и перенесет его и данные веб-ссылок. При переходе с 3.10.x на 4.x все будет так же. Он по-прежнему доступен и поддерживается в JED на официальных расширениях.

Примечания по устаревшей маршрутизации

Устаревшая маршрутизация не будет доступна в Joomla 4.x. Будет доступен только модерн. При выполнении миграции, если вы используете устаревшую маршрутизацию, система автоматически поменяет ссылки на современную маршрутизацию. Нужно будет запустить проверку битых ссылок на своем сайте после перехода на Joomla 4.x.

АВТОРИЗАЦИЯ