
Сайт давно не обновлялся? CMS показывает десятки доступных обновлений, но страшно нажимать кнопку «Обновить», потому что после этого может перестать работать тема, интернет-магазин, формы или собственные доработки?
Безопасно обновлю сайт и проверю его работу после обновления.
Работаю с современными и старыми проектами: WordPress, WooCommerce, OpenCart, ocStore, Joomla, Drupal, MODX, 1С-Битрикс, DLE, PrestaShop и другими CMS, а также с самописными системами управления.
Обновляю не только сам движок. Проверяю совместимость CMS, PHP, базы данных, шаблона, плагинов, модулей, библиотек, интеграций и собственного кода сайта.
Если сайт много лет не обновлялся, не выполняю обновление вслепую. Сначала определяю, что можно обновить сразу, а какие компоненты потребуют предварительной доработки.
Что можно обновить
- ядро CMS;
- WordPress;
- WooCommerce;
- OpenCart и ocStore;
- Joomla;
- Drupal;
- MODX;
- 1С-Битрикс;
- DLE;
- PrestaShop;
- другие CMS;
- плагины и модули;
- темы и шаблоны;
- PHP;
- JavaScript-библиотеки;
- платёжные модули;
- модули доставки;
- CRM-интеграции;
- интеграции с 1С;
- API сторонних сервисов;
- самописные модули;
- собственный код сайта.
Зачем обновлять CMS
Старый сайт может продолжать работать годами, поэтому иногда кажется, что обновлять его необязательно.
Проблемы часто начинаются позже: хостинг прекращает поддержку старой версии PHP, новые модули перестают устанавливаться, старые плагины конфликтуют с современными сервисами, появляются уязвимости или сайт перестаёт работать после изменений на сервере.
Обновление позволяет поддерживать сайт в рабочем состоянии, устранять известные ошибки, сохранять совместимость с современным программным обеспечением и использовать новые возможности CMS.
Но обновление должно быть контролируемым, особенно если сайт старый или содержит индивидуальные доработки.
Обновление старых сайтов
Отдельная категория задач — проекты, которые не обновлялись несколько лет.
Например:
- старый WordPress → актуальная версия;
- старый WooCommerce → современная версия;
- OpenCart 1.5 или 2.x → более новая версия;
- PHP 5.6 или 7.x → PHP 8.x;
- устаревшая Joomla, Drupal, MODX, DLE или другая CMS → современная версия.
В таких проектах нельзя просто обновить все компоненты подряд.
Старая тема может использовать функции, которых больше нет. Плагин может быть заброшен разработчиком. Самописный модуль может оказаться несовместим с новой версией PHP. Некоторые доработки могут быть внесены непосредственно в файлы CMS и исчезнуть после обновления.
Поэтому сначала анализирую проект и определяю безопасный порядок действий.
Иногда обновление выполняется в несколько этапов, а устаревшие компоненты приходится дорабатывать или заменять.
Обновление WordPress и WooCommerce
При обновлении WordPress проверяю не только ядро системы.
Необходимо учитывать совместимость всей цепочки:
WordPress → тема → плагины → WooCommerce → PHP → база данных → собственные доработки.
Особенно внимательно нужно обновлять интернет-магазины WooCommerce. После неудачного обновления сайт внешне может продолжить работать, но при этом перестать правильно оформлять заказы, рассчитывать доставку или принимать оплату.
После обновления проверяю основные пользовательские сценарии и административную часть сайта.
Обновление OpenCart и ocStore
OpenCart и ocStore часто содержат большое количество модификаторов, сторонних модулей и изменений непосредственно в коде.
Перед обновлением проверяю:
- тему магазина;
- OCMOD и VQMod-модификации;
- модули оплаты;
- модули доставки;
- фильтры;
- SEO-модули;
- импорт и экспорт товаров;
- обмен с 1С;
- сторонние интеграции;
- собственные доработки;
- изменения файлов ядра.
Если обычное обновление может уничтожить доработки, сначала определяю способ их сохранения или переноса.
Обновление PHP
Распространённая ситуация: хостинг требует перейти на новую версию PHP, но после переключения сайт перестаёт работать.
Причина обычно находится в старом коде сайта, темы, плагина или модуля.
Могу проверить проект на совместимость с новой версией PHP и исправить возникающие проблемы:
- PHP Deprecated;
- PHP Warning;
- PHP Fatal Error;
- TypeError;
- устаревшие функции;
- изменения синтаксиса;
- несовместимость старых библиотек;
- ошибки самописного PHP-кода;
- несовместимые плагины и модули.
Если перейти на нужную версию PHP сразу невозможно, определю, какие компоненты этому мешают.
Если сайт сломался после обновления
Можно обратиться и после неудачного обновления.
Например:
- после обновления WordPress появилась критическая ошибка;
- после смены PHP сайт показывает ошибку 500;
- после обновления WooCommerce перестала работать корзина;
- перестали приходить заявки с форм;
- сломалась административная панель;
- пропала часть дизайна;
- перестал работать платёжный модуль;
- не работает доставка;
- появился конфликт плагинов;
- сайт перестал взаимодействовать с внешним API.
В такой ситуации сначала восстанавливаю работоспособность сайта, затем определяю причину несовместимости.
Не всегда нужно просто откатывать проект назад. Иногда правильнее устранить конкретную проблему и оставить сайт на новой версии.
Обновление самописных CMS
Работаю не только с популярными системами управления.
Если сайт использует самописную CMS, собственную административную панель или сильно модифицированный движок, могу изучить его код и определить возможность обновления.
В том числе работаю с проектами, где:
- исходный разработчик больше недоступен;
- нет технической документации;
- часть системы написана много лет назад;
- стандартная CMS сильно переделана;
- используются собственные модули;
- много нестандартных интеграций;
- код рассчитан на старую версию PHP;
- проект невозможно обновить штатными средствами.
Сначала проводится технический анализ проекта, после которого можно определить порядок работ, стоимость и возможные риски.
Как проходит обновление сайта
1. Анализ текущего состояния
Проверяю используемую CMS, её версию, PHP, базу данных, тему, плагины, модули и индивидуальные доработки.
Определяю компоненты, которые могут вызвать проблемы после обновления.
2. Резервная копия
Перед потенциально опасными изменениями сохраняются файлы и база данных сайта.
Это позволяет восстановить рабочую версию проекта, если во время обновления обнаружится несовместимость.
3. Тестовое обновление
Если сайт сложный или давно не обновлялся, изменения желательно сначала выполнить на тестовой копии.
Так можно обнаружить проблемы, не затрагивая работающий сайт.
4. Исправление несовместимостей
Если старая тема, плагин, модуль или собственный код несовместимы с новой версией системы, нахожу причину и вношу необходимые изменения.
5. Обновление рабочего сайта
После успешной проверки выполняется обновление рабочего проекта.
6. Проверка результата
После обновления проверяю основные функции сайта и связанные с ними компоненты.
Что проверяю после обновления
Недостаточно убедиться, что открылась главная страница.
В зависимости от проекта проверяю:
- главную страницу;
- внутренние страницы;
- административную панель;
- авторизацию;
- формы обратной связи;
- отправку email;
- мобильную версию;
- JavaScript;
- AJAX;
- cron-задачи;
- поиск;
- внешние интеграции.
Для интернет-магазинов дополнительно:
- каталог;
- карточки товаров;
- фильтры;
- корзину;
- оформление заказа;
- расчёт доставки;
- оплату;
- уведомления;
- изменение остатков;
- интеграции с CRM и другими сервисами.
Что делать с устаревшими плагинами и модулями
На старых сайтах часто встречаются компоненты, которые больше не поддерживаются разработчиками.
В зависимости от ситуации можно:
- оставить компонент, если он продолжает нормально и безопасно работать;
- доработать его для совместимости с новой системой;
- заменить современным аналогом;
- перенести необходимую функциональность в собственный модуль или плагин.
Решение зависит от конкретного проекта. Не всегда замена старого плагина первым найденным аналогом является лучшим вариантом.
Обновление без потери доработок
Одна из главных задач при обновлении старого сайта — сохранить индивидуальные изменения.
Предыдущие разработчики могли менять:
- файлы темы;
- файлы CMS;
- сторонние плагины;
- модули;
- шаблоны;
- структуру базы данных.
Обычное обновление таких компонентов может перезаписать изменения.
Поэтому перед обновлением важно определить, где находятся индивидуальные доработки, и решить, как правильно их сохранить.
Что потребуется от вас
Для первоначальной оценки достаточно:
- адреса сайта;
- краткого описания задачи;
- информации о том, что вы хотите обновить, если она известна.
Не обязательно знать версию CMS или PHP — это я смогу проверить самостоятельно.
Для выполнения работ могут потребоваться:
- доступ к административной панели;
- FTP или SFTP;
- SSH;
- панель управления хостингом;
- доступ к базе данных.
Стоимость обновления CMS
Стоимость зависит от состояния сайта и объёма работ.
Свежий WordPress с обычной темой и несколькими популярными плагинами обновить значительно проще, чем интернет-магазин, который десять лет не обновлялся и содержит большое количество индивидуальных изменений.
Стоимость обновления CMS — от 2 000 ₽.
После первоначального осмотра сайта смогу определить, является ли обновление стандартным или потребуется дополнительная работа.
Нужно обновить старый сайт?
Пришлите ссылку на сайт и напишите, что требуется обновить.
Если CMS не обновлялась несколько лет, хостинг требует перейти на новую версию PHP или предыдущая попытка обновления закончилась ошибкой — также укажите это.
Посмотрю состояние проекта и предложу безопасный вариант обновления.