Как проверить свой сайт на вирусы и что делать, если он заражён
Браузер показал красный экран, Яндекс написал «сайт может угрожать безопасности», клиентов перебрасывает на чужие страницы. Разбираем, как бесплатно проверить сайт на вирусы, где прячется зараза и в каком порядке её убирать. Названия разделов панелей сверены на сентябрь 2026 года.
Проверить сайт на вирусы — значит убедиться, что в его страницах и файлах нет чужого кода: скрытых перенаправлений, вставленных скриптов, спам-страниц и файлов, которые заражают компьютеры посетителей. Владельцу без технических знаний доступны три бесплатных способа: отчёты о безопасности в Яндекс Вебмастере и Google Search Console, публичные сервисы проверки адреса (Safe Browsing, VirusTotal) и антивирус в панели хостинга. Первые два смотрят снаружи, третий — на файлы.
Как понять, что сайт заражён: 8 симптомов
Если сайт взломали, он редко «ломается» целиком — чаще открывается, а вредоносный код работает незаметно для владельца. Самые надёжные признаки — предупреждения поисковиков и браузеров и чужие страницы в поиске по вашему домену.
| Симптом | Что это значит |
|---|---|
| 1. Красный экран «Опасный сайт» в Chrome или предупреждение в Яндекс Браузере | Домен попал в базу Safe Browsing Google или Яндекса. Поисковик уже нашёл вредоносный код или обман пользователей — чистку начинать сегодня. |
| 2. Пометка в результатах поиска | Google пишет «Этот сайт может нанести вред вашему компьютеру» или «Возможно, этот сайт был взломан», Яндекс — «Сайт может угрожать безопасности вашего компьютера или мобильного устройства». |
| 3. Письмо от Вебмастера или Search Console | Обе панели пишут владельцу на почту, когда находят угрозу — обычно раньше жалоб клиентов. |
| 4. Посетителей перебрасывает на чужой сайт | В код вставлен скрытый редирект. Часто он срабатывает только из поиска или только с телефона, поэтому владелец со своего компьютера ничего не видит. |
| 5. В поиске по site:вашдомен.ru появились страницы на японском, про казино или лекарства | Спам-взлом: на сайте созданы сотни чужих страниц, которые видят только роботы. Пролистайте результаты до конца — это самая простая проверка без инструментов. |
| 6. Антивирус на компьютере ругается при открытии сайта | На странице подгружается вредоносный скрипт. Проверьте с другого устройства: если ругается и там, проблема в сайте. |
| 7. В списке пользователей CMS появился незнакомый администратор | Злоумышленник внутри и создал запасной вход. Пока аккаунт жив, он вернётся после любой чистки. |
| 8. Хостинг прислал уведомление о рассылке спама или превышении нагрузки | Сайт используют как рассыльщик спама или площадку для атак. Хостинг может отключить аккаунт. |
Самые коварные симптомы — четвёртый и пятый: редирект и спам-страницы видят только роботы и посетители из поиска. По справке Google, этот приём называется клоакингом.
Чем бесплатно проверить сайт на вирусы
Пять бесплатных инструментов закрывают почти все случаи: отчёты в панелях поисковиков, публичные сервисы проверки адреса и антивирус хостинга. Ни один не видит всё — проверяйте минимум тремя.
Проверка от Яндекса (yandex.ru/safety): показывает, считает ли Яндекс сайт опасным для посетителей.
VirusTotal прогоняет адрес через несколько десятков антивирусных баз и показывает, кто из них счёл сайт опасным.
| Инструмент | Что найдёт | Чего не найдёт |
|---|---|---|
| Яндекс Вебмастер → «Оптимизация сайта» → «Безопасность и нарушения» | Вредоносный код, нежелательные программы, скрытые перенаправления, обман пользователей — с примерами страниц. Яндекс проверяет сайты своим антивирусом и продуктами Sophos. | Заражение, которое Яндекс ещё не заметил, и файлы на сервере (шеллы, бэкдоры), не видные снаружи. |
| Google Search Console → отчёт «Проблемы безопасности» | Три группы: «Взломанный контент» (внедрение кода, контента, URL), «Вредоносное и нежелательное ПО», «Социальная инженерия». Даёт примеры заражённых адресов. | Причину взлома и файлы на сервере. В норме в отчёте — зелёная галочка «проблем не обнаружено». |
| «Безопасный просмотр: статус сайта» (отчёт Google о доступности сервисов) и «Проверка статуса сайта» Яндекса | Числится ли домен в базе опасных сайтов прямо сейчас. Доступ к панели не нужен — удобно проверить чужой сайт. | Ничего, кроме статуса: ни причин, ни адресов страниц. |
| VirusTotal, вкладка URL | Проверяет адрес более чем по 70 антивирусам и спискам опасных сайтов сразу. Пометка одним вендором — часто ложная, пятью и больше — заражение реально. | Смотрит на один адрес снаружи. Заражённую внутреннюю страницу или редирект для мобильных может пропустить. |
| Антивирус в панели хостинга (раздел обычно называется «Антивирус» или «Сканер») | Единственный в списке читает файлы на сервере: шеллы, бэкдоры, заражённые файлы темы и плагинов, чужие строки в .htaccess. Умеет отправить файл в карантин. | Скрипт в базе данных и лишних администраторов CMS. У части хостингов сканер — платная опция. |
Главный вывод таблицы: поисковики и VirusTotal смотрят на сайт снаружи, как посетитель, антивирус хостинга — изнутри. «В Вебмастере чисто» не значит, что сайт чист. Как Google и Яндекс решают пометить сайт — в статье про Safe Browsing.
Где обычно прячется вирус на сайте
Вредоносный код почти всегда живёт в одном из пяти мест: в теме или плагине, в папке загрузок, в файле .htaccess, в базе данных или в чужой учётной записи. Так понятнее, что нашёл сканер и почему одной чистки мало.
- Тема оформления и плагины. По справке Google, устаревшие и неофициальные темы и плагины — основной источник уязвимостей. Заражённый файл темы подгружает чужой код на каждую страницу.
- Папка загрузок. Туда складывают картинки, и туда же злоумышленник кладёт файл .php — «шелл», через который управляет сайтом. Сканер хостинга такие файлы находит.
- Файл .htaccess. Небольшой файл настроек сервера в корне сайта. Одна добавленная строка перенаправляет посетителей из поиска на чужой сайт. Честные и подозрительные перенаправления разобраны в статье про редиректы.
- База данных. Скрипт вставляют в текст записей или настроек. Файловый антивирус его не найдёт: файлы чистые, вирус — в содержимом страниц.
- Чужая учётная запись. Лишний администратор CMS или FTP-пользователь — «запасной ключ» злоумышленника. Пока он есть, сайт заразят снова через день после чистки.
Что делать, если сайт заражён
Порядок важен: сначала сохранить копию и закрыть входы, потом чистить, затем просить поисковики о перепроверке. Схема собрана по руководству Google для взломанных сайтов и справке Яндекс Вебмастера.
- Сделайте копию сайта как есть — вместе с вирусом. В панели хостинга создайте копию файлов и базы данных и скачайте её. Google советует две копии: для анализа и на случай, если чистка пойдёт не так. Какие бывают копии — в статье про виды бэкапов.
- Закройте сайт от посетителей, если он раздаёт вирус или редиректит. Включите заглушку «технические работы» в панели хостинга. Google предупреждает: запрет в robots.txt людей не защищает, он останавливает только роботов. Заодно напишите в поддержку хостинга.
- Смените все пароли и удалите лишние учётные записи. Пароли от панели хостинга, FTP, базы данных, администратора CMS и почты, на которую всё зарегистрировано. В пользователях CMS и FTP-аккаунтах удалите всех, кого не создавали вы. Новые пароли — длиннее 12 знаков и разные.
- Найдите последнюю чистую резервную копию и оцените, годится ли она. Копия должна быть старше первого симптома. Свежая и чистая — восстанавливайте из неё, это быстрее ручной чистки. Старая — восстанавливайте её, а новые тексты и картинки переносите из заражённой копии, проверив сканером.
- Если копии нет — вычистите файлы и базу сканером хостинга. Запустите «Антивирус» в панели, отправьте найденное в карантин, проверьте .htaccess и папку загрузок на файлы .php. Тему и плагины проще удалить и поставить заново с официального сайта. Просмотрите записи и настройки CMS на чужие скрипты.
- Обновите всё и закройте дыру. Обновите CMS, тему и плагины, удалите плагины, которыми не пользуетесь. Без этого чистка бессмысленна: злоумышленник войдёт той же дверью.
- Запросите перепроверку у поисковиков. В Вебмастере в разделе «Безопасность и нарушения» отметьте «Нарушение исправлено», опишите, что сделали, и нажмите «Отправить на проверку»; по справке, срок проверки — в течение 30 дней. В Search Console в отчёте «Проблемы безопасности» нажмите «Запросить проверку» и опишите меры; Google отвечает от нескольких дней (вредоносное ПО) до нескольких недель (спам-взлом).
Отправите сайт до полной чистки — потеряете время: Яндекс разрешает повторный запрос только через 30 дней, Google даёт сайтам с повторными нарушениями статус «Неоднократные нарушения» и такой же 30-дневный запрет. Сначала убедитесь, что сканер хостинга и VirusTotal чисты.
Как не заразиться снова: 6 правил
Повторные заражения случаются чаще первых: злоумышленник уже знает ваш сайт. Шесть привычек закрывают основные способы взлома по версии Google: подбор паролей, пропущенные обновления, небезопасные темы и плагины, лишние права.
- Обновляйте CMS, тему и плагины раз в неделю или включите автообновления. Большинство взломов идут через дыры, закрытые месяцы назад.
- Ставьте плагины и темы только из официальных каталогов. Бесплатная копия платной темы почти всегда содержит бэкдор.
- Уникальные длинные пароли и двухфакторный вход в CMS и на хостинге. Один пароль на всё — один взлом на всё.
- Минимум администраторов. Подрядчику — отдельный аккаунт, который удаляется после сдачи работы.
- Автоматические резервные копии с хранением 30 дней. Копия за вчера бесполезна, если вирус живёт на сайте месяц.
- Проверяйте сайт по расписанию, а не по жалобам. Раз в месяц — Вебмастер, Search Console и сканер хостинга; постоянно — автоматическая проверка баз опасных сайтов и кода страниц.
Пруфен раз в 2 минуты и реже открывает ваш сайт из 20 городов и пишет вам в Email, Telegram или Макс, если он перестал открываться. Для этой темы полезны две его проверки. Проверка Safe Browsing раз в сутки смотрит, не попал ли домен в базы опасных сайтов Google и Яндекса — вы узнаете о пометке раньше, чем упадут переходы из поиска. Проверка «Наличие контента» следит, что на странице есть нужный текст и нет чужого — например, что в коде главной не появился посторонний скрипт. Бесплатный план — 5 проверок.
1. Вебмастер → «Оптимизация сайта» → «Безопасность и нарушения»: должно быть пусто.
2. Search Console → «Проблемы безопасности»: зелёная галочка «проблем не обнаружено».
3. VirusTotal, вкладка URL: 0–1 срабатывание — норма, 5 и больше — заражение.
4. Поиск site:вашдомен.ru в Яндексе и Google: нет чужих страниц.
5. Открыть сайт с телефона из поиска: нет редиректа и красного экрана.
6. Сканер в панели хостинга: файлы чистые, в папке загрузок нет .php.
7. Пользователи CMS и FTP-аккаунты: только свои.
8. Нашли заражение: копия → пароли → чистка → обновления → перепроверка.
Частые вопросы
Сайт у меня открывается нормально, но Яндекс пишет, что он опасен. Это ошибка Яндекса? Почти никогда. Вредоносный код обычно показывается только посетителям из поиска, с телефона или роботам, а владелец видит чистый сайт. Откройте «Безопасность и нарушения» в Вебмастере: там примеры заражённых страниц и тип угрозы. Проверьте их сканером хостинга и VirusTotal, прежде чем спорить с поисковиком.
Сколько времени поисковики снимают пометку после чистки? Google, по справке Search Console, рассматривает запрос от нескольких дней при вредоносном ПО до нескольких недель при спам-взломе, плюс до двух дней на обновление предупреждений. Яндекс называет срок «в течение 30 дней». Ускорить нельзя, можно не затянуть: отправляйте запрос только после полной чистки.
Можно ли просто удалить заражённые файлы, которые нашёл сканер, и на этом закончить? Нет: сканер удаляет следствие, а не причину. Без смены паролей, удаления лишних администраторов и обновления уязвимого плагина сайт заразят повторно, часто в течение суток. Минимум — удалить вирус, сменить все пароли, обновить CMS и плагины, проверить пользователей.
Нужно ли предупреждать клиентов, если сайт был заражён? Да, если через сайт проходили личные данные или оплата: клиенты могли ввести их на подменённой форме. Достаточно короткого письма с советом сменить пароль. Если сайт только редиректил, объясните ситуацию тем, кто жаловался.