Миграция с Drupal 7 на 10: чек-лист перед продакшеном
Переход с Drupal 7 на Drupal 10 — не обновление поверх старого сайта, а перенос данных и пересборка функциональности. Проверьте карты полей, файлы, роли, интеграции и сценарий отката до переключения домена.

Что проверить до переключения сайта
Переезд с Drupal 7 на Drupal 10 — это миграция в новую систему, а не последовательное обновление одной установки. Если перенести только материалы, но забыть про файлы, права, формы и интеграции, в день запуска сайт может выглядеть целым, а важные сценарии — перестать работать. Этот чек-лист поможет проверить перенос на тестовой копии и подготовить переключение без необратимых действий.
Сначала зафиксируйте состав старого сайта
Не начинайте с запуска мастера миграции. Сначала составьте список того, что реально работает в Drupal 7: типы материалов, пользовательские поля, таксономия, роли, представления, формы, модули и внешние связи. Название модуля в админке не говорит, что его функциональность автоматически появится в Drupal 10: для каждого компонента нужно найти замену, перенести настройки вручную или признать, что он больше не нужен.
- Запишите версии Drupal 7, PHP, базы данных и ключевых модулей. Сохраните список включённых и отключённых модулей.
- Посчитайте материалы по типам, пользователей, термины словарей и файлы. Эти числа станут контрольными точками после переноса.
- Зафиксируйте адреса страниц и важные сценарии: поиск, оформление заказа, отправка формы, вход пользователя, скачивание файла.
- Отдельно отметьте данные, которые нельзя переносить без проверки: пароли, персональные данные, журналы, временные записи.
Drupal 7 завершил основную поддержку 5 января 2025 года. Это не означает, что старый сайт мгновенно перестанет работать, но оставаться на нём без отдельного плана поддержки и защиты рискованно.
Выберите способ миграции под объём проекта
В Drupal 10 есть инструменты семейства Migrate для переноса данных из Drupal 6 и 7. Миграция может быть запущена через интерфейс или организована через командную строку и собственные преобразования. Ни один способ не отменяет ручной проверки результата: особенно если старый сайт использует нестандартные поля, собственные модули или изменённую структуру данных.
| Подход | Когда подходит | Цена и ограничения |
|---|---|---|
| Интерфейс миграции | Небольшой сайт с типовыми сущностями и полями | Проще начать и увидеть доступные миграции. Меньше контроля над сложными преобразованиями; проверяйте, какие сущности и настройки поддерживает выбранная версия. |
| Командный запуск миграций | Повторяемые прогоны, большой объём данных, тестовый стенд | Удобнее автоматизировать и сравнивать результаты. Нужны навыки работы с инструментами проекта и аккуратная проверка журналов ошибок. |
| Собственные миграции и преобразования | Нестандартная модель данных, собственные поля или правила очистки | Больше контроля, но выше стоимость разработки и сопровождения. Каждое преобразование требует тестов и сверки с исходными данными. |
Для интерфейса и команд сверяйтесь с документацией именно той версии Drupal 10 и используемых компонентов, которые установлены на целевом сайте. Не переносите инструкции для старых версий Drupal или сторонних модулей без проверки совместимости.
Успешный запуск миграции означает, что процесс завершился. Он не доказывает, что сайт перенёс нужные данные и сохранил поведение.
Чек-лист тестового прогона
- Подготовьте отдельные копии. Сделайте резервную копию файлов и базы Drupal 7, восстановите её на тестовой среде и подготовьте чистую установку Drupal 10. Не экспериментируйте на единственной копии исходного сайта. Проверка: старый сайт по-прежнему открывается, а тестовый стенд можно пересоздать из сохранённых копий.
- Сверьте окружение. Проверьте требования Drupal 10 и совместимость выбранных модулей с установленными версиями PHP и базы данных. Проверка: установка и тестовая миграция проходят без ошибок требований и несовместимых расширений.
- Проверьте соответствие полей. Сопоставьте поля Drupal 7 с полями и типами данных в Drupal 10. Особое внимание уделите ссылкам, датам, многоязычным значениям и полям, добавленным сторонними модулями. Проверка: выборка записей каждого типа показывает ожидаемые значения, а не пустые поля или обрезанные данные.
- Проверьте файлы и изображения. Сверьте число файлов, пути, доступность изображений в материалах и правила доступа к закрытым файлам. Проверка: откройте несколько старых и новых материалов, включая записи с несколькими изображениями и документами.
- Проверьте пользователей и права. Сопоставьте роли и разрешения, протестируйте вход и доступ к закрытым разделам под учётными записями разных ролей. Не считайте перенос хешей паролей гарантированным без проверки конкретного пути миграции. Проверка: пользователь может войти предусмотренным способом, а лишние данные не доступны его роли.
- Проверьте URL и перенаправления. Сравните адреса важных страниц до и после переноса. Подготовьте перенаправления для изменившихся путей и проверьте ответы сервера для старых адресов. Проверка: сохранённые ссылки ведут на нужные страницы, а не на главную или ошибку 404.
- Пройдите ключевые сценарии. Проверьте поиск, формы, регистрацию, письма, платежи или другие интеграции, если они есть. Проверка: сценарий проходит от начала до ожидаемого результата, а событие появляется в журнале или внешней системе.
- Повторите миграцию. Выполните новый прогон на чистой целевой базе по документированному сценарию. Проверка: команда или интерфейс дают воспроизводимый результат, а повторный запуск не создаёт неожиданных дублей.
Что ломается чаще всего
Функция старого модуля не переехала
Миграция данных и перенос функциональности — разные задачи. Старый модуль может хранить значения, но не иметь совместимого аналога в целевой системе; представление, форма или логика доступа потребуют отдельной настройки. Составьте таблицу «модуль Drupal 7 — нужное поведение — решение в Drupal 10 — ответственный» и закройте каждую строку до запуска.
Количество записей совпало, а содержимое — нет
Одинаковое число материалов не гарантирует сохранность значений. Могут потеряться связи между сущностями, перевод, форматирование или вложенные значения поля. Сравнивайте не только общие числа, но и выборки конкретных записей: самые старые, самые новые, записи с необычными полями и пустыми значениями.
Файлы видны редактору, но недоступны посетителю
Причина может быть в правах, путях или различии между публичным и закрытым хранением. Проверяйте страницы как анонимный посетитель и как пользователь с ограниченной ролью. Отдельно убедитесь, что резервная копия включает файловое хранилище, а не только базу.
Сайт переключили, но внешние системы продолжают обращаться к старому
Проверьте DNS, сертификаты, вебхуки, почтовые настройки, аналитику и расписания фоновых задач. Составьте перечень интеграций и владельцев доступа: без него часть событий может молча уходить на старый адрес.
План запуска и отката
До переключения назначьте окно работ и заморозьте изменения контента либо договоритесь о финальном переносе записей, появившихся после последней копии. Уточните, кто меняет DNS и кто проверяет сайт. Сохраните резервную копию базы и файлов непосредственно перед запуском; заранее проверьте, что её можно восстановить.
- Зафиксируйте момент остановки редактирования и способ переноса последних изменений.
- Подготовьте порядок переключения домена, TLS-сертификата и интеграций.
- Определите критерии отката: например, критическая ошибка входа, потеря данных или отказ основного пользовательского сценария.
- Назначьте ответственного за мониторинг ошибок, очередей, почты и обращений пользователей после запуска.
Не переключайте продакшен, пока не проверили восстановление резервной копии и не знаете, как вернуть трафик на прежний сайт. Если после запуска пользователи начнут создавать новые данные, откат может потребовать отдельного плана их сохранения.
Что делать дальше
Начните с инвентаризации Drupal 7 и одного полного тестового прогона. Затем исправьте несоответствия полей и функциональности, повторите перенос на чистую базу и проведите приёмку по заранее записанным сценариям. После запуска следите за журналами ошибок, страницами 404, отправкой форм и успешностью фоновых задач: именно там часто обнаруживаются проблемы, которые не видны на главной странице.
Миграция — перенос данных и их преобразование между системами; она не означает, что старый код автоматически станет совместимым с новой платформой.
Тендерный специалист 44-ФЗ / 223-ФЗ: Разбор PDF-документации закупки, поиск «заточек» под поставщика, чек-лист заявки.
Спросить за 20 ₽Источники: Upgrading from Drupal 6 or 7 to Drupal 10 or later — Drupal.org, Drupal 10 system requirements — Drupal.org
Частые вопросы
Можно ли обновить Drupal 7 до Drupal 10 поверх существующей установки?
Перенесутся ли модули и тема оформления Drupal 7?
Что делать, если тестовая миграция завершилась с ошибкой?
Нужно ли переносить пользователей и их пароли?
Можно ли оставить Drupal 7 включённым после запуска Drupal 10?
Когда можно переключать домен на новый сайт?
Материал носит информационный характер и подготовлен редакцией «Агентуры». Он не является офертой, рекламой или индивидуальной консультацией. Упомянутые продукты, компании и торговые знаки принадлежат их правообладателям. Перед принятием решений, влекущих юридические или финансовые последствия, обратитесь к профильному специалисту.