
Сайт на DotNetNuke (DNN) в 2026 году: поддержка, обновление до DNN 10 или переход на новую платформу
Сайт на DotNetNuke запустили в 2008–2014 годах, он до сих пор работает, но обновлять его боятся: модули писали люди, которые давно ушли, сервер стареет, а любой апгрейд грозит белым экраном. Разбираем, что происходит с DNN в 2026 году и какой путь выбрать.
DotNetNuke — одна из первых CMS на ASP.NET. Её выбирали корпоративные сайты, порталы вузов и интранеты, потому что она жила на привычном Windows-стеке, а свои модули можно было писать на VB.NET. Большинство таких сайтов сейчас застряли на DNN 7, 8 или ранней 9-й версии: работают, но каждое обновление откладывают.
Варианта три: обновить платформу до DNN 10, перенести контент на другую CMS или сделать новый сайт на современном стеке и закрыть DNN. Первый вариант можно сделать силами своего .NET-разработчика. Два других — это уже проект с дизайном, переносом контента и редиректами, и обычно его отдают подрядчику: новый сайт под ключ делают, например, в YuSMP Group. Ниже — как понять, какой вариант ваш, и как не потерять поисковый трафик при любом из них.
Что такое DNN и почему он до сих пор работает?
DNN (раньше DotNetNuke) — CMS на ASP.NET Web Forms, выросшая в начале 2000-х из демонстрационного портала Microsoft. Первые версии были написаны на VB.NET, в шестой версии код платформы перевели на C#. Сейчас есть две линии: бесплатная DNN Platform, которую развивает сообщество, и коммерческая Evoq с отдельной поддержкой.
Сайт на DNN устроен так: страницы (в базе — таблица Tabs), на каждой странице модули (Modules, TabModules), тексты HTML-модуля с историей версий (HtmlText), файлы портала в каталоге /Portals/0/, пользователи — в таблицах ASP.NET Membership. Всё это работает на IIS и SQL Server. Поэтому сайт не «ломается сам»: пока жив сервер, он открывается годами.
Проблема в окружении. Старые версии DNN требуют старых .NET Framework и SQL Server, а их поддержка заканчивается вместе с операционными системами. Например, Windows Server 2016 с IIS 10 перестанет получать обновления 12 января 2027 года, и многие DNN-сайты живут именно на нём (подробнее — в разборе окончания поддержки Windows Server 2016 и IIS 10).
Какие версии DNN актуальны в 2026 году?
DNN 10.0.0 вышла 9 апреля 2025 года и подняла минимальные требования. С тех пор ветка 10.x обновляется регулярно: 10.3.2 вышла в мае 2026 года, 10.4.0 — 6 октября, 10.4.1 — 28 октября 2026 года. Ориентировочные требования старых веток сведены в таблицу ниже, требования 10-й версии — в документации DNN.
| Ветка | Платформа .NET | SQL Server | Что это значит для сайта |
|---|---|---|---|
| DNN 5–6 | .NET Framework 3.5–4.0 | 2005–2008 R2 | Окружение без обновлений безопасности, прямое обновление до 10 невозможно |
| DNN 7–8 | .NET Framework 4.0–4.5.x | 2008–2016 | Обновляется только через цепочку промежуточных версий |
| DNN 9.x | .NET Framework 4.5.2–4.7.2 | 2008 R2 и новее | Ближе всего к 10-й версии, но модули с Telerik придётся переделать |
| DNN 10.x | .NET Framework 4.8 | 2017, 2019, 2022, Azure SQL | Поддерживаемая ветка; Windows Server 2016 и новее или Azure App Service |
Важная деталь: версии DNN на современном .NET (ASP.NET Core, .NET 8–10) нет и не анонсировано. Вся платформа держится на .NET Framework 4.8, который Microsoft поддерживает как компонент Windows, — сроки зависят от жизненного цикла ОС, их можно проверить на странице жизненного цикла .NET Framework. Значит, обновление до DNN 10 продлевает жизнь сайту, но не переводит его на новый стек.
Чем опасен сайт на старом DNN?
Старый DNN редко падает сам. Риски копятся тихо, и обычно о них узнают в момент инцидента:
- Уязвимости платформы. В DNN 7–9 закрыто много серьёзных уязвимостей, включая проблемы десериализации в обработке cookie и загрузке файлов. Если сайт не обновляли, исправлений у вас нет.
- Сторонние модули без вендора. Формы, галереи, новостные ленты от компаний, которых уже нет. Исходников нет, обновлений нет, совместимость с новой версией DNN никто не гарантирует.
- Свои модули на VB.NET. Их писал разработчик, который ушёл, и собрать проект на новой машине бывает непросто: нужна старая Visual Studio, конкретные сборки DNN и Telerik.
- Старый сервер. Windows Server 2012 R2 уже без обновлений, 2016 — до января 2027 года.
- Устаревший фронтенд. Тяжёлые темы со старым jQuery, без адаптивной вёрстки, с медленной загрузкой — на телефоне такой сайт неудобен, и посетители уходят раньше, чем дочитают.
- Зависимость от людей. Как редактировать сайт, знает один контент-менеджер, а как обновлять — никто.
Если сайт написан на Web Forms без DNN, базовые меры защиты те же — они собраны в материале про укрепление старого сайта на ASP.NET Web Forms.
Обновить, перенести или сделать новый сайт: как выбрать?
Решение зависит не от возраста DNN, а от того, что на сайте происходит. Если это витрина с текстами и новостями, ценность — в контенте и URL, а не в платформе. Если на DNN живут личные кабинеты, заявки и интеграции с учётной системой, это уже приложение, и думать надо о нём.
| Вариант | Когда подходит | Плюсы | Минусы |
|---|---|---|---|
| Обновить до DNN 10 | DNN 9.x, немного своих модулей, команда знает .NET | Быстрее всего, редакторы работают как раньше | Остаётесь на .NET Framework и Web Forms |
| Перенести на другую CMS | Контентный сайт, модули — стандартные | Современная админка, больше специалистов на рынке | Нужно переносить контент, вёрстку и редиректы |
| Новый сайт на современном стеке | Сайт устарел визуально, нужна новая структура и скорость | Новый дизайн, адаптивность, скорость, чистая архитектура | Самый объёмный проект: дизайн, разработка, перенос |
| Вынести приложение отдельно | Внутри DNN — кабинеты, формы, интеграции | Логика переезжает в нормальное веб-приложение, сайт упрощается | Два проекта вместо одного, нужен план этапов |
Последний вариант часто сочетают с одним из первых: публичную часть переносят на CMS или делают новый сайт, а бизнес-модули переписывают на ASP.NET Core по той же схеме, что и обычное Web Forms-приложение. Как спланировать такую миграцию, мы разбирали в плане перехода с Web Forms на ASP.NET Core и Blazor.
Как обновить DNN до 10-й версии: пошаговый план
Перескочить с DNN 7 сразу на 10 нельзя: обновление идёт через промежуточные версии, у каждой из которых свои скрипты миграции базы. Актуальная цепочка опубликована в рекомендуемом пути обновления DNN. Типичный порядок работ:
- Полная резервная копия. База данных и весь каталог сайта, включая
web.configи/Portals/. Проверьте, что из копии сайт действительно поднимается. - Копия на тестовом сервере. Все обновления — только там, боевой сайт не трогаете до финала.
- Инвентаризация модулей. Выгрузите список установленных расширений и отметьте, какие реально используются на страницах. Неиспользуемые удалите до обновления.
- Проверка Telerik и устаревших API. В DNN 10 библиотеки Telerik удаляются принудительно, а API, помеченные устаревшими в 8-й версии и раньше, вырезаны. Модули, которые на них опираются, перестанут работать.
- Обновление по цепочке. Например, 7.4.2 → 8.0.4 → 9.1.1 → 9.3.2 → 9.13.x → 10.x. После каждого шага открываете сайт и журнал событий, а не только главную страницу.
- Неопубликованный контент. В 10-й версии HTML-модуль перешёл на новый механизм согласования, поэтому черновики и неутверждённые правки нужно опубликовать или удалить заранее.
- Окружение. .NET Framework 4.8, SQL Server 2017 или новее, Windows Server 2016 или новее (лучше 2022/2025 — у 2016 поддержка кончается в январе 2027 года).
- Регресс и переключение. Формы, поиск, вход пользователей, загрузка файлов, ЧПУ-адреса. Только после этого — перенос на боевой сервер в согласованное окно.
Как перенести сайт с DNN без потери поискового трафика?
Главный актив старого сайта — не дизайн, а адреса страниц, которые годами собирали ссылки и позиции. Переезд с DNN ломает их чаще всего, потому что у DNN своеобразные URL: /Default.aspx?tabid=57, /tabid/57/Default.aspx, «дружественные» адреса из таблицы TabUrls и ссылки на файлы вида /Portals/0/docs/price.pdf.
Переезд по шагам: от списка URL до проверки после запуска
- Соберите все URL. Из карты сайта, логов IIS за несколько месяцев, Яндекс Вебмастера и Google Search Console, а также краулером. Учтите старые форматы адресов — по ним всё ещё приходят люди и роботы.
- Выгрузите контент из базы. Тексты HTML-модулей берутся из
HtmlText(последняя опубликованная версия), структура страниц — изTabs, связь страниц и модулей — изTabModules. Для новостей и блогов сторонних модулей у каждого вендора свои таблицы. - Перенесите файлы. Каталог
/Portals/0/с картинками и документами. Ссылки внутри текстов придётся переписать на новые пути. - Составьте карту 301-редиректов. Каждый старый адрес — на ближайший по смыслу новый, без цепочек и без массового редиректа на главную.
- Перенесите мета-теги. Title, description и заголовки страниц хранятся в
Tabs— выгрузите их вместе с текстами, а не пишите заново. - Пользователи. Пароли в ASP.NET Membership хранятся в виде хешей со своей схемой. Либо реализуете проверку старого хеша при первом входе, либо просите пользователей сбросить пароль.
- Проверка после запуска. Обход старых URL скриптом (все должны отдавать 301 и затем 200), новая карта сайта в вебмастерах, контроль индексации и позиций первые 4–6 недель.
Похожая задача — переезд со старого Classic ASP; там те же грабли с адресами и редиректами, мы описывали их в статье о переходе с сайта на Classic ASP.
Что делать с собственными модулями на VB.NET?
Свои модули — главный фактор стоимости любого варианта. Сначала разберите их по трём группам:
- Отображение контента (каталоги, списки, карточки). Почти всегда заменяются стандартными возможностями новой CMS или шаблонами нового сайта. Переписывать их как модули DNN 10 обычно нет смысла.
- Формы и заявки. Переносятся как отдельные формы с отправкой в CRM или почту. Важно сохранить поля и маршрутизацию заявок, а не код.
- Бизнес-логика (расчёты, личные кабинеты, обмен с учётной системой). Это и есть приложение. Его либо обновляют под DNN 10 (замена Telerik-контролов, сборка под .NET Framework 4.8), либо выносят в отдельное веб-приложение с API.
Модули на VB.NET можно оставить на VB.NET при обновлении до DNN 10: платформа на C#, и собранные сборки на VB.NET работают, если не опираются на удалённые API и Telerik. А вот если логика уходит на ASP.NET Core, её обычно переписывают на C#: Web Forms там нет, и переносится не код страниц, а правила, которые в нём спрятаны.
Чек-лист: что выяснить до решения
- Точная версия DNN (видна в панели администратора) и версия .NET Framework на сервере.
- Версия Windows Server и SQL Server, сроки их поддержки.
- Список установленных модулей: какие используются, у каких жив вендор, для каких есть исходники.
- Есть ли на сайте личные кабинеты, оплаты, интеграции — то есть часть, которая является приложением.
- Сколько страниц и документов, какие из них приносят трафик (данные вебмастеров за год).
- Кто будет поддерживать сайт после проекта: ваша команда на .NET, редактор без программиста или подрядчик.
- Есть ли рабочая резервная копия и тестовый сервер.
Ответы на эти вопросы обычно сами подсказывают путь: свежий DNN 9 с парой модулей — обновлять; контентный сайт на DNN 6 — переносить; сайт, который выглядит на 2012 год и не продаёт, — делать заново.
Как это делают сегодня
Вопросы и ответы о сайтах на DNN
DotNetNuke ещё поддерживается в 2026 году?
Да. DNN Platform развивает сообщество: ветка 10.x регулярно обновляется, версия 10.4.1 вышла 28 октября 2026 года. Но платформа по-прежнему работает только на .NET Framework 4.8 и ASP.NET Web Forms, версии на современном .NET нет.
Можно ли обновить DNN 7 сразу до DNN 10?
Нет. Обновление идёт по цепочке промежуточных версий, например 7.4.2 → 8.0.4 → 9.1.1 → 9.3.2 → 9.13.x → 10.x. Каждый шаг выполняют на тестовой копии сайта и проверяют журнал событий и ключевые страницы.
Почему после обновления до DNN 10 перестали работать модули?
Чаще всего из-за удаления библиотек Telerik и устаревших API, помеченных obsolete в 8-й версии и раньше. Такие модули нужно пересобрать с заменой контролов или заменить аналогами.
Как сохранить позиции сайта при переезде с DNN?
Соберите все старые URL, включая адреса вида /tabid/57/Default.aspx и ссылки на файлы в /Portals/0/, настройте 301-редирект каждого адреса на ближайшую новую страницу, перенесите title и description и после запуска обойдите старые адреса скриптом.
Что дешевле: обновить DNN или сделать новый сайт?
Для DNN 9 с небольшим числом модулей обычно дешевле обновление. Для DNN 5–6 со старым дизайном пять-шесть промежуточных обновлений нередко сопоставимы по трудозатратам с переносом контента на новый сайт, который к тому же решает проблемы скорости и адаптивности.
Можно ли оставить свои модули на VB.NET?
При обновлении до DNN 10 — да, если они не используют удалённые API и Telerik. При переходе на ASP.NET Core логику обычно переписывают на C#, потому что Web Forms там нет.