Этот вопрос нам задают чаще остальных, и он совершенно справедливый. Сайт работает, деньги за него заплачены, менять ничего не хочется. Разберёмся спокойно: дело не в том, что WordPress плохо написан. Дело в том, что к нему прилагается.
Из чего на самом деле состоит «сайт на WordPress»
Заказчик видит один продукт. Внутри современного профессионального WordPress-проекта обычно собрано вот что:
- Ядро и PHP-обвязка: WordPress Core, Composer, шаблонизатор Twig, прослойка Timber между ними.
- Обязательный набор плагинов: Advanced Custom Fields Pro для произвольных полей, библиотека блоков для редактора, SEO-плагин, конструктор форм, плагин кеширования.
- Фронтенд: Tailwind CSS, Alpine.js, дополнения к нему, плюс jQuery, который тянется в ядре с незапамятных времён.
- Сборка: Node.js, менеджер пакетов, Vite, PostCSS, Autoprefixer — и несколько сотен пакетов, которые они подтягивают за собой.
- Обслуживание: плагины для миграции базы между сервером и рабочей машиной, для выноса картинок в облачное хранилище.
- Шрифты и иконки: отдельные наборы, нередко подгружаемые с чужого сервера.
Каждая строка в этом списке — отдельный продукт с отдельным автором, своим темпом обновлений, своей лицензией и своей историей уязвимостей. Ни на один из них владелец сайта не влияет.
Что показывает статистика за 2025 год
Компания Patchstack, крупнейший в мире координатор уязвимостей WordPress, ежегодно публикует отчёт по экосистеме. Цифры из отчёта за 2025 год:
- 11 334 новые уязвимости за год — на 42% больше, чем годом раньше.
- 91% из них — в плагинах. В самом ядре WordPress за весь год нашли ровно две, и обе незначительные.
- 46% уязвимостей стали публичными раньше, чем вышло исправление. То есть почти половину дыр в момент огласки закрыть было нечем.
- Медианное время до первой попытки эксплуатации — пять часов. В первые сутки после огласки атакуют 45% уязвимостей, в первую неделю — 70%.
Последний пункт — самый неприятный. Он означает, что совет «вовремя обновляйтесь» перестал работать: между публикацией дыры и первой волной автоматических атак проходит меньше рабочего дня.
И ещё одна цифра из предыдущего отчёта: за 2024 год из официального каталога WordPress удалили более 1600 плагинов и тем с незакрытыми уязвимостями. Если такой плагин стоял на сайте, он там и остался — просто обновлять его больше некому.
Вас не взламывают. Вас сканируют
Это ключевая мысль, которую важно понять. Никто не сидит и не подбирает ключи к сайту компании «Ромашка». Работает это иначе: находится дыра в популярном плагине, под неё пишется готовый эксплойт, и дальше робот обходит интернет и пробует его на всех подряд. Чем популярнее продукт, тем выгоднее вкладываться в поиск дыр: одна находка открывает десятки тысяч сайтов сразу.
Самописный код в такие сканеры не попадает просто потому, что его нигде нет. К нему нет готового эксплойта, а разбираться персонально с сайтом небольшой компании никто не станет: это ручная работа, которая не окупается.
Атака, при которой сайт даже не ломают
Отдельная история — заражение через обновление. Показательный случай произошёл в 2024 году с сервисом polyfill.io: библиотекой для поддержки старых браузеров, которую подключали с чужого сервера более 100 тысяч сайтов. В феврале домен купила китайская компания, а к лету обнаружилось, что через него посетителям начали раздавать вредоносный код: пользователей мобильных устройств незаметно уводили на мошеннические сайты.
Обратите внимание: ни один из этих 100 тысяч сайтов не взламывали. Они просто продолжали делать то, что делали всегда, — загружать файл с чужого сервера. Владелец домена сменился, содержимое файла изменилось, и этого оказалось достаточно.
Любая строка вида «подключить файл с чужого сервера» — это доверенность, выданная навсегда и без права отзыва. Вы соглашаетесь показывать посетителям всё, что окажется по этому адресу завтра.
То же самое возможно и с плагином: автор бесплатного плагина может продать его, а новый владелец — добавить в очередное обновление всё что угодно.
Сколько это стоит в рублях
С 30 мая 2025 года в России действуют новые штрафы за утечку персональных данных. Для организаций и ИП они такие:
| Что произошло | Штраф для организации или ИП |
|---|---|
| Утечка данных от 1 000 до 10 000 человек | 3–5 млн рублей |
| Утечка данных от 10 000 до 100 000 человек | 5–10 млн рублей |
| Утечка данных более 100 000 человек | 10–15 млн рублей |
| Не сообщили в Роскомнадзор об утечке | 1–3 млн рублей дополнительно |
| Утечка повторно | 1–3% годовой выручки, но не менее 20 млн |
Для интернет-магазина или сервиса с личными кабинетами тысяча человек в базе — это совсем немного. При этом штраф не зависит от того, по чьей вине произошла утечка: отвечает перед законом владелец сайта, а не автор дырявого плагина из другой страны.
Как устроены наши проекты
Мы пишем код целиком сами. В проекте нет фреймворков, CMS, сторонних библиотек, внешних шрифтов и счётчиков: только HTML, CSS, JavaScript, а на сервере — PHP и MariaDB. Что это меняет:
| Типичный проект на WordPress | Наш проект | |
|---|---|---|
| Чужих компонентов | десятки плагинов, сотни пакетов сборки | нет |
| Обновления | постоянно, иначе накапливаются дыры | только сам сервер |
| Массовые сканеры | ищут именно такие сайты | такого кода в их базах нет |
| Запросы к чужим серверам | шрифты, счётчики, виджеты, CDN | ни одного |
| Работа без интернета | обычно невозможна | возможна, в закрытом контуре |
| Ежегодные подписки | лицензии на плагины и темы | нет |
| Требования к серверу | заметно выше | минимальные |
Проверить последнюю строчку про внешние запросы можно прямо сейчас, и мы советуем проделывать это с любым сайтом, который вам предлагают: нажмите F12, откройте вкладку «Сеть» и обновите страницу. На этой странице все запросы будут только к g3a.ru.
Чего мы не обещаем
Будем честны, иначе весь предыдущий текст ничего не стоит.
Ошибки бывают в любом коде, и в нашем тоже. Разница не в том, что мы пишем безупречно, а в том, что к уникальному коду не подходит готовый эксплойт и его не находит массовый сканер. Это снижает вероятность беды на порядки, но не до нуля.
Сервер обновлять всё равно придётся. Операционная система, PHP, nginx, MariaDB живут своей жизнью. Но это четыре предсказуемых компонента с многолетней историей совместимости, а не сорок плагинов от разных авторов.
Готовых плагинов «на все случаи» у нас нет. Если завтра понадобится функция, которой не было в задаче, её нужно написать, а не установить за пять минут. Иногда это дольше. Зато написанное делает ровно то, что нужно вам, без двадцати ненужных настроек.
Когда WordPress — разумный выбор
Он действительно бывает уместен. Если нужен обычный блог или сайт-визитка, бюджет минимальный, задачи типовые, а требований к безопасности особых нет — готовая CMS решит вопрос быстро и дёшево. Это нормальный инженерный компромисс, и уговаривать вас от него отказываться мы не станем.
Разговор стоит заводить, когда на сайте появляются данные людей, внутренние процессы компании или деньги. Когда простой или утечка стоят дороже, чем разработка. Когда систему нужно поставить в сеть без интернета. И когда не хочется в очередной раз слышать «сайт лежит, потому что обновился плагин».
Что делать, если сайт на WordPress уже есть
Немедленно всё переписывать не нужно. Разумный порядок действий такой:
- Посмотрите список установленных плагинов. Удалите те, которыми не пользуетесь: неработающий плагин уязвим ровно так же, как рабочий.
- Проверьте, когда каждый плагин обновлялся в последний раз. Если больше года назад — ищите замену.
- Убедитесь, что есть резервные копии и что вы хотя бы раз пробовали из них восстановиться.
- Посмотрите через F12, к каким чужим серверам обращается ваш сайт. Обычно там находится много лишнего.
- Прикиньте, что произойдёт с бизнесом, если база клиентов окажется в открытом доступе. Если ответ неприятный — стоит поговорить.
Разобрать ваш нынешний сайт и честно сказать, что с ним не так, мы можем бесплатно: напишите на info@g3a.ru.
Источники
- Статистика уязвимостей: Patchstack, State of WordPress Security in 2026.
- Атака через polyfill.io: исследование Sansec.
- Размеры штрафов: обзор изменений КоАП от КонсультантПлюс.