Обновление CMS и модулей

Обновление CMS
2000
р.
3000
р.
Стоимость указана за 1 час работы. Итоговая цена зависит от сложности задачи, CMS и объёма работ.

Поддерживаемые технологии: 1С-Битрикс (в том числе решения Аспро), Django (Python), WordPress, Tilda, Joomla, самописные сайты и нестандартные решения.

Что входит в обновление CMS и модулей:
  • проверка совместимости обновлений;
  • обновление модулей, компонентов, плагинов и библиотек;
  • исправление ошибок после обновлений;
  • адаптация кода к новым изменениям CMS.
Кейсы из практики
  • Фатальная ошибка после автоматического обновления WordPress
    Клиент: Блог профессионального фотографа на WordPress.
    Проблема: Хостинг-провайдер в автоматическом режиме обновил WordPress до последней версии. Сайт перестал открываться — вместо него белый экран и надпись «There has been a critical error on this website». В письме счастья от WordPress — ссылка на режим восстановления, который тоже не работал.
    Что сделано:
    1. Экстренный доступ: Через FTP подключился к файлам сайта. Включил режим отладки (WP_DEBUG) в файле wp-config.php и увидел, что ошибка вызывается устаревшим плагином галерей, который использовал функции, удалённые в новой версии ядра.
    2. Восстановление работоспособности: Через FTP временно переименовал папку проблемного плагина, чтобы деактивировать его. Сайт сразу открылся.
    3. Поиск решения: Нашёл альтернативный, современный плагин для галерей с аналогичным функционалом, установил и настроил его.
    4. Профилактика: Настроил автоматическое создание полной резервной копии перед каждым обновлением и порекомендовал клиенту тестовое окружение для экспериментов.
    5. Результат: Сайт восстановлен за 2 часа. Клиент получил полностью работоспособную галерею на новом, более быстром плагине.
  • Обновление Django-проекта с переходом на новую версию Python
    Клиент: Сервис по аренде самокатов, сайт на Django 1.11 (Python 2.7).
    Проблема: Python 2.7 и Django 1.11 официально перестали поддерживаться годами ранее. Хостинг уведомил о принудительном отключении Python 2.7. Сайт мог просто перестать работать. Кроме того, в коде были критические уязвимости.
    Что сделано:
    1. Анализ кода: Создал ветку в Git и начал миграцию. Обновил Django до версии 2.2 (LTS), затем до 3.2 (LTS) и, наконец, до 4.2 (LTS). Параллельно обновлял все зависимые библиотеки.
    2. Исправление кода: В процессе обнаружил множество участков, где использовались устаревшие функции (например, django.core.urlresolvers вместо django.urls). Также пришлось переписать код, работающий со строками, так как в Python 3 изменилась работа с кодировками (Unicode).
    3. Тестирование: Покрыл ключевые сценарии (оформление заказа, личный кабинет) автоматическими тестами, чтобы убедиться, что после обновления всё работает как прежде. Провёл нагрузочное тестирование на тестовом сервере.
    4. Развёртывание: Перенёс обновлённый код на боевой сервер с новой версией Python.
    5. Результат: Сайт работает стабильно и быстро на актуальном стеке технологий. Уязвимости закрыты, производительность выросла на 15%.
  • Сбой после обновления модуля «Аспро: Next» в интернет-магазине
    Клиент: Интернет-магазин спортивной одежды на 1С-Битрикс с решением «Аспро: Next».
    Проблема: Менеджер магазина решил обновить модуль «Аспро: Next» через административную панель. После обновления перестала открываться страница корзины — выпадала ошибка 500. Заказы не могли быть оформлены, клиенты звонили и жаловались.
    Что сделано (срочно, 3 часа):
    1. Быстрый откат: У клиента была резервная копия, сделанная до обновления. Восстановил файлы модуля и базу данных из этой копии. Корзина снова заработала.
    2. Диагностика: На тестовой копии сайта повторил обновление, включив режим отладки. Ошибка возникала из-за того, что в новой версии модуля изменилась структура таблиц в базе данных, а скрипт обновления не сработал корректно из-за нехватки прав у пользователя базы данных.
    3. Исправление: Вручную выполнил SQL-запросы для обновления структуры таблиц, предоставив базе нужные права. После этого обновление прошло успешно, корзина открывалась.
    4. Результат: Магазин вернулся к работе. Клиент теперь знает, что перед крупными обновлениями нужно проверять права доступа к БД и всегда иметь свежую резервную копию.
Made on
Tilda