- Краткая предыстория сайта.
- До обновления.
- Обновление.
- После обновления Joomla.
- Затраты по времени, деньгам и итоги обновления.
В планах разработчиков Джумла 3-я версия будет поддерживаться до 17 августа 2023 года. Думаю, что большинство разработчиков сторонних шаблонов и расширений тоже будут придерживаться примерно этих сроков. В связи с этим я уже рассматривал данный вопрос с разных сторон в предыдущих материалах на сайте: «Обзор Joomla 4 (часть 1). Что нового по сравнению с 3-й версией», «Обзор Джумла 4 (часть 3). Что нового и стоит ли на неё переходить», «Обзор Joomla 4 (часть 5). Переход с Joomla 3 на Joomla 4», «Когда, зачем и как нужно обновлять сайт. На примере Joomla».
Свой основной сайт Aleksius.com уже обновил до Joomla 4 и продолжаю вести работы, связанные с устранением разных «проблем». На очереди два других сайта Aleksius.biz и Magazin.aleksius.com. Второй работает на VirtueMart 3.
В статье поделюсь основными этапами, которые я прошёл в ходе обновления сайта Aleksius.com. По большому счёту это теоретическая статья без пошаговых конкретных инструкций, применяемых ко всем сайтам. Статья написан 10.12.2022.
У меня уже есть опыт обновления клиентских сайтов с Joomla 2.5 до 3 и с 3 до 4. Каждый сайт «уникальный». На нём установлена своя версия Joomla в сочетании со своими расширениями разных версий, с разными настройками, на разных хостингах с разными версиями серверного программного обеспечения. На некоторых сайтах есть самописные расширения или сильно изменённые расширения. Поэтому каждый раз процесс обновления достаточно сильно отличается.
Краткая предыстория сайта
Сайт Aleksius.com был выложен в интернет в январе 2010. Изначально он был сделан на Joomla 1.5 с шаблоном, который сделан в Artisteer (в этой статье даже сохранились скриншоты одной из первых версий шаблона сайта). С самого начала на сайте был установлен компонент комментариев Ccomment (тогда он назывался Compojoom comment).
Затем создал новую версию сайта на Joomla 1.6 и вручную перенёс все материалы, комментарии и т.д.. Простого обновления не было, а о сторонних расширениях для миграции я тогда не знал. Плюс, контента было мало, а свободного времени и желания учиться работать с Джумлой много.
После «ручного обновления» с 1.5 до 1.6 регулярно проводил обновления внутри версий и с версии на версию до 1.7, 2.5, 3.0, 3.1 и т.д. вплоть до Joomla 3.10. В 2015 году (Joomla 3.4) я перешёл с «самодельного» шаблона Artisteer на готовый шаблон JM Job Listings от Joomla-monster.com (сейчас это Dj-extensions.com). С этим шаблоном сайт работал примерно до ноября 2022.
Параллельно с обновлениями Joomla на сайте появлялись, обновлялись и менялись разные расширения (это основные из них):
- AcyMailing. E-mail рассылка.
- Akeeba Backup. Резервное копирование.
- Attachments. Вложения файлов.
- Ccomment. Комментарии.
- DJ-MegaMenu. Меню.
- JCH Optimize. Оптимизация скорости загрузки сайта.
- JChatSocial Enterprise. Чат.
- JM Job Listings. Шаблон.
- JSitemap PRO. Карта сайт.
- RSFirewall. Защита от взлома.
- SEO Glossary. Глоссарий.
- sh404SEF. Генерация URL адресов и SEO.
В среднем, проводил от 6 до 20 «крупных» обновлений сайта в год. Вначале у меня было меньше опыта, больше времени и я обновлял Joomla и её расширения почти сразу после их появления на сайтах разработчиков. С опытом понял, что обновления могут привести к проблемам, причём таким, которые могут быть обнаружены спустя несколько дней. Постепенно отработал «безопасную», но не быструю, методику обновления, которой пользуюсь до сих пор.
До обновления
В Joomla 3.10 встроен инструмент проверки совместимости с 4-й Джумлой. До запуска этого инструмента проверил сайты всех разработчиков расширений и шаблонов, которые использовал. С некоторыми разработчиками пришлось списываться лично. Выяснил, что ряд расширений их разработчики не планируют адаптировать для работы с Joomla 4. Например:
- Attachments.
- JM Job Listings.
- sh404SEF.
На сайте у меня был около 920 файлов в 170 материалах в виде вложений. Все они были добавлены на сайт при помощи компонента Attachments. Проанализировав альтернативы, решил перейти на Dropfiles. К сожалению, пришлось вручную перенести все файлы с Attachments в Dropfiles. На это, а также настройку нового компонента, было потрачено около 20 часов работы. Это я сделал ещё на Joomla 3.
Вместо шаблона JM Job Listings был выбран Binv. Выбирал на основании таких критериев. На поиск, сравнение, настройку и написанию CSS стилей для шаблона и всех расширений сайта, для их более гармоничного сочетания было потрачено около 30 часов. И это с учётом того, что часть «уникальных» стилей скопировал с предыдущего шаблона. Также не стоит забывать про цену годовой лицензии – 59$. До сих пор я нахожу и поправляю стили, чтобы сайт выглядел так, как хочу. Это выполнялось уже на Joomla 4.
Больше всего тестов и размышлений было с заменой sh404SEF. Его разработчик полностью переписал это расширение, разделив его на 4SEO и 4SEF. Вместо SEO опций, доступных в sh404SEF решил использовать 4SEO, а 4SEF решил не использовать вообще. Вместо этого оставил «родной» роутер Joomla. В новых версиях Джумлы появилась возможность отключения вставки ID в URL материалов. На 90% меня это устроило. Без sh404SEF изменились адреса страниц терминов глоссария (glossarii) и пагинации. Для глоссария я написал перенаправления в файл «.htaccess». а URL пагинации вообще закрыл от индексации при помощи правила в 4SEO и в «robots.txt». Пришлось написать алиасы для терминов глоссария и провести ещё ряд работ и тестов. На это всё потратил около 20 часов работы. Это выполнялось уже на Joomla 4.
Также полностью отказался от некоторых не очень важных или более не актуальных расширений.
Обновление
В связи с профессиональным интересом я провёл около 10-15 тестовых обновлений Joomla 3 до 4. Пробовал встроенный инструмент обновления, MigrateMe 4 и перенос таблиц базы данных в «чистую» Joomla 4. Пришёл к выводу, что встроенный инструмент обновления дал более лучший результат. На втором месте MigrateMe 4. А вот с ручным переносом таблиц базы данных оказалось слишком много проблем. Возможно, мне просо не хватило навыков. На это ушло около 25 часов.
В процессе обновления пришлось отключить некоторые расширения (по совету инструмента проверки), обновить все расширения до последней версии, а затем запустить процесс обновления. Сайт уже работал на PHP 8.0. Обновление проходило на локальном сервере Open Server Panel. Пришлось увеличить время выполнения скрипта в настройках сервера. На это ушло около 1 часа.
После обновления Joomla
После обновления Джумлы принялся за обновление всех расширений, которые нужно было обновить, но уже на 4-й версии CMS. Выполнил миграцию некоторых настроек, установил шаблон и начал тестировать.
Во время тестов обнаружилась проблема с Ccomment. После миграции не добавлялись новые комментарии. Решение нашлось на форуме разработчика. Также была найдена и решена масса мелких «проблемок». Благодаря решённым на предыдущем этапе проблемам с Attachments, найденной заменой всех расширений, экспериментам с обновлениями, а также знаниям «истории» сайта, с крупными проблемами я не столкнулся.
Проводил ряд тестов по уже отработанной «методике», находил и исправлял ошибки и так несколько итераций.
Затем перенёс сайт на хостинг, но на тестовый домен. Снова провёл тестирование, а перенёс вручную пару десятков комментариев и несколько статей с сайта на Joomla 3. Это было нужно, так как с момента создания копии сайта на 3-й версии Джумла до её обновления и переноса на основной домен прошло несколько недель.
Затем перенёс сайт на Джумла 4 на основной домен, а сайт на Джумла 3 – на тестовый (он закрыт от индексации). После переноса снова провёл тестирование и исправил найденные недочёты. На всё это, без учёта времени, указанного выше в разделах «До обновления» и «Обновление», ушло около 10 часов.
На 10.12.2022 новый сайт уже около полутора месяцев работает на основном домене. Он активно индексируется поисковыми роботами Google, Bing и Яндекс. Я постоянно с ним работаю, записываю в список то, что нужно сделать, и периодически вношу правки. Процесс продолжается…
Затраты по времени, деньгам и итоги обновления
В итоге, мои общие затраты по времени составили примерно 106 часов. Можно было бы сократить время тестирования вариантов обновления с 25 до 2-3 часов, но в остальном ощутимых сокращений по времени я бы не добился. По крайней мере, оставив тот же подход к выбору новых расширений и многократному тестированию всего сайта. Но выбор расширений – это работа на перспективу. А итерационное тестирование минимизирует, но не исключает риски обнаружения проблем на уже рабочем сайте.
Несмотря на многократное тестирование, без проблем после переноса сайта на основной домен не обошлось. Обнаружилось двухкратное превышение лимитов на процессорные минуты моего хостинг аккаунта из-за моей неправильной настройки плагина «Система - HTTP Headers». Решение было весьма простым – оставить настройки по умолчанию (а я их менял ещё на локальном сервере).
Так как у меня уже были подписки на все нужные мне расширения, затраты по деньгам составили всего 59$ за шаблон.
За полтора месяца работы обновлённого сайта изменений позиций или посещаемости сайта не наблюдаю. Также не наблюдаю изменений среднего времени сеансов пользователей, глубины просмотра сайта и других аналогичных показателей в Google Analytics или Google Search Console.
В Google Search Console, Bing Webmaster Tools и Яндекс Вебматсер появились разные данные, свидетельствующие о том, что поисковые системы видят изменения в некоторых URL адресах, запретах на индексирование несуществующих страниц и другая подобная информация. Сообщений о значимых ошибках не наблюдаю.
На данный момент считаю, что процесс обновления прошёл весьма удачно. Если у Вас есть вопросы, задавайте их в комментариях.
| Похожие материалы |
|---|
| Автор статьи – Хорошевский Алексей |
|---|
Кандидат технических наук, преподаватель Харьковского национального университета радиоэлектроники, веб-мастер и SEO-оптимизатор с опытом более 15 лет. Специалист по созданию сайтов на Joomla и WebSite X5. Автор научных публикаций, видеокурсов и обучающего контента по веб-разработке и SEO. Ведёт блог и YouTube-канал, где делится своими знаниями и практическим опытом. Предоставляет услуги по созданию, доработке, сопровождению и продвижению сайтов. Подробнее об авторе… Публикации и работа: |

