вернуться Назад
15 декабря 2025

​Drupal. Обновление. Модули

Обновлено 15.12.2025. Время прочтения 3 минуты

Drupal представляет собой фреймворк для управления контентом, это каркас, который разработчик самостоятельно наполняет модулями и приложениям, необходимыми для работы сайта

Модуль - это набор PHP, JavaScript и CSS файлов, которые расширяют возможности сайта и добавляют функциональность. Вы можете включить возможности и функциональность сайта с помощью установки модуля, и вы можете отключить их с помощью удаления модуля; перед удалением, вам может потребоваться удалить данные и конфигурации, связанные с возможностями и функциональностью. Каждый установленный модуль добавляет время, необходимое для создания страниц на вашем сайте, так что это хорошая идея удалять модули, которые не нужны.

Ядро Drupal предоставляет модули для:
Управления учетными записями пользователей (модуль ядра User)
Управления основным содержимым (модуль ядра Node) и полями (модуль Field и Field UI; есть также другие модули ядра, обеспечивающие различные типы полей Email, Phone и т.д.)
Управления меню (модуль ядра Menu UI)
Создания списков, таблиц и блоков из существующего контента (модуль ядра Views и Views UI)

Как любое программное обеспечение CMS Drupal требует обновления. На 2025 год самая актуальная версия Drupal 11.2.9. Если ваш сайт на 7,8,9 версии, то вот шаги обновления.

2. АУДИТ ТЕКУЩЕЙ СИСТЕМЫ

2.1. Инвентаризация компонентов сайта

2.1.1. Выполнить полную инвентаризацию установленных модулей, тем оформления и

пользовательского (custom) кода.

2.1.2. Составить список используемых модулей с указанием их версий.

2.1.3. Идентифицировать пользовательские (custom) модули и шаблоны.

2.2. Анализ совместимости

2.2.1. Определить модули, имеющие версии для Drupal 11.

2.2.2. Выявить модули, не имеющие поддержки для Drupal 11.

2.2.3. Определить необходимость замены несовместимых с Drupal 11 модулей альтернативами.

2.2.4. Провести анализ возможности замены нестандартных решений.

2.2.5. Составить список рекомендуемых замен.

2.2.6. Оценить трудозатраты на миграцию функциональности.

2.2.7. Оценить объем работы по адаптации пользовательских модулей.

2.3. Аудит темы оформления

2.3.1. Изучить структуру файлов текущей темы.

2.3.2. Проанализировать используемые шаблоны Twig.

2.3.3. Выявить нестандартные решения в теме.

2.3.4. Провести анализ CSS/JavaScript библиотек.

2.3.5. Выявить устаревшие функции.

2.3.6. Провести анализ изменений в Twig между версиями Drupal.

2.3.7. Оценить объем работ по адаптации текущей темы к Drupal 11.

2.3.8. Разработать стратегию обновления темы.

2.4. Анализ базы данных

2.4.1 Проанализировать структуру базы данных.

2.4.2 Определить объем и сложность миграции содержимого.

2.4.3 Выявить потенциальные проблемы с данными.

2.5. Аудит структуры данных

2.5.1 Провести анализ всех существующих типов содержимого.

2.5.2 Провести анализ связей между типами содержимого.

2.5.3 Выявить нестандартные решения в структуре содержимого.

2.5.4 Выполнить инвентаризацию всех представлений (Views).

2.5.5 Провести оценку сложности созданных представлений.

2.5.6 Выявить представления с нестандартной логикой.

3. РАЗРАБОТКА СТРАТЕГИИ МИГРАЦИИ

3.1. Определение подхода к миграции

3.1.1. Выбрать между постепенным обновлением (Drupal 8 9 10 11) или прямой путь миграции.

3.1.2. Определить последовательность обновления модулей.

3.1.3. Разработать стратегию миграции пользовательских модулей и тем.

3.2. Оценка рисков

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

3.2.2. Разработать план снижения рисков.

3.2.3. Определить возможность отката изменений в случае непредвиденных проблем.

3.3. Планирование ресурсов

3.3.1. Определить необходимые технические ресурсы.

3.3.2. Установить предварительные сроки для каждого этапа миграции.

4. ПОДГОТОВКА К МИГРАЦИИ

4.1. Настройка тестовой среды

4.1.1. Исполнитель создает изолированную копию сайта для тестирования, используя свои ресурсы (в своей инфраструктуре) после получения от Заказчика копии существующего сайта (в соответствии с п.1.4. настоящего Технического задания).

4.2. Обновление стека технологий

4.2.2. Установить требуемую версию PHP (в соответствии с п.1.5. настоящего Технического задания).

4.2.3. Обновить систему управления базами данных до совместимой версии (в соответствии с п.1.5. настоящего Технического задания).

4.2.4. Обновить веб-сервер и связанные компоненты (в соответствии с п.1.5. настоящего Технического задания).

5. ОБНОВЛЕНИЕ ЯДРА, МОДУЛЕЙ И ТЕМЫ ОФОРМЛЕНИЯ

5.1. Обновление ядра Drupal

5.1.1. Установить основные компоненты (ядро) CMS Drupal 11 в тестовой среде.

5.1.2. Произвести конфигурирование базовых настроек ядра.

5.2. Обновление и замена модулей

5.2.1. Установить доступные модули, используемые на старом сайте (CMS Drupal 8), имеющие

совместимость с Drupal 11.

5.2.2. Произвести поиск и установку альтернатив для несовместимых модулей.

5.2.3. Протестировать работу каждого модуля после обновления.

5.3. Адаптация пользовательских модулей

5.3.1. Переписать пользовательские модули в соответствии с API Drupal 11.

5.3.2. Обновить зависимости и хуки модулей.

5.3.3. Протестировать каждый обновленный пользовательский модуль.

5.4. Обновление темы оформления

5.4.1. Обновить основную тему оформления сайта для совместимости с Drupal 11.

6. МИГРАЦИЯ ДАННЫХ В ТЕСТОВУЮ СРЕДУ

6.1. Подготовка структуры данных

6.1.1. Проанализировать изменения в схеме базы данных между версиями CMS Drupal.

6.1.2. При необходимости создать миграционные скрипты и настроить правила миграции для особых типов содержимого.

6.2. Миграция контента

6.2.1. Осуществить перенос базы данных со всеми типами материалов, таксономий, представлений, учетными записями пользователей и т.п.

6.2.2. Произвести верификацию целостности перенесенных данных.

6.3. Миграция файлов и мультимедиа

6.3.1. Осуществить перенос всех файлов, медиафайлов и прикрепленных документов.

6.3.2. При необходимости произвести обновление путей к файлам в соответствии с новой структурой.

6.3.3. Выполнить проверку целостности и доступности всех файлов.

7. ОБНОВЛЕНИЕ ФРОНТЕНДА

7.1. Адаптация темы оформления

7.1.1. При необходимости изменить шаблоны Twig и осуществить адаптацию CSS/JS-кода в соответствии с требованиями новой версии CMS Drupal 11.

7.1.2. Проверить правильность отображения контента после адаптации темы оформления.

7.1.3. Дизайн (внешний вид) обновленного сайта на CMS Drupal 11 не должен отличаться от дизайна сайта на CMS Drupal 8.

7.1.4. Любые изменения в дизайне (внешнем виде) обновленного сайта должны предварительно согласовываться с Заказчиком.

7.2. Оптимизация для мобильных устройств

7.2.1. Провести проверку адаптивного (responsive) дизайна сайта на различных устройствах (включая мобильные) и в различных браузерах (Microsoft Edge, Google Chrome, Mozilla Firefox, Apple Safari).

7.2.2. В случае необходимости, произвести корректировку шаблонов и CSS/JS-кода для корректной работы сайта на мобильных устройствах.

8. ТЕСТИРОВАНИЕ

8.1. Функциональное тестирование

8.1.1. Разработать тест-кейсы для проверки всех функций сайта.

8.1.2. Произвести тестирование всего пользовательского пути (user journey).

8.1.3. Выполнить выявление и исправление функциональных ошибок.

8.2. Тестирование и оптимизация производительности

8.2.1. Произвести измерение скорости загрузки страниц.

8.2.2. Проанализировать использование памяти и CPU во время работы CMS под нагрузкой.

8.2.3. Выполнить оптимизацию узких мест производительности.

8.3. Тестирование пользовательского восприятия

8.3.1. Провести тестирование с участием реальных пользователей. Возможно привлечение

ответственных лиц со стороны Заказчика.

8.3.2. Осуществить сбор и анализ обратной связи.

8.3.3. Произвести внесение финальных корректировок.

9. РАЗВЕРТЫВАНИЕ

9.1. Подготовка производственной среды для развертывания

9.1.1. Исполнитель осуществляет удаленную настройку необходимых сервисов и компонентов на сервере Заказчика предоставленного Исполнителю в своей инфраструктуре для развертывания обновленной версии сайта на CMS Drupal 11.

9.2. Планирование перехода

9.2.1. Определить, по согласованию с Заказчиком, временное окно для окончательной миграции со старого сайта на обновленную версию сайта.

9.2.2. Разработать пошаговый план перехода.

9.2.3. Подготовить сценарий отката в случае проблем.

9.3. Миграция и запуск финальной версии сайта

9.3.1. Заказчик передает ответственному лицу Исполнителя финальную резервную копию старого сайта для переноса актуальных данных на обновленную версию сайта.

9.3.2. Исполнитель выполняет миграцию со старого сайта на обновленную версию сайта согласно плану перехода.

9.3.3. Исполнитель выполняет обновление ядра и модулей сайта до последних версий.

9.3.4. В случае присутствия ошибок и предупреждений в отчете о состоянии обновленного сайта они должны быть устранены.

9.3.5. Перед запуском финальной версии сайта в эксплуатацию Исполнитель, в течение 1 (одного) рабочего дня, должен провести итоговые тестовые испытания, включающие в себя проверку дизайна (внешнего вида), отображения

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

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

9.3.7. После проведения Исполнителем успешных итоговых испытаний он сообщает об этом Заказчику, который, в свою очередь, тестирует финальную версию сайта в течение 1 (одного) рабочего дня.

9.3.8. После всех проверок осуществляется запуск обновленного сайта в производство.

10. ПОСТ-МИГРАЦИОННЫЕ РАБОТЫ

10.1. Исполнитель обязан организовать в течении двух недель после запуска обновленного сайта в производство оперативное исправление выявленных Заказчиком проблем при эксплуатации обновленного сайта.

10.2. Информацию (описание, скриншоты) о выявленных проблемах Заказчик передает Исполнителю по электронной почте в адрес ответственного лица. Решение (исправление) таких проблем должно занимать не более 2 рабочих дней с момента получения Исполнителем информации по электронной почте.


Отчёт как шла работа над обновлением V8 до V11

Предварительный этап: Выбор стратегии миграции

Цель: Определить наиболее эффективный путь миграции сайта с Drupal 8.8.6 на Drupal 11.2.9.

Исходные данные: Версия 1 Исходная стабильная версия сайта на Drupal 8.8.6. Версия 2: Частично обновленная версия сайта до Drupal 11, содержит ошибки и дублированием контента.

Оценка вариантов:

1. Исправление версии 11: o Преимущества: Уже частично обновленная версия. o Недостатки: Ошибки, дублирование контента, некорректное обновление. Исправление этих проблем потребовало бы значительных временных затрат на удаление и миграцию контента.

2. Обновление версии 8: o Преимущества: Стабильная база, возможность поэтапного обновления с тестированием на каждом этапе. Это позволило избежать затрат времени на исправление ошибок и дублирования контента. o Недостатки: Требует времени на обновление, но более эффективным решением.

Решение: Выбрана стратегия обновления стабильной версии 8.8.6 до Drupal 11.2.9 с поэтапным тестированием. Это решение признано более эффективным и надежным, обеспечивающим корректную работу сайта и актуальность контента. Обновление с исходной версии оказалось менее затратным по времени и ресурсам, чем исправление ошибок в частично обновленной версии.

Следующий шаг: Переход к этапу обновления Drupal 8.8.6 до промежуточных версий (9.5.x, 10.5.x) с последующим обновлением до Drupal 11.2.9.

Этапы миграции Drupal 8.8.6 → Drupal 11.2.9

1. Стабилизация Drupal 8 Обновление ядра до финальной версии 8.9.2 Актуализация модулей и правки для стабильной работы на PHP 7.4.

2. Миграция на Drupal 9.5.2 Анализ модулей, которые могут помешать миграции. Обновление модулей и тем до версий, совместимых с Drupal 9.5.2. Обновление ядра и устранение ошибок Тестирование

3. Миграция на Drupal 10.5.7 Поднятие PHP до версии 8.1. Обновление модулей и тем до версий, совместимых с Drupal 10.5.7. Устранение ошибок и тестирование сайта.

4. Финальный переход на Drupal 11.2.9 Поднятие PHP до версии 8.3. Обновление всех модулей и тем до версий, совместимых с Drupal 11.2.9. Финальное тестирование сайта.

Итог: Миграция прошла успешно, сайт работает на актуальной версии Drupal 11.2.9 с обновленными модулями. Модуль Header and Footer Scripts удален, так как не поддерживается, один скрипт был перенесен в . Все ошибки и конфликты в процессе работы устранены.

Постмиграционные работы После завершения миграции Drupal 8.8.6 → Drupal 11.2.9 были выполнены следующие работы:

1. Корректировка шаблонов

Страница Общероссийские конкурсы Шаблоны были модуля Bootstrap Paragraphs предыдущей версии скопированы в тему и адаптированы под текущую версию. o Исправлены ошибки, связанные с устаревшими конструкциями.

Страница Департаменты: Аналогично, шаблоны были перенесены в тему, адаптированы и исправлены ошибки.

2. Актуализация контента Контент не изменялся, версия от 4.12.25. Проверено отсутствие дублей и корректность отображения.

3. Исправление ссылок Исправление ссылок не требуется, так как ошибки связаны с переносом контента между сайтами Ссылки, представленные в техническом задании открываются

4. Языковой блок Данный пункт с обновлением не связан, на рабочей версии сайта наблюдается такая же работа блока, французская и китайская версия – это одна из страниц английской версии сайта Внесены правки в код блока переключения языка, при нахождении на странице на французском/китайском языке ссылки английской/русской версии ведут на главную страницу

Итог:

Все постмиграционные работы выполнены. Сайт работает корректно, все ошибки устранены, контент актуален. Сайт размещен на сервере с необходимой конфигурацией https://conservatorya.atoll-it.ru/

Рекомендации по дальнейшей модернизации:

1. Миграция проекта на Composer-управляемую сборку Drupal 11.

Преимущества: o Все ядро, модули и библиотеки становятся зависимостями в composer.json, что упрощает управление версиями и обновление. o Соответствие официальным рекомендациям Drupal 10/11.

2. Настройка SMTP Описание: В текущей версии сайта не работает отправка почтовых сообщений через SMTP. Причина: Не установлена необходимая библиотека. Рекомендация: Настроить SMTP для стабильной доставки почтовых сообщений.

3. Установка виджета переключения языка Преимущества: o Нет привязки к контенту, перевод осуществляется автоматически o Поддержка большого количества языков.

Для корректной индексации страниц на английском языке виджет можно использовать в связке с текущей настройкой переводов

4. Для безопасного управления сайтом всегда нужен контроль пользователей.

С точки зрения Drupal пользователи — это все посетители сайта, начиная от случайных гостей и заканчивая администраторами. Их роли задаются в центре управления. Обычно создаются следующие сущности:

Анонимный — посетитель без регистрации.
Зарегистрированный — пользователь, который прошёл авторизацию, но не имеет доступа к административным разделам сайта.
Автор — пользователь, который может добавлять материалы в указанные администратором разделы.
Администратор — пользователь, который обладает всеми правами доступа.

Вы можете загрузить дополнительные модули на Drupal.org Module Downloads, или создать собственный пользовательский модуль.