ПН-ПТ: с 09:00 до 20:00

Миграция и разработка сайта по продаже промышленных станков для B2B: Переход на Joomla 5.2

В июне 2024 года был успешно реализован технически сложный проект по комплексной миграции, рефакторингу и глубокой модернизации корпоративного B2B-портала. Ресурс специализируется на сервисном обслуживании, подборе и прямых поставках из Европы высокоточного промышленного оборудования, включая лазерные, гибочные и координатно-пробивные станки TRUMPF, а также волоконные лазеры MetalTec и комплектующие ThermaCut.

В связи с полным прекращением официальной поддержки устаревшей ветки CMS Joomla 3.x, перед нами стояла критическая задача: осуществить бесшовный перенос огромного массива данных интернет-магазина на самую современную и безопасную платформу Joomla 5.2.0, работающую под управлением строгих стандартов PHP 8.2. Проект потребовал не просто обновления файлов, а фактической пересборки архитектуры сайта с сохранением всего накопленного SEO-трафика, переработкой шаблона и обновлением экосистемы компонентов.

Главная страница мультиязычного портала промышленного оборудования

Исходная ситуация, проблематика и бизнес-задачи

Сайт по продаже сложного промышленного оборудования кардинально отличается от классического розничного интернет-магазина. Здесь присутствуют длинные циклы сделки, запросы цен по спецификациям, мультивалютное ценообразование и необходимость работы с зарубежными партнерами. Исходный сайт на Joomla 3.x столкнулся со следующими проблемами:

  • Критическая уязвимость ядра и несовместимость старых плагинов с современными версиями PHP (8.0+).
  • Накопление технического долга в базе данных, ошибки в работе фильтра товаров и корзины.
  • Проблемы с отображением интерфейса на современных мобильных устройствах (устаревшие CSS-фреймворки).
  • Некорректная обработка нулевых цен (когда товар поставляется "под заказ") в устаревшей версии компонента JoomShopping.
  • Риск потери поисковых позиций при смене структуры URL-адресов.

Ключевая задача заключалась в проведении "тихой" миграции (Услуга по обновлению Joomla): полная замена "двигателя" сайта "на ходу" без остановки бизнес-процессов компании и без потери проиндексированных страниц в Яндекс и Google.

Реализация миграции: Ядро Joomla 5.2 и База данных

Прямой переход с Joomla 3 на Joomla 5 невозможен из-за кардинальных изменений в архитектуре фреймворка (удаление JRequest, переход на Namespaces, внедрение подготовленных запросов PDO). Процесс миграции выполнялся в несколько этапов:

  1. Аудит и очистка БД: Перед переносом база данных была очищена от таблиц "мертвых" и неиспользуемых расширений.
  2. Перенос таблиц и маршрутизации: Выполнен экспорт и адаптация таблиц пользователей, материалов (com_content) и категорий. Самым важным этапом стало сохранение структуры таблицы #__menu и алиасов, что гарантировало 100% сохранение всех старых URL-адресов. Перенастройка 301 редиректов не потребовалась, так как адреса остались неизменными, что позволило сохранить весь SEO-трафик.
  3. Переход на PHP 8.2: Серверное окружение было жестко сконфигурировано под PHP 8.2. Все кастомные скрипты и переопределения шаблонов (overrides) были переписаны с устранением deprecated-функций и предупреждений строгой типизации.

Модернизация B2B-коммерции: JoomShopping 5.5.2

Основой каталога станков и запчастей является система электронной коммерции JoomShopping. Модуль был обновлен до актуальной версии 5.5.2, что потребовало ручной адаптации функционала.

Рефакторинг ценообразования и нулевых цен

В промышленном B2B-секторе часто встречаются товары со статусом "Цена по запросу" (в базе данных цена равна 0). В старых версиях это вызывало ошибки вывода. Были изменены глобальные настройки JoomShopping с использованием нового встроенного функционала обработки цен. Теперь товары с ценой =0 корректно отображают запрограммированные текстовые статусы вместо нулей, позволяя клиентам запросить индивидуальное коммерческое предложение. Также была сохранена и оптимизирована работа встроенного AJAX-скрипта (reloadPriceInList), который динамически пересчитывает цену при выборе атрибутов товара без перезагрузки страницы.

Мультивалютность

В связи с импортом оборудования из Европы (Германия) на сайте реализован мультивалютный переключатель (id_currency). Клиенты могут в один клик пересчитывать стоимость огромных промышленных комплексов и мелких запчастей в Рублях (RUB), Евро (EUR), Долларах (USD) и альтернативных валютах (EURT) в режиме реального времени. Базовая валюта интернет-магазина привязана к актуальному курсу, который администрируется из панели управления.

Замена корзины и модуля фильтрации

Многие старые модули JoomShopping оказались несовместимы с архитектурой Joomla 5. Был полностью заменен модуль корзины (jshop_module_cart) на современный аналог, совместимый с новыми стандартами.
Отдельное внимание уделено товарному фильтру. На этапе миграции был восстановлен и стилизован базовый фильтр JoomShopping. Однако, для работы с десятками тысяч позиций запчастей (линзы, дюзы, фильтры) архитектурно подготовлена база для внедрения премиального расширенного фильтра (Filter Product Extended от Webdesigner-profi или Универсального фильтра от Nevigen). Развертывание платного фильтра привязано к лицензированию на конкретный домен и может быть интегрировано по запросу клиента без изменения ядра сайта.

Мультиязычность и Гео-таргетинг

Компания работает не только на рынке России и СНГ, но и взаимодействует с европейскими партнерами. На сайте полностью настроена и функционирует нативная мультиязычность Joomla (модуль mod_languages).

  • Доступны три языковые версии: Русская (ru-RU), Немецкая (de-DE) и Английская (en-GB).
  • Для поисковых систем внедрены корректные теги hreflang (например: <link href="https://stanko-service.su/de/" rel="alternate" hreflang="de-DE">). Это исключает дублирование контента в глазах Google и позволяет поисковику направлять пользователя на релевантную языковую версию в зависимости от его локации и настроек браузера.

Обновление экосистемы компонентов

Для обеспечения комплексной работоспособности портала был обновлен и лицензирован целый ряд критически важных расширений:

  1. Convert Forms: Использован для создания современных асинхронных форм захвата лидов. В частности, в подвале сайта реализована форма подписки на рассылку новостей индустрии. Форма работает по AJAX, имеет встроенную валидацию email-адресов и защиту от спам-ботов, а стили формы управляются через CSS-переменные напрямую из админки.
  2. JSitemap (PRO): Генератор XML-карт сайта последнего поколения. Обеспечивает мгновенную индексацию новых поступлений станков в поисковых системах.
  3. Google Structured Data: Компонент для автоматической генерации JSON-LD микроразметки. Передает поисковикам Яндекса и Google структурированные данные о товарах (Schema.org/Product), статьях (Schema.org/Article) и самой компании, формируя расширенные красивые сниппеты в поисковой выдаче.
  4. RSFirewall: Брандмауэр веб-приложений (WAF). Защищает сайт на PHP 8.2 от SQL-инъекций, XSS-атак и попыток несанкционированного доступа в административную панель.
  5. JLike: Обновленный компонент для социальных взаимодействий и закладок внутри каталога.
  6. RSForm: Инструмент для генерации сложных многостраничных форм (заявки на лизинг, запросы на сервисное обслуживание станков AMADA и TRUMPF).

Frontend: UI/UX, Адаптивность и Скрипты

Пользовательский интерфейс прошел глубокий рефакторинг с целью корректного отображения на мобильных устройствах, планшетах и широкоформатных мониторах.

  • Сетка и стили: Шаблон переведен на использование Bootstrap 4.1.1. Внедрена строгая блочная структура (CSS Grid / Flexbox) для каталога товаров и сетки новостей.
  • Динамические слайдеры: Устаревшие библиотеки каруселей заменены на современный, легкий и сенсорно-адаптивный Swiper JS (версии 11.1.14). Свайпер используется в модуле рекомендуемых товаров (mod_wtjshoppingswipercarousel195), обеспечивая плавную прокрутку на смартфонах.
  • Иконки и Пиктограммы: Интегрирован актуальный набор FontAwesome 5. Была решена проблема с кэшированием старых пиктограмм — после сброса кэша браузера новые векторные иконки корректно отображаются на Retina-дисплеях без потери качества.
  • Мобильная навигация: Разработано два независимых хедера: <header class="mobile-hidden"> для десктопов и <header class="mobile"> для смартфонов. Мобильная версия содержит компактные dropdown-меню для переключения языков, валют и доступа к форме авторизации.
  • Мессенджеры: Внедрен плавающий виджет WhatsApp (mod_jo_whatsapp_contact_button), который автоматически определяет тип устройства (с помощью регулярного выражения в JavaScript /Android|webOS|iPhone.../) и открывает соответствующее приложение или веб-версию чата для быстрой связи с отделом продаж.

Оптимизация хранения данных и архитектура бэкапов

В рамках проекта был проведен аудит серверного пространства. Каталог интернет-магазина (особенно раздел запчастей) планируется расширять путем парсинга десятков тысяч товарных позиций.
Для предотвращения критического разрастания размера сайта были внедрены новые правила архитектуры хранения медиафайлов. Выполнена реструктуризация каталогов изображений JoomShopping, чтобы визуальные ассеты товаров хранились изолированно от системных изображений ядра Joomla.
Эта инженерная практика позволяет настраивать инкрементальное резервное копирование (Backups) базы данных и системных файлов отдельно от многогигабайтного архива картинок товаров. Это значительно снижает нагрузку на сервер при создании ночных дампов и ускоряет процесс восстановления системы в случае сбоев.

Использованные технологии

Технология / Стек Версия Роль в проекте
Joomla! 5.2.0 Базовое ядро CMS, роутинг, управление правами (ACL), мультиязычность.
PHP 8.2 Высокопроизводительная и безопасная серверная среда.
JoomShopping 5.5.2 E-commerce платформа, B2B каталог станков, мультивалютность.
Swiper JS 11.1.14 Организация адаптивных touch-слайдеров и товарных каруселей.
Convert Forms / RSForm Latest Генерация AJAX-форм обратной связи и сбора лидов.
Bootstrap / FontAwesome 4.1.1 / 5.1 Frontend-фреймворк, адаптивная сетка и векторная графика.

Итоги внедрения

Миграция B2B-портала на Joomla 5.2 и PHP 8.2 обеспечила компании надежную, отказоустойчивую технологическую платформу на ближайшие 5-7 лет. Устранены критические уязвимости старого ядра, полностью сохранен ценный органический поисковый трафик благодаря сохранению структуры URL, а переработанный каталог JoomShopping готов к масштабированию и импорту неограниченного числа товарных спецификаций.

Развернуть полный вид сайта по продаже промышленных станков на Джумле 5

Полный вид сайта по продаже промышленных станков на Джумле 5

Примечание: текущее состояние и внешний вид действующего сайта могут отличаться от представленных в данном кейсе, так как после завершения и сдачи проекта заказчик мог внести самостоятельные изменения.

Вопросы и ответы по данному сайту

Почему потребовалось переписывать шаблон при миграции с Joomla 3 на Joomla 5?

Joomla 5 использует обновленную архитектуру и новые веб-стандарты (например, полный отказ от jQuery в ядре в пользу чистого Vanilla JS, новые классы Bootstrap 5). Шаблоны от Joomla 3 содержат вызовы устаревших PHP-функций и старых библиотек, что вызывает фатальные ошибки на PHP 8.2. Рефакторинг шаблона — обязательный этап адаптации внешнего вида под новые стандарты рендеринга CMS.

Как работает AJAX-обновление цены в карточке товара?

В JoomShopping интегрирован скрипт reloadPriceInList. Когда клиент меняет атрибут товара (например, выбирает другую линзу или модификацию станка), JavaScript перехватывает событие onchange и отправляет скрытый (AJAX) запрос к контроллеру product с параметром task=ajax_attrib_select_and_price. Сервер возвращает новый массив цен в формате JSON, и скрипт мгновенно обновляет цифру в DOM-дереве без перезагрузки страницы.

Зачем нужен Тег Rel Canonical, упомянутый в рекомендациях?

В крупных интернет-магазинах один и тот же товар может быть доступен по разным адресам (например, при использовании фильтров, сортировок или если товар лежит в нескольких категориях). Тег <link rel="canonical" href="/..."> указывает поисковым системам Яндекса и Google главную, приоритетную версию страницы, предотвращая пессимизацию сайта за дублирование контента.

Почему модуль корзины был полностью заменен?

Старые модули корзины для JoomShopping часто писались сторонними разработчиками и использовали устаревшие классы Joomla 3 (например, `JFactory::getApp()`). При переходе на Joomla 5 архитектура требует использования пространств имен (Namespaces). Проще и надежнее установить новый, написанный с нуля модуль корзины, чем пытаться пропатчить код десятилетней давности.

Как реализована защита от спама в формах Convert Forms?

Convert Forms использует встроенные механизмы Honeypot (скрытые поля, которые заполняют только боты) и интеграцию с современными капчами (например, Google reCAPTCHA v3 или Cloudflare Turnstile). Это позволяет блокировать 99% спам-заявок "тихо", не заставляя реальных клиентов разгадывать картинки со светофорами.

Почему так важно хранить картинки JoomShopping отдельно от картинок ядра Joomla?

Если планируется автоматический парсинг (импорт) десятков тысяч запчастей, объем папки с изображениями может вырасти до десятков гигабайт. Если эти изображения лежат в общей директории /images/, стандартные системы резервного копирования Joomla (например, Akeeba Backup) будут "задыхаться" при создании архива, что приведет к тайм-аутам сервера. Изоляция файлов в директории компонента позволяет исключить их из ежедневного бекапа ядра и бэкапить отдельно (например, раз в месяц напрямую через панель хостинга).

123 0 1
FAQ

Часто задаваемые вопросы

Ответы на популярные вопросы о наших услугах

Сколько стоит разработка сайта?

Стоимость зависит от сложности проекта и требуемого функционала. Простые сайты начинаются от 15 000 ₽, интернет-магазины — от 35 000 ₽. Точную стоимость рассчитаем после обсуждения задачи.

Сколько времени занимает разработка сайта?

В среднем разработка занимает от 2 до 6 недель. Простой Landing Page можно запустить за 7-14 дней, а сложный интернет-магазин или корпоративный портал потребует от 1 месяца работы.

На какой CMS вы работаете?

Мы специализируемся на разработке под Joomla 4, 5 и 6 версий. Также мы можем работать с другими популярными системами управления или кастомными PHP-решениями в зависимости от ваших задач.

Предоставляете ли вы поддержку после запуска?

Да, мы обеспечиваем гарантийную техническую поддержку всех наших проектов. Кроме того, вы можете заключить договор на регулярное обслуживание, обновление контента и мониторинг безопасности.

Можно ли заказать доработку существующего сайта?

Конечно. Мы проводим технический аудит текущего сайта, исправляем существующие ошибки, обновляем версию CMS и внедряем любой необходимый новый функционал.

Вы помогаете с наполнением контентом?

Да, в нашей команде есть копирайтеры и контент-менеджеры. Мы можем написать уникальные SEO-тексты, подобрать изображения и полностью заполнить каталог товаров или блог.

Делаете ли вы SEO-продвижение?

Базовая SEO-оптимизация (настройка мета-тегов, правильная структура заголовков) включена в процесс разработки. Для дальнейшего роста позиций мы предлагаем комплексное ежемесячное продвижение.

Как происходит оплата?

Оплата производится поэтапно. Обычно мы работаем по схеме: 50% предоплата перед началом работ, и оставшиеся 50% после полного утверждения и сдачи проекта.

Могу ли я заказать услуги по частям?

Да, услуги предоставляются гибко. Вы можете заказать только дизайн-макет, только верстку, настройку отдельного компонента или аудит производительности текущего проекта.

Разрабатываете ли вы собственные расширения (модули, плагины, компоненты)?

Да, мы создаем кастомные модули, плагины и компоненты под специфические бизнес-задачи, строго соблюдая стандарты архитектуры Joomla. Весь написанный код документируется. Дальнейшая техническая поддержка, обновление под новые версии CMS и масштабирование функционала осуществляются в рамках договора на регулярное сопровождение проекта.

Портфолио

Примеры выполненных работ

Показываем реальные сайты, которые мы реализовали для клиентов

Отзывы клиентов

Что говорят наши клиенты

Доверие и результат — лучшая оценка моей работы

4.6

Средняя оценка на основе
отзывов клиентов Яндекс

  • 100+ проектов завершено
  • 98% довольных клиентов
  • Рекомендации и повторные заказы
Оставить отзыв

Обращался за ремонтом сайта после заражения вирусами. Обращаюсь к этому разработчику уже не в первый раз и не первый год. Сайт был восстановлен. Потребовалось контактировать с поддержкой хостинга - вирус сидел глубоко, и тем не менее - работа завершена. Олег как и ранее сдает завершенный результат работы.

Андрей Е.

Задача была следующая: нужно было обновить компонент sp page builder до последней версии, но так как стояла joomla 3, то нужно было обновить саму joomla, все компоненты и сам шаблон xelix. Работой остался доволен, так как задача была выполнена в сжатые сроки, в итоге скорость открытия сайта выросла, чему остался тоже доволен) Буду, если потребуется, обращаться еще!

Александр Борисов

Обращались к Олегу, чтобы обновить наш старый сайт с каталогом Виртуалмарта на Джумле 3 . Постоянно заливали вирусы через старые дыры, поэтому нужно было срочно переезжать на новую версию Joomla. Олег обновил всё до самой последней версии, полностью перенес всю базу с нашими товарами и статьями, чтобы ничего не потерялось. Написал новый чистый шаблон, подогнал его под наш привычный дизайн и убрал весь старый мусор с левыми плагинами. Отдельное спасибо, что бонусом добавил всякие важные мелочи по функционалу и отображению 👌🏻 В процессе были рабочие моменты и споры по внешнему виду, но всё оперативно решили. Работу Олег сдал вовремя без задержек в виде бэкапа, дальше будем уже сами не торопясь разворачивать и допиливать мелочи. Специалист грамотный, дело свое знает. Рекомендую 🤝👍🏻

HP - H.

Искал подрядчика по обновлению устаревшей Joomla 2.5 на современные стандарты. Многие предлагали делать магазин с нуля на других платформах, но Олег успешно провел масштабное обновление до Joomla 6.1 и обновил Joomshopping до актуальной версии 5.9.1. По факту за две недели работы над сайтом был разработан полностью новый адаптивный шаблон под PHP 8.4 с версткой под мобильные устройства, переработана база данных с чисткой от старого мусора и выстроена правильная структура URL. Исполнитель проявил высокую инициативность: помимо ТЗ, бонусом внедрил функционал, существенно улучшающий юзабилити. Корзина, списки желаний и сравнение товаров теперь работают через AJAX без перезагрузки страниц. Добавлен быстрый просмотр товаров, интерактивное мобильное меню и настроено два десятка кастомных модулей. По итогу сдачи проекта получил развернутый технический и SEO-аудит с подробными инструкциями по дальнейшей оптимизации, микроразметке и работе с контентом. Подход системный, гарантийные условия прозрачные. Уровень компетенции в архитектуре Joomla крайне высокий. Рекомендую для сложных e-commerce проектов. Будем продолжать сотрудничество.

Черный плащ

Обращаюсь к Олегу уже повторно, и снова остался доволен результатом. На этот раз стояла нетривиальная задача: обновить сайт до Joomla 5.3.4 и разработать кастомный плагин оплаты для банка Т. Сложность была в том, что оплата должна была работать внутри обычных материалов сайта, а не в стандартном интернет-магазине. Готовых аналогов такого решения просто не существует, поэтому задача была действительно сложной. Олег взялся за работу без колебаний. Я предоставил документацию от банка, а он всё реализовал на высшем уровне. Плагин получился удобным: легко устанавливается, настраивается и, что важно, позволяет отслеживать статус платежей прямо на сайте. Видно, что перед тобой настоящий профессионал. Отдельное спасибо за сопровождение: Олег подробно объяснил, как всё правильно настроить, и был на связи в процессе. Если вы ищете грамотного программиста и разработчика по Joomla, который может решить уникальную задачу, а не просто «поставить шаблон» — рекомендую Олега однозначно.

Юрий Подкопай

Выражаю благодарность за качественную и своевременную работу по созданию сайта. В процессе сотрудничества Олег проявил высокий профессионализм, компетентность, внимание к деталям и оперативно решал возникающие вопросы. Полученный результат полностью соответствует ожиданиям. После завершения работы и закрытия сделки остается на связи, дает консультации. На время работы легко присоединился к команде и стал ее частью. От совместной работы остались только приятные впечатления. Спасибо.

Дмитрий З.

Огромное спасибо Олегу за оперативное и качественное выполнение моей задачи по обновлению сайта на Joomla. Работа была выполнена качественно и в нужные для меня сроки. Исполнитель явно профессионал в данной области, внимательно отнесся ко всем деталям и дал ценные рекомендации по дальнейшей поддержке сайта. Очень приятно иметь дело с настоящим мастером. Поэтому обязательно буду обращаться ещё и рекомендую другим !

Гласс-Гид

Обратился за помощью на сайт revation.ru к Олегу — остался очень доволен результатом. У меня были два сайта на Joomla , заражённых вирусом. Олег быстро и профессионально провёл диагностику, удалил вредоносное ПО, полностью восстановил работу ресурсов. Кроме этого, он сделал свежие резервные копии сайтов и дал множество полезных рекомендаций — как по техническому обслуживанию Joomla, так и по продвижению сайтов в будущем. Работа выполнена качественно, чётко и в срок. Буду обязательно рекомендовать Олега знакомым и сам планирую обращаться к нему снова — уже по вопросам развития и продвижения проектов.

Сергей

Обратился в Revation к Олегу за помощью по обновлению устаревшего сайта с Joomla 2.5.28 и Virtuemart 2 до современных версий 5.3.1 и 4.4.10. Были выполнены сложные работы: перенос и адаптация БД, полная переделка шаблона под PHP 8.2, разработка модулей, настройка хостинга и создание резервных копий. Также проведены доработки по мобильной версии, SEO, интерфейсу и защите сайта. Все сделано качественно, в срок и по доступной цене. Рекомендую Олега как опытного и надёжного специалиста.

С
Полезные статьи

Актуальные новости и полезные статьи

Будьте в курсе последних обновлений, кейсов и полезных материалов