Як зламують сайти малого бізнесу: розбір на власному досвіді

- Зламали не «хакери заради грошей», а автоматика, що шукає вразливі сайти пачками.
- Мета — не зіпсувати вам сайт, а розмістити на ньому чужі сторінки для чужого просування.
- Найдовше живуть не файли, а сліди в індексі пошуковика: у нас — 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 на місяць: оновлення, щоденні резервні копії поза хостингом, моніторинг і безпека.