TL;DR – szybkie podsumowanie
WordPress to najpopularniejszy CMS, a przez to częsty cel ataków brute-force i skanów botów. Jak go zabezpieczyć? Najważniejsze to ukryć domyślne punkty dostępu (np. /wp-login.php), zmienić login „admin” oraz stosować silne hasła. Regularne aktualizacje systemu, motywów i wtyczek eliminują znane luki bezpieczeństwa. Warto wdrożyć SSL, ograniczyć dostęp do panelu z wybranych adresów IP oraz unikać nadmiaru pluginów, które mogą otworzyć nowe wektory ataku. Ochrona WordPressa to nie jednorazowa akcja, lecz stały proces utrzymywania higieny i kontroli systemu.
Najważniejsze wnioski:
- Zmień adres logowania i login „admin” na unikalne.
- Stosuj silne hasła i aktualizuj WordPressa oraz wtyczki.
- Włącz SSL i przekierowanie 301 na HTTPS.
- Ogranicz dostęp do panelu z określonych adresów IP.
- Usuń z kodu informację o wersji WordPressa.
- Unikaj nadmiaru wtyczek – każda to potencjalna luka.
Jednym z najczęstszych zagrożeń dla użytkowników WordPressa są próby włamania na stronę logowania. W większości przypadków są to ataki typu brute-force, polegające na masowym zgadywaniu loginu i hasła. Jak możesz zwiększyć bezpieczeństwo swojej witryny?
Najważniejsze kroki, aby zabezpieczyć WordPress:
- Ukryj wersję WordPressa – nie ujawniaj informacji o wersji w kodzie źródłowym.
- Zmień domyślnego użytkownika „admin” na unikalną nazwę.
- Używaj silnych haseł – długich, złożonych i trudnych do odgadnięcia.
- Zmień adres strony logowania – np. z /wp-login.php na niestandardowy URL.
- Aktualizuj WordPress i wtyczki regularnie – każda aktualizacja łata luki bezpieczeństwa.
- Ogranicz dostęp do panelu administracyjnego tylko z wybranych adresów IP.
- Zainstaluj certyfikat SSL – szyfruje dane przesyłane między użytkownikiem a serwerem.
W jaki sposób można przechytrzyć włamywacza?
Jedną z podstawowych strategii jest wdrożenie tzw. bezpieczeństwa poprzez brak przejrzystości.
W praktyce oznacza to zamazanie oczywistych adresów, które są celem botów i hakerów.
Każda instalacja WordPressa domyślnie udostępnia panel administracyjny pod adresem /wp-admin oraz stronę logowania /wp-login.php. Te adresy są błyskawicznie odnajdywane przez roboty przeprowadzające ataki brute-force. Ukrycie lub zmiana adresu logowania nie daje 100% ochrony, ale znacząco utrudnia dostęp do panelu i zmniejsza ryzyko ataku. Dodatkowo może pozytywnie wpłynąć na wydajność strony.
Zatem podstawowym krokiem jaki powinniśmy zrobić jest ukrycie tego adresu. Można to wykonać za pomocą dedykowanej wtyczki lub też samodzielnie poprzez edycję właściwych plików WordPressa. Ukrycie adresu oczywiście nie spowoduje 100% zabezpieczenia logowania, ale na pewno utrudni dotarcie do właściwego miejsca hakerowi. Zmiana wpływa pozytywnie również na wydajność strony.
Masz dwie główne możliwości:
- Za pomocą dedykowanej wtyczki – np. WPS Hide Login lub podobnych.
- Ręcznie, poprzez edycję plików WordPressa – wymaga podstawowej wiedzy technicznej.
Dodatkowo możesz zainstalować WordPress w niestandardowej lokalizacji (nietypowa nazwa katalogu), co jeszcze bardziej utrudni pracę botom.
Konfiguracja poprzez wtyczkę
Pierwszym rozwiązaniem jest instalacja odpowiedniej wtyczki. Jedną z dostępnych jest dość popularna WPS Hide Login. By zainstalować wtyczkę wchodzimy w zakładkę Wtyczki, w polu wyszukiwania wpisujemy WPS, a następnie wybieramy opcję WPS Hide Login.

Po zainstalowaniu należy kliknąć w przycisk Włącz. Następnie, klikamy w zakładkę Settings. W polu Login url podajemy interesujący nas adres do logowania.

Po zakończeniu konfiguracji klikamy w Zapisz zmiany.
Po wykonaniu tych ustawień Twoja wtyczka będzie odpowiednio skonfigurowana. Przy wyborze tego rozwiązania trzeba brać pod uwagę złożoność zainstalowanej strony oraz liczbę już dodanych wtyczek. Ich mnogość może powodować spowolnienie działania strony www.
Samodzielna edycja
W celu samodzielnej zmiany należy wejść do katalogu głównego, na którym znajduje się instalacja WordPressa. W tym celu najlepiej skorzystać z klienta FTP, np. Total Commander, czy też Filezilla. Musimy odszukać i pobrać plik wp-login.php. Następnie poprzez edytor tekstu należy wyszukać frazy wp-login i zamienić je na nowy adres.
Przykładowo, jeśli chcesz by strona logowania otwierała się po nazwie moj-admin.php to zamieniasz zgodnie z powyższą informacją wszystkie występowania wp-login na moj-admin. Następnie zapisz plik pod nową nazwą moj-admin.php i wgraj go na serwer. Stary plik wp-login.php usuń z serwera, najlepiej pozostawiając jego nienaruszoną kopię lokalnie.
Uwaga – jeśli posiadasz usługę Wp Ready, do połączenia z FTP możesz wykorzystać wtyczkę File Manager. Uzyskasz dostęp do plików łącznie z nadawaniem prawidłowych uprawnień podczas ich tworzenia, czy też modyfikacji.

Kolejnym krokiem, który warto wykonać w celu zwiększenia bezpieczeństwa, jest edycja pliku functions.php używanego szablonu. Aby to zrobić, w panelu WordPress przejdź do zakładki Narzędzia, a następnie wybierz Edytor plików motywu (zobacz screen poniżej).

Po otwarciu z prawego menu wybieramy Funkcje motywu -> functions.php

Dopisujemy do pliku poniższy skrypt:
// Filtr oraz funkcja do zmiany - Lost Password URL
add_filter( 'lostpassword_url', 'moja_zagubiona_strona', 10, 2 );
function moja_zagubiona_strona( $lostpassword_url ) {
return home_url( '/moj-admin.php?action=lostpassword'); // Nazwa nowego pliku logowania z akcją zapomnianego hasła
}
add_filter ('logout_url', 'moj_logout_url');
function moj_logout_url ($default) {
return str_replace ('wp-login','moj-admin', $default);
}
add_filter ( 'login_url','moj_login_url');
function moj_login_url ($default ) {
return str_replace ('wp-login','moj-admin', $default);
}
Nie wszystkie motywy standardowo posiadają functions.php. Co w takim przypadku?
Utwórz plik o nazwie functions.php. Wprowadzić powyższy tekst, dodając na początku pierwszą linię znacznika php: <?php
W kolejnym kroku przejdź do katalogu głównego WordPressa i edytuj plik .htaccess,
dodając na samym początku – przed #BEGIN WordPress, następujące reguły:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^wp\-admin$ http://twoj-adres-strony/? [R=301,L]
Redirect 301 /wp-login.php http://twoj-adres-strony
</IfModule>
Od tej chwili logowanie będzie dostępne tylko i wyłącznie poprzez Twój nowy adres.
Wprowadzanie zmian w ten sposób może przysporzyć konieczność wykonania dodatkowych kroków, w zależności od wybranego szablonu. Powyższy opis dotyczy WordPressa w wersji 6.2 oraz standardowego szablonu z nim dostarczonego!
Zmiana użytkownika
Podczas instalacji WordPress’a system prosi o podanie nazwy użytkownika.

Pamiętaj, aby nie ułatwiać życia atakującym twoją stronę. Wybierz inną nazwę użytkownika niż admin.
Jeśli jednak już posiadasz takiego użytkownika, a ataki nie ustały – zmień go ponownie. Jest na to wiele sposobów, począwszy od zainstalowania dedykowanej wtyczki, jednakże nie polecam stosowania zbyt wielu wtyczek. Po pierwsze wtyczka powoduje dodatkowe obciążenie, oraz może być kolejnym potencjalnym źródłem włamania.
W jaki sposób zatem można zmienić nazwę użytkownika?
Najprostszy sposób to dodanie nowego użytkownika na prawach administratora. Następnie zalogowanie się na niego i usunięcie użytkownika o “słabym” loginie.
Po zalogowaniu wchodzimy w lewe menu. Następnie w Użytkownicy -> dodaj nowego

Po kliknięciu w dodawanie użytkownika wypełniamy poniższy formularz zwracając uwagę by wybrać rolę -> Administrator

Tworzymy użytkownika na prawach administratora, a następnie usuwamy użytkownika Admin. Przy okazji WordPress podpowiada trudne do złamania hasło. Powyższy screen jest dobrym przykładem silnego hasła.
UWAGA! Usuwając użytkownika możesz usunąć dodawane przez niego wpisy. Trzeba zdecydować do kogo wpisy mają zostać przypisane.
Dostęp do panelu z konkretnych adresów IP
Jedną z opcji zabezpieczenia WordPress’a jest ustawienie możliwości dostępu do panelu tylko z określonego adresu IP. W tym przypadku oczywiście należy upewnić się u dostawcy internetu czy posiadasz stały czy też zmienny adres IP.
W celu uruchomienia tej opcji należy edytować plik .htaccess – UWAGA! Ten znajdujący się w katalogu administracyjnym wp-admin (lub innym jeśli nastąpiła zmiana nazwy katalogu administracyjnego).
<Files wp-login.php>
order allow,deny
allow from x.x.x.x
</Files>
<Directory /var/www/html/wp-admin/>
order deny,allow
allow from x.x.x.x
</Directory>
Zastąp x.x.x.x własnym adresem IP, wp-login.php – oczywiście jeśli zmieniłeś jego nazwę należy ją zastąpić właściwą.
Certyfikat ssl
Ta część artykułu dotyczy usług, w których samodzielnie zainstalowałeś WordPress’a. W przypadku gdy korzystałeś z autoinstalotora włączenie SSL odbywa się po jego stronie.
Jeśli posiadasz hosting łącznie z domeną w forpsi.pl masz możliwość skorzystania z darmowego certyfikatu SSL. Sposób jego aktywacji opisany jest w naszej bazie wiedzy.
Po włączeniu certyfikatu WordPress nie wyświetli zabezpieczonej strony. By wszystko zadziałało, należy skonfigurować SSL również po stronie panelu WordPress.
W pierwszej kolejności sprawdź, czy posiadasz najnowszą wersję WP. Jeśli nie, warto wcześniej przeprowadzić aktualizację.
Posiadając wersję (od 5.7 w górę) wystarczy wejść w narzędzia, a następnie w stan witryny. Tam znajdują się opcje umożliwiające włączenie certyfikatu SSL. Jeśli wszystko poszło prawidłowo powinien wyświetlić się komunikat: Adresy URL witryny zostały przełączone na HTTPS.
Korzystasz z innej wersji WordPress’a? Możesz zainstalować wtyczkę Really Simple SSL,. Należy jednak pamiętać, że tego typu wtyczki potrafią wpływać znacząco na szybkość działania strony.
Jak samodzielnie skonfigurować certyfikat SSL.
W tym celu przejdź do zakładki Ustawienia -> następnie popraw adresy url wpisując https zamiast http

Kolejny krok jaki trzeba wykonać to ustawić przekierowanie 301 w .htaccess, wprowadzając następujący kod:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
Więcej na temat zmian w konfiguracji – przekierowań przy SSL można przeczytać w naszej bazie wiedzy.
Po wprowadzeniu tych zmian należy sprawdzić czy wszystko działa prawidłowo, zwracając uwagę na odnośniki. Może się zdarzyć sytuacja, w której część odnośników zwraca się bezpośrednio na adres url z http. W takim przypadku trzeba przeprowadzić zmiany już bezpośrednio w bazie danych. Choć nie zalecamy wtyczek, w tym przypadku można skorzystać z Better Search replace, gdyż po wykonaniu wszystkich niezbędnych czynności można ją usunąć.
Po zainstalowaniu wtyczki wejdź w zakładkę Narzędzia > Better Search Replace. W zakładce Search/Replace podmień wszystkie odnośniki. Następnie w polu Search For wpisz adres Twojej strony z HTTP. W polu Replace With podaj adres Twojej strony z HTTPS.
Wybierz wszystkie tabele (Select tables), zaznacz opcję Replace GUIDs, odznacz Run as dry run i kliknij w Run Search/Replace. Wtyczka samodzielnie podmieni wszystkie adresy z HTTP na HTTPS. Teraz możesz wyłączyć a następnie odinstalować wtyczkę.
Ukrycie wersji WordPress’a
WordPress standardowo podaje swoją wersję w nagłówku strony:
<meta name=”generator” content=”WordPress 6.2″ />
Dodatkowo umieszcza również informację o zainstalowanych wtyczkach oraz ich wersjach. Tego typu informacja ułatwiają nieautoryzowaną próbę wejścia do systemu. Można zablokować przekazywanie takich informacji dopisując poniższy kod do pliku functions.php:
remove_action('wp_head', 'wp_generator'); add_filter('the_generator', '__return_empty_string'); function shapeSpace_remove_version_scripts_styles($src) { if (strpos($src, 'ver=')) { $src = remove_query_arg('ver', $src); } return $src; } add_filter('style_loader_src', 'shapeSpace_remove_version_scripts_styles', 9999); add_filter('script_loader_src', 'shapeSpace_remove_version_scripts_styles', 9999);
Bezpieczeństwo WordPressa to priorytet
Zabezpieczenie strony WordPress przed atakami brute-force i innymi zagrożeniami to nie jednorazowe działanie, ale proces. Ukrycie strony logowania, zmiana domyślnych ustawień, regularne aktualizacje oraz instalacja certyfikatu SSL to podstawowe kroki, które znacząco zwiększają poziom ochrony. Warto również rozważyć instalację sprawdzonych wtyczek bezpieczeństwa i monitorowanie wydajności witryny.
Pamiętaj – im wcześniej wdrożysz te rozwiązania, tym mniejsze ryzyko utraty danych czy dostępu do strony. Zadbaj o bezpieczeństwo WordPressa już dziś!
