Żeby zabezpieczyć stronę WordPress, nie potrzebujesz kilku płatnych wtyczek ani wiedzy hakera. Większość włamań na strony firmowe wykorzystuje te same zaniedbania: nieaktualne wtyczki, słabe hasła, motywy z niepewnych źródeł i brak kopii zapasowych. Sam WordPress jest dojrzałym, regularnie łatanym systemem. Słabym punktem jest zwykle to, co wokół niego. Poniżej opisuję zasady, które stosuję na stronach klientów, od najważniejszych do uzupełniających.
Skąd biorą się włamania na strony WordPress
Strony małych firm rzadko są celem ataku wymierzonego konkretnie w nie. Zdecydowana większość prób to automaty, które przeczesują internet w poszukiwaniu znanych luk w popularnych wtyczkach i zgadują hasła do panelu logowania. Nie ma więc znaczenia, czy strona jest „za mała, żeby ktoś się nią interesował”. Liczy się to, czy ma otwarte drzwi.
Skutki bywają różne: ukryte linki do podejrzanych stron, przekierowania odwiedzających, rozsyłanie spamu z formularza, a w skrajnych przypadkach ostrzeżenie Google w wynikach wyszukiwania. Każdy z nich kosztuje więcej niż zapobieganie.
1. Aktualizuj WordPressa, wtyczki i motyw
To podstawa, bez której reszta zasad traci sens. Luka w wtyczce, dla której autor wydał już poprawkę, jest publicznie znana, a automaty szukają stron, które jej nie zainstalowały. Oficjalny poradnik zabezpieczania WordPressa zaczyna właśnie od aktualizacji. Jak robić je bezpiecznie i jak często, opisałem w osobnym artykule o aktualizacji strony internetowej.
2. Instaluj tylko sprawdzone wtyczki i motywy
Każda wtyczka to dodatkowy kod, który może zawierać błąd. Zasada jest prosta: instaluj tylko to, czego naprawdę używasz, i tylko z zaufanych źródeł, czyli z oficjalnego katalogu WordPress.org lub od autora, który ma stronę, dokumentację i regularnie wydaje aktualizacje. Nieużywane wtyczki usuń, a nie tylko wyłącz.
Szczególnie groźne są „darmowe” wersje płatnych motywów i wtyczek krążące w sieci. Często zawierają dopisany złośliwy kod, a do tego nie dostają aktualizacji. Oszczędność kilkudziesięciu złotych na licencji to jedna z najdroższych decyzji, jakie można podjąć przy stronie.
3. Silne hasła, osobne konta i logowanie dwuetapowe
Hasło do panelu WordPress powinno być długie, losowe i niepowtarzalne, najlepiej wygenerowane przez menedżer haseł. Konto o nazwie „admin” warto zastąpić inną nazwą, bo to pierwsza, jaką sprawdzają automaty.
Drugą warstwą jest logowanie dwuetapowe (2FA): oprócz hasła trzeba podać kod z aplikacji w telefonie. Nawet jeśli hasło wycieknie, samo nie wystarczy do zalogowania. Włącza się je wtyczką i zajmuje to kilka minut.
Każda osoba, która pracuje przy stronie, powinna mieć własne konto z najniższą potrzebną rolą. Osoba pisząca wpisy na bloga nie potrzebuje uprawnień administratora. Konta byłych współpracowników i agencji usuń od razu po zakończeniu współpracy.
4. Kopie zapasowe, które da się odtworzyć
Kopia zapasowa nie chroni przed włamaniem, ale decyduje o tym, czy włamanie będzie kłopotem na godzinę czy katastrofą. Dobra kopia spełnia trzy warunki: obejmuje pliki i bazę danych, jest przechowywana poza serwerem strony (np. w chmurze) i jest robiona regularnie – w sklepie częściej niż na stronie wizytówce.
Warto też trzymać kilka starszych wersji, a nie tylko ostatnią. Włamanie bywa wykrywane po tygodniach, a wtedy najnowsza kopia też może być zainfekowana. I przynajmniej raz sprawdź, czy kopię da się faktycznie przywrócić. Kopia, której nikt nigdy nie testował, to tylko nadzieja.
5. Hosting, HTTPS i ustawienia serwera
Wiele zabezpieczeń leży po stronie hostingu: aktualna wersja PHP, izolacja kont, zapora aplikacyjna, ochrona przed zgadywaniem haseł. Tani hosting bez tych mechanizmów przerzuca całą odpowiedzialność na właściciela strony. Cała witryna, łącznie z panelem logowania, powinna działać przez HTTPS.
Kilka ustawień warto skonfigurować w samym WordPressie. Dyrektywa DISALLOW_FILE_EDIT w pliku wp-config.php wyłącza edytor plików w panelu, więc nawet po przejęciu konta nie da się przez niego wstrzyknąć kodu. Uprawnienia plików powinny być ograniczone (dokumentacja WordPressa sugeruje 755 dla katalogów i 644 dla plików), a do przesyłania plików na serwer należy używać SFTP zamiast zwykłego FTP.
6. Formularze i spam
Formularz kontaktowy to drzwi, przez które wpada najwięcej spamu, a czasem także próby nadużyć. Zabezpiecz go mechanizmem antyspamowym (np. niewidoczną weryfikacją zamiast klasycznej CAPTCHA), ogranicz typy plików, jeśli formularz przyjmuje załączniki, i regularnie sprawdzaj, czy wiadomości faktycznie docierają na skrzynkę.
Co zrobić, gdy strona została zhakowana
Jeśli widzisz na stronie obce treści, przekierowania albo dostajesz ostrzeżenie od Google lub hostingu, działaj w tej kolejności:
- Nie panikuj i nie usuwaj niczego w pośpiechu – najpierw zrób kopię aktualnego stanu, nawet zainfekowanego. Przyda się do ustalenia, co się stało.
- Zmień wszystkie hasła: do panelu WordPress, hostingu, FTP/SFTP, bazy danych i poczty powiązanej z kontem administratora.
- Przywróć czystą kopię zapasową sprzed włamania, jeśli ją masz, i od razu zaktualizuj całe oprogramowanie.
- Znajdź i usuń przyczynę – zwykle nieaktualną wtyczkę lub przejęte konto. Bez tego włamanie się powtórzy.
- Sprawdź Google Search Console w sekcji problemów z bezpieczeństwem i po oczyszczeniu strony poproś o ponowne sprawdzenie.
Jeśli nie masz kopii zapasowej, czyszczenie strony z zainfekowanych plików jest pracą dla specjalisty. Pobieżne usunięcie widocznych objawów zwykle kończy się powrotem problemu po kilku dniach.
Bezpieczeństwo to proces, nie jednorazowa akcja
Żadna pojedyncza wtyczka nie zabezpieczy strony raz na zawsze. Bezpieczna strona to taka, przy której ktoś regularnie aktualizuje oprogramowanie, pilnuje kopii zapasowych i reaguje, gdy coś wygląda podejrzanie. Jeśli chcesz sprawdzić, jak wygląda to dziś u Ciebie, audyt strony obejmuje także obszar bezpieczeństwa. A jeśli wolisz, żeby ktoś pilnował tego na stałe, zajmuję się tym w ramach opieki nad WordPressem.
Najczęstsze pytania o bezpieczeństwo WordPressa
Czy WordPress jest bezpieczny?
Tak, jeśli jest utrzymywany. Rdzeń WordPressa jest regularnie łatany, a większość problemów wynika z nieaktualnych wtyczek, słabych haseł i braku kopii zapasowych.
Czy wtyczka zabezpieczająca wystarczy?
Pomaga, np. ograniczając próby logowania czy monitorując zmiany plików, ale nie zastąpi aktualizacji, silnych haseł i kopii zapasowych.
Jak sprawdzić, czy moja strona nie jest zainfekowana?
Pierwszym sygnałem są zwykle obce linki lub przekierowania, nieznane konta administratorów albo ostrzeżenie w Google Search Console. Pewność daje dopiero przegląd plików i bazy danych.
Jak często robić kopię zapasową?
Na stronie, która rzadko się zmienia, wystarczy kopia tygodniowa. W sklepie internetowym, gdzie codziennie przybywa zamówień, kopia powinna być robiona codziennie.