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

Комплексная миграция и рефакторинг гипермаркета: Переход на Joomla 5.3.1 и PHP 8.4

Заказчиком был предоставлен только бекап старой версии сайта и исходя из него в июне 2025 года был реализован масштабный технический проект по глубокой миграции, рефакторингу и модернизации B2C/B2B-гипермаркета строительных материалов, сантехники и электроинструмента. Платформа была переведена с устаревшей кодовой базы Joomla 3.10.12 на передовую архитектуру Joomla 5.3.1. Одновременно с этим произведено мажорное обновление E-commerce ядра VirtueMart с версии 3 до 4.4.10. Ключевой задачей проекта являлась полная переработка фронтенд-шаблона и сторонних модулей для обеспечения абсолютной совместимости с серверным окружением PHP 8.4, а также радикальная реструктуризация каталога и очистка файловой системы от технического мусора.

Главная страница магазина строительных материалов и сантехники

1. Архитектура миграции и серверная инфраструктура (PHP 8.4)

Переход между поколениями CMS (с 3.x на 5.x) и обновление среды до PHP 8.4 потребовали фундаментального вмешательства в программный код ресурса. PHP 8.4 вводит строгую типизацию, удаляет множество устаревших (deprecated) функций и запрещает использование динамических свойств классов без явного объявления атрибута #[AllowDynamicProperties]. В рамках миграции были фактически выполнены следующие инженерные задачи:

  • Экстракция и адаптация БД MySQL: Выполнен перенос таблиц пользователей, контента и заказов. Структура таблиц VirtueMart 3 была программно модифицирована для соответствия реляционным требованиям VirtueMart 4.4.10.
  • Рефакторинг шаблона: Старый шаблон сайта был полностью переписан "с нуля" под версию PHP 8.4 и выше. Устранены вызовы устаревших методов Joomla API, внедрены современные пространства имен (Namespaces).
  • Резервное копирование: Для обеспечения отказоустойчивости на этапе миграции сгенерированы две независимые версии бэкапов (старого образца на J3 и нового на J5), включающие дампы баз данных и файловые архивы.

2. Модернизация E-commerce ядра (VirtueMart 4.4.10)

Обновление компонента электронной коммерции сопровождалось глубоким SEO-рефакторингом и исправлением логических ошибок предыдущей сборки.

Семантическая реструктуризация URL-адресов

Была проведена ручная переработка структуры категорий и подкатегорий. Некорректные алиасы (например, категория "Услуги" имела системный алиас и были заменены на семантически правильные и короткие (uslugi). Выстроена жесткая иерархия, исключающая дублирование контента. Дополнительно были созданы недостающие категории в строгом соответствии с утвержденной структурой главного меню.

Рефакторинг поисковых алгоритмов

На сайте использовался платный модуль расширенного поиска по товарам. Его исходный код оказался полностью несовместим с PHP 8.4, что вызывало фатальные ошибки компиляции (Fatal Errors). Код данного модуля был полностью доработан вручную: переписаны SQL-запросы, внедрена строгая типизация переменных, адаптированы методы работы с DOM. Дополнительно установлен системный плагин-индексатор, связывающий товары и категории VirtueMart для корректной выдачи результатов.

3. Фронтенд-разработка и пользовательский интерфейс (UI/UX)

Визуальная часть сайта была модернизирована с упором на конверсионные элементы и адаптивность под мобильные устройства.

  • Интерактивный Hero-слайдер: Разработана главная заставка, состоящая из трех сменяющихся слайдов с рекламными офферами. В слайдер интегрирована всплывающая кнопка "Подробнее".
  • Матрица категорий: Выведены категории товаров в виде удобной плитки кнопок с написанием индивидуальных CSS-стилей.
  • Многоуровневые меню: Выведены и стилизованы пункты меню "О компании" в шапке сайта, а также структурирована навигация в подвале (Footer) с написанием соответствующих стилей.
  • Мобильная адаптация: Выведены кнопка поиска и контактный телефон в шапку мобильной версии сайта для быстрого доступа.
  • Брендинг: Создан и интегрирован кроссбраузерный фавикон (favicon.ico) с логотипом компании.

4. Инструменты лидогенерации и коммуникации

Для обеспечения надежной связи с клиентами был установлен и настроен компонент QuickForm 3 (QF3). С его помощью были реализованы:

  • Всплывающий блок обратного звонка: Настроена форма сбора первичных контактных данных.
  • Страница контактов: Создана физическая страница /contacts, куда интегрирована расширенная форма обратной связи QF3.
  • Email-маркетинг: Установлено платное расширение для подписки на сайт. Написаны индивидуальные CSS-стили для интеграции блока подписки.

5. Инфраструктура контента, SEO и безопасность

Для защиты ресурса от внешних угроз и подготовки к SEO-продвижению был выполнен ряд технических мер.

Очистка и структуризация файлов

В ходе аудита были навсегда удалены неиспользуемые директории, оставшиеся от демо-данных и старых шаблонов: \images\banners, \images\bizshop, \images\headers, \images\sampledata, \images\2018. Изображения актуальных категорий были частично перенесены; для владельца сайта создана специальная директория /images/virtuemart/category/nujno_dobavit_v-ruchnuy для ручной загрузки недостающих медиафайлов.

Блоговая структура и Sitemap

Установлен и настроен компонент карты сайта. Ссылка sitemap выведена в интерфейс. Созданы разделы для ведения блогов по ссылкам /promotions-discounts и /blog. Созданы базовые материалы для сайта (подлежат дальнейшему заполнению клиентом).

Криптографическая защита админ-панели

Для защиты от брутфорс-атак внедрен плагин AskMyAdmin. Доступ к админ-панели (/administrator) теперь возможен исключительно по криптографической ссылке


6. Рекомендации клиенту по дальнейшему развитию и контент-менеджменту

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

6.1. Безопасность и оптимизация

  • Защита от спама: Зарегистрировать домен в сервисе Google reCAPTCHA (v2 и v3) и включить на сайте для защиты от ботов.
  • Микроразметка: Настроить Schema.org и установить плагин OPEN GRAPH для корректного вывода сниппетов в мессенджерах.
  • Производительность: Настроить GZIP-сжатие на сервере и использовать формат изображений .webp (без использования ресурсоемких сторонних плагинов).

6.2. Работа с VirtueMart и ссылочным профилем

  • Вручную откорректировать все категории: заполнить описания, Meta-теги, добавить качественные квадратные изображения, прописать к ним атрибут alt.
  • Исключить внешние ссылки из статей и карточек товаров. Сайты с обилием внешних ссылок пессимизируются поисковыми системами. Уникализировать заимствованные у конкурентов изображения.
  • Еженедельно размещать минимум одну качественную внешнюю ссылку на свой сайт со сторонних ресурсов (форумы, блоги, соцсети).

6.3. Инфраструктура доверия (E-E-A-T) и контент

  • Заполнить пустые страницы (реквизиты, о компании, вопросы и ответы).
  • Подключить внешние виджеты отзывов (например, Яндекс). Внутренние отзывы на сайте не вызывают доверия, кроме отзывов непосредственно к товарам.
  • Зарегистрироваться в Яндекс Бизнес и Google Мой Бизнес.
  • Добавить фото команды, видеообращение директора, раздел «Помощь клиентам», «Способы оплаты», «Гарантии и возврат».
  • Заменить онлайн-чат Jivo на прямые переходы в WhatsApp и Telegram.
  • Стратегическая задача: Разработать полноценный личный кабинет покупателя для отслеживания заказов.

6.4. Правила оформления карточек товаров в Joomla 5

Для предотвращения разрушения верстки передан строгий регламент:

  • Обрабатывать каждый товар вручную, без слепого авто-импорта.
  • Запрещено копировать текст напрямую из MS Word. Текст необходимо очищать через Блокнот (Notepad) для удаления скрытых стилей и мусорных тегов (span, font,  ).
  • Внутри описания запрещено использовать инлайн-стили (цвета, размеры шрифта). Все должно управляться CSS шаблона.
  • Использовать только один тег <h1> на страницу. Обязательно заполнять Meta Title (до 60 символов) и Meta Description (до 160 символов).
  • Транслитерация: Все файлы изображений и URL-алиасы (Alias) должны состоять исключительно из латинских букв в нижнем регистре без пробелов (например: mikser-b2s-beliy.jpg и proizvoditeli). Загрузка файлов на кириллице категорически запрещена.

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

Технология / Компонент Версия Роль в архитектуре проекта
Joomla! CMS 5.3.1 Базовое ядро, роутинг, управление правами (ACL), безопасность.
PHP 8.4+ Серверная среда выполнения, строгая типизация.
VirtueMart 4.4.10 E-commerce база, гипермаркет сантехники и электротоваров.
QuickForm 3 (QF3) Latest Асинхронные формы (Обратный звонок, Страница контактов).
Custom Search Module Modified Модуль поиска по товарам, деобфусцированный и переписанный под PHP 8.4.
AskMyAdmin Latest Защита точки входа в административную панель (Secret URL).

Заключение

Проект миграции строительного магазина стал примером сложного технического обновления с полным сохранением бизнес-логики и SEO-целостности. Переход с устаревшей Joomla 3.10.12 на Joomla 5.3.1 и адаптация под PHP 8.4 гарантируют высокую производительность, безопасность и долговечность платформы. Благодаря ручному рефакторингу модулей, пересборке структуры URL и очистке базы от неиспользуемых файлов, сайт получил "второе дыхание". Переданные заказчику подробные регламенты по контент-менеджменту позволят в дальнейшем самостоятельно масштабировать каталог без риска разрушения верстки и потери позиций в поисковой выдаче.

Развернуть полный вид сайта строительного маркета на Joomla 5

Полный вид сайта строительного маркета на Joomla 5

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

Зачем вручную изменять алиасы категорий?

Алиас формирует структуру URL (ЧПУ). Некорректные или автоматически сгенерированные алиасы с цифрами и нерелевантными словами разрушают семантическое ядро. Поисковые системы Яндекса и Google анализируют URL для понимания контекста страницы. Четкий, транслитерированный алиас (uslugi) повышает релевантность страницы поисковому запросу пользователя и улучшает кликабельность (CTR) в выдаче.

Почему модуль поиска перестал работать на PHP 8.4 и потребовал доработки?

Релизы PHP 8.x внесли кардинальные изменения в ядро языка. Стали фатальными ошибки, которые раньше были лишь предупреждениями. Использование неинициализированных переменных, обращение к несуществующим индексам массивов, передача null в строковые функции (например, strlen()), а также использование удаленных функций привело к тому, что старый код поиска провоцировал Fatal Error. Потребовался полный рефакторинг кода с внедрением строгой проверки типов (Strict Types).

Зачем удалять папки с демо-изображениями (sampledata, banners)?

Оставшиеся от старых установок или демо-шаблонов директории перегружают файловую квоту (inodes) на хостинге, замедляя создание резервных копий. Кроме того, бесхозные публичные директории часто используются злоумышленниками как резервуары для загрузки вредоносных скриптов (Web Shells) в случае выявления уязвимостей в сторонних плагинах. Физическое удаление мертвого кода — базовое правило серверной безопасности.

Что означает блокировка панели администратора через AskMyAdmin?

Стандартный адрес /administrator подвергается непрерывным атакам ботнетов, которые пытаются подобрать пароль (брутфорс). Плагин AskMyAdmin перехватывает маршрутизацию на уровне инициализации приложения Joomla. Без знания уникального GET-параметра сервер мгновенно обрывает соединение, выдавая пустую страницу или редирект, что снижает нагрузку на базу данных до нуля.

Почему поисковые системы пессимизируют сайты с обилием внешних ссылок?

Алгоритмы ранжирования (PageRank и его аналоги) рассчитывают "статический вес" страницы. Если сайт бесконтрольно ссылается на сотни сторонних ресурсов без атрибута rel="nofollow", он передает им свой вес, теряя собственный авторитет. При превышении определенного порога исходящих ссылок на нерелевантные домены поисковые алгоритмы (особенно антиспам-фильтры Яндекса) классифицируют такой сайт как ссылочную биржу ("линкопомойку") и исключают из ТОП выдачи.

46 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, интерфейсу и защите сайта. Все сделано качественно, в срок и по доступной цене. Рекомендую Олега как опытного и надёжного специалиста.

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

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

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

Разное
30 Июля
Как выбрать CMS для корпоративного сайта
  • ~9 мин.
  • 184