Как взламывают сайты малого бизнеса: разбор на собственном опыте

- Взломали не «хакеры ради денег», а автоматика, ищущая уязвимые сайты пачками.
- Цель — не испортить вам сайт, а разместить на нём чужие страницы для чужого продвижения.
- Дольше всего живут не файлы, а следы в индексе поисковика: у нас — 623 адреса спустя два года.
- 404 их не убирает. Нужен 410 — и терпение.
Об этом неудобно писать, но полезнее, чем очередной текст «десять советов по безопасности». Расскажем на своём.
Что произошло
В 2024 году на sweb.com.ua появились страницы, которых мы не делали: итальянские карточки товаров вроде /Coffee-Remover-32oz-Pack-Of-2-Made-In-USA-m-372907. Несколько сотен штук. Мы их не видели — на сайте они не были в меню и не появлялись в навигации. Их видел только поисковый робот.
Это называется паразитным размещением. Злоумышленнику не нужен ваш бизнес — ему нужен домен с хоть какой-то репутацией, чтобы чужие страницы быстрее попали в индекс.
Как обычно заходят
В подавляющем большинстве случаев — не через сложную атаку, а через одно из трёх:
- Устаревший плагин. Уязвимость опубликована, обновление вышло, ваш сайт обновили через полгода.
- Слабый пароль администратора. Особенно если логин —
admin, а перебор идёт роботом. - Чужой шаблон с торрента. Вместе с дизайном приезжает закладка.
Чистка — это половина дела
Файлы мы убрали, ядро проверили по контрольным суммам, базу почистили. Казалось, всё.
Через два года в Search Console висело 623 адреса в разделе ошибок. Страниц давно нет, они отдают 404 — но Google послушно приходил за ними снова и снова, потому что на них до сих пор ссылаются сайты чужой сети. Каждый отчёт об индексации начинался с чужого мусора.
Что в итоге сработало
410 вместо 404. Это главное. 404 означает «сейчас не найдено» — робот предполагает, что страница может вернуться, и заходит ещё раз. 410 означает «удалено навсегда» — и адрес вылетает из очереди обхода значительно быстрее.
Карта сайта с мусором. Звучит странно, но работает: собираем все мёртвые адреса в отдельный sitemap.xml и подаём в Search Console. Google перечитывает их пачкой, получает 410 и снимает с учёта. Без карты тот же процесс растягивается на месяцы.
Терпение. Быстрее нескольких недель это не происходит ни при каких условиях. Инструмент «Удаление URL» здесь не помогает — он прячет на полгода то, что есть в индексе, а этих адресов в индексе уже и не было.
Что сделать у себя сегодня
- Проверьте в Search Console раздел индексации — нет ли там адресов, которых вы не создавали.
- Переименуйте пользователя
admin, если он у вас есть. - Включите двухфакторную аутентификацию в админке.
- Убедитесь, что резервные копии делаются вне хостинга.
Последний пункт самый важный. Бэкап, лежащий на том же сервере, в момент проблемы обычно оказывается зашифрованным вместе с сайтом.
Поддержка сайта от $25 в месяц: обновления, ежедневные резервные копии вне хостинга, мониторинг и безопасность.