От автора
Начал писать статью, как обновить Joomla 3 до Joomla 4 и понял, что в одной статье не смогу подробно рассказать о всех нюансах этого сложного обновления. Моё обновление сайтов Joomla 3.10.4 до Joomla 4.0.5 было непростым и проблемным, поэтому подготовка перехода Joomla 3 на Joomla 4 оказалась важна. Расскажу о своём опыте очередного перехода на мажорную версию Joomla.
Кстати, использование аббревиатур LTS (долгосрочная поддержка) и STS (краткосрочная поддержка) больше не актуально и разработчиками Joomla больше не используется.
Обновитесь до Joomla 3.10.5
Прежде всего вам нужно обновить свой сайт до последней версии Joomla. На сегодня это весрия 3.10.5. Она максимально готова для серьезного обновления системы до версии J!4.
Сделать это можно в автоматическом режиме из административной панели сайта на странице Компоненты>>>Обновление Joomla. Или, если у вас проблемы с автоматическим обновлением, скачать пакет обновления, перейдя по ссылке на той же вкладке, и обновить сайт вручную.
Проверьте системные требования для Joomla 4
Рекомендованные системные требования для работы Joomla 4 поменялись, однако минимальные требования к системе совпадают с предыдущей версией.
То есть , если ваш сайт 3.10.4 работал на PHP 7.4, то он будет работать на Joomla 4. Обратите внимание на вашу версию MySQL и проверьте её. Если ваш сервер построен на версии MySQL 5.10.1.48-MariaDB — это нормально. Если вы работали на PHP 7.4, то не нужно заранее переходить на версию PHP 8 оставайтесь на ней.
Продумайте схему обновления
Обновление сайта может занять длительное время. Чтобы ваш сайт на период обновления оставался рабочим, продумайте схему безопасного обновления. Вы можете обновить свой сайт по четырём схемам:
- На поддомене;
- В новой папке корневого каталога;
- На локальном сервере;
- На новом хостинге.
Подготовка перехода Joomla 3 на Joomla 4 на поддомене
Для этого создайте поддомен, он же субдомен, в административной панели своего хостинга. В каталоге вашего основного домена появится новая папка с названием субдомена. URL адрес сайта на поддомене будет poddomen.site.ru, где site.ru, ваш основной домен.
После этого перенесите резервную копию вашего сайта на поддомен. Создайте новую базу данных с новыми пользователем и перенесите в неё резерв базы данных.
Тем самым вы создадите рабочую резервную копию вашего сайта, которую можно безопасно обновить. Подготовка перехода Joomla 3 на Joomla 4 будет на поддомене будет безопасной. Это позволит не закрывать сайт на техническое обслуживание и спокойно тестировать обновление, по ходу исправляя ошибки.
Подготовка перехода Joomla 3 на Joomla 4 в новом каталоге
Можно сделать обновление в новом каталоге основного домена, это еще больше упростит задачу. Для этого через менеджер файлов на хостинге или по FTP (через FTP клиента) создайте каталог, например migration, в корневом каталоге вашего сайта. Затем в него нужно перенести резервную копию сайта. Создать новую базу данных с новым пользователем и импортировать в неё резервную копию базы данных сайта.
Так вы сможете безопасно проводить обновление сайта по адресу site.ru/migration, где migration та папка в которую вы перенести свой сайт. Это позволит не закрывать сайт на техническое обслуживание и протестировать обновление, по ходу исправляя ошибки.
Примечание: при переносе резервных копий не забывайте про изменения в файле configuraton.php
. В нём нужно указывать данные новой базы данных и новые пути до фалов log и tmp.
Подготовка перехода Joomla 3 на Joomla 4 на локальном сервере
Можно протестировать обновление вашего сайта на локальном сервере. Это работает, если вы использовали локальный сервер ранее и знаете совместимость его параметров с параметрами вашего хостинга. Осваивать локальный сервер с нуля для обновления хлопотно и не нужно.
Используйте новый сервер (хостинг)
Будьте готовы к тому, что ваш хостинг не сможет работать с Joomla 4. У меня была именно такая ситуация. При соответствии всех системных требований моего сервера, сайты никак не обновлялись до Joomla 4.
Пришлось пробовать обновление на другом хостинге, где тестовые обновления прошли успешно. После этого пришлось переносить сайты на новый хостинг.
Примечание: После удачного обновления на поддомене или в каталоге домена, вам останется удалить версию сайта 3.10.4 из основного домена и перенести туда обновленную версию Joomla 4 через резервное копирование сайта и базы данных.
Проведите генеральную чистку сайта
Рассмотрим вариант обновления сайта в каталоге основного домена. Для этого в корневой папке сайта создайте каталог, например, «migration». Создайте новую базу данных с новым пользователем. Перенесите в них резервную копию сайта 3.10.4 и базы его данных. Не забывайте при этом сделать изменения в файле configuraton.php
.
Теперь ваш сайт открывается еще и по адресу site.ru/migration (как пример), а панель открывается по адресу site.ru/migration/administrator.
При этом у вас есть резервная копия вашего сайта 3.10.5, её будем считать первой. Далее появится еще две резервные копии.
Основная подготовка перехода Joomla 3 на Joomla 4 заключается в тщательной генеральной чистки сайта в панели, каталоге migration и базы данных.
Чистка сайта 3.10.4 в административной панели
Разработчики Joomla создали новую страницу административной панели, на которой вы можете посмотреть, что вам нужно обязательно удалить на сайте перед обновлением. Чтобы эта страница заработала, вам нужно:
- Открыть страницу «Общие настройки»;
- Открыть вкладку «Обновление Joomla» из вертикального меню;
- Выбрать источник обновления «Joomla! Next».
После сохранения нового источника вам нужно перейти на вкладку Компоненты>>>Обновление Joomla. Здесь вы увидите все рекомендации, чтобы подготовка перехода Joomla 3 на Joomla 4 была успешной. На вкладке обновления вы увидите:
- В зеленых блоках информация для ознакомления.
- Оранжевым (желтым) выделены предупреждения, которые можно не исправлять, но лучше попробовать исправить.
- В красных блоках перечислены все опасные для обновления расширения. От них нужно избавиться.
Примечание: В рекомендациях официального сайта Joomla, указано, что расширения из «красной зоны» можно только отключить. У меня такое обновление не получилось. Пришлось все расширения из «красной зоны» удалять. Расширения из «зеленой зоны» на этапе обновления нужно отключить.
С серьезными компонентами вашего сайта придется поработать отдельно. Например, я использовал расширение ArtoJomSEF и мне пришлось:
- перейти на новую (современную) маршрутизацию (вкладка Общие надстройки>>>Материалы>>>Интеграция),
- включить перенаправление в настройках SEO (общие настроки),
- там же удалить
index
изurl
.
Плагин TinyMCE, также нужно удалить. Перед этим, в общих надстройках перейдите на режим «Без редактора».
На странице Шаблоны у вас должно остаться два шаблона: ISIS для панели и protostar для сайта. Остальные нужно удалить из панели и проверить удаление из каталога по FTP.
Напомню, что удалять расширения нужно на странице Расширения>>>Управление. Перебирать расширения нужно фильтром «Тип». Не забывать при этом и там же удалять ненужные библиотеки и пакеты. Ненужные пакеты удалять прежде всего.
Последим удалите языковые пакеты RU. Сделать это из административной панели у меня не получилось, даже после перехода на коробочный английский язык. Поэтому:
- сделайте вторую резервную копию сайта и БД;
- перейдите для чистки в каталог сайта (через FTP клиент).
Чистка каталога сайта через FTP клиент
Напомню, что мы чистим сайт, который мы перенесли в каталог migration. Откройте его по FTP.
Ваша задача пройти по всем каталогам сайта и удалить из них всё лишнее, накопившееся за время работы.
Начните с каталогов language и administrator/language. Удалите из них каталоги RU, и все другие языковые пакеты кроме en_GB
.
В каталоге templates и administrator/templates у вас должны остаться шаблоны protostar для сайта и ISIS для панели. Не удалите папку sistem и файл index
из каталога templates.
Далее проверяем каталоги: plugins, modules, components, content. Остатки удаленных ранее расширений нужно удалить вручную.
Если есть сомнения что удалять, то откройте во втором экране FTP клиента заранее скачанную и распакованную чистую версию Joomla 3.10.5 на своем компьютере. Сверяйте папки и каталоги этой чистой версии с каталогами вашего сайта.
Сделать ручную чистку базы данных
Не всякое удаление расширения из административной панели, удаляет соответствующую таблицу в базе данных. Поэтому нужно сделать ручную чистку базы данных через phpmyadmin. Не забываем, что мы чистим базу данных для сайта в migration. Для этого:
Войдите из панели своего хостинга в Инструмент phpmyadmin;
Сделайте отдельную резервную копию базы данных через инструмент «Импорт». Она обезопасит вас в случае неудачной чистки;
Откройте таблицу prefix_languages и удалите в ней строки русской локализации «RU». Остаться должна только строка en_GB
;
В таблице prefix_extentions удалите все данные тех расширений, которые вы удаляли из панели администрирования (если они есть);
Заново откройте базу данных (закройте открытую таблицу). Выделите чеки всех таблиц и внизу выберите действие «Восстановить». Это же действие можно сделать из панели администрирования сайта на вкладке управления расширениями. Восстановление таблиц базы данных действие не обязательное;
Обязательно проверьте работоспособность сайта после чистки базы данных. Контролируйте (периодически удаляйте) кеш вашего браузера и кеш сайта.
В административной панели сайта на вкладке Manage>>>Manager (теперь панель на английском языке) еще раз проверьте удаление всех ненужных и удаленных ранее расширений. После чистки базы данных из каталогов должны исчезнуть пакеты русской локализации и следы удаленных расширений (если они были).
Когда подготовка перехода Joomla 3 на Joomla 4 закончена, войдите на страницу Component>>>Joomla! Update.
- Теперь, на этой странице у вас не должно быть красных зон, то есть расширений у которых нет версий для новой Joomla 4.
- Все плагины перечисленные в зеленой зоне готовые к обновлению, но нужно (лучше) их отключить. Удалять их необязательно.
- Предупреждения желтого цвета на обновление не влияют (проверенно).
- Все предупреждения красного цвета нужно устранить обязательно.
- Завершаем подготовку перехода Joomla 3 на Joomla 4 на странице общих настроек. На вкладке Server включите режим отображения ошибок на maxsimum — это важно, так как позволит увидеть в браузере ошибки обновления.
- Сделайте третью резервную копию «чистого» сайта.
Вывод
Подготовка перехода Joomla 3 на Joomla 4 завершена. В итоге:
- Ваша административная панель сайта панель должна быть на английском языке.
- Шаблон сайта должен быть Protostar, шаблон панели isis.
- На странице Joomla! Update (на первой вкладке) не должно быть красных предупреждений.
У вас должны быть резервные копии сайта на разных этапах подготовки к обновлению. Они важны, так как даже после подготовки вы негарантированны от ошибок обновления. На некоторых сайтах я возвращался к прежней версии сайта по нескольку раз. Об этом в следующей статье.
©joomla-abc.ru
Еще статьи
- Sh404sef SEF компонент Joomla – зачем нужен, основной функционал
- Как проверить позиции сайта Joomla в выдаче Яндекс и Google
- Как удалить ссылку Artio JoomSef
- Компонент Artio JoomSEF – знакомство, зачем нужен, функционал
- Метки Joomla в оптимизации сайта
- Настройка названий и конфигурация мета-тегов Artio JoomSEF
- Общие правила SEO оптимизации на Joomla
- Проверка битых ссылок Joomla сайта программой XENU
- Работа с URL в Artio JoomSEF компоненте Joomla
- Склейка зеркал сайта Joomla, два способа
Похожие статьи
Локализация Joomla 3.X — как переве...
Локализация Joomla3.X это перевод системы на нужный вам язык. Из этой стать...
Установка Joomla на хостинг по FTP
В этой статье - установка Joomla на хостинг по FTP. Смотрим версию Joomla 2...
Фото галереи Joomla — обзор шести с...
На CMS Joomla продуман инструментарий для вставки отдельных фотографий в по...
Системный плагин loadmodule, вставл...
Системный плагин loadmodule входит в ядро Joomla. В статье я расскажу, как ...
Способы защиты сайта Joomla от неце...
Безопасность любого сайта постоянно находится под угрозой. По различным при...
Как добавить в модуль популярные ст...
В этой небольшой статье, с помощью редакции кода одного системного файла из...