Pozostawiony bez nadzoru panel administracyjny WordPressa to gotowy dostęp do treści, danych użytkowników i ustawień witryny. Wystarczy, że redaktor odejdzie od komputera bez wylogowania, a ktoś inny usiądzie przy jego biurku. Problem dotyczy również klientów sklepów internetowych korzystających ze współdzielonych urządzeń.
WordPress standardowo nie wylogowuje użytkownika po 15 minutach bezczynności. Domyślna ważność uwierzytelnienia wynosi 48 godzin, a po zaznaczeniu opcji „Zapamiętaj mnie” – 14 dni. Nie oznacza to jednak, że po upływie kwadransa bez wykonywania żadnych czynności system sam zablokuje dostęp.
Taką dodatkową ochronę można wprowadzić za pomocą bezpłatnej wtyczki Inactive Logout autorstwa Deepena Bajracharyi. Pozwala ona ustalić limit nieaktywności, wyświetlić ostrzeżenie i automatycznie wylogować użytkownika. Trzeba tylko właściwie dobrać czas i sprawdzić, czy mechanizm nie przeszkadza w normalnej pracy.
Jak działa automatyczne wylogowanie nieaktywnego użytkownika?
Inactive Logout monitoruje bezczynność w przeglądarce, korzystając ze skryptów działających na stronie WordPressa. Reaguje na obsługiwane przez nie interakcje użytkownika, takie jak korzystanie z myszy czy klawiatury. Po przekroczeniu skonfigurowanego czasu uruchamia procedurę ostrzegania i wylogowania.
Przykładowo, przy limicie 15 minut użytkownik pozostawia otwarty panel administracyjny i odchodzi od komputera. Jeśli wtyczka nie wykryje aktywności przez wskazany okres, może wyświetlić komunikat z dodatkowym odliczaniem. Domyślny czas tego odliczania to 10 sekund, ale można go skonfigurować lub wyłączyć.
Jest tu ważne ograniczenie. Brak wykrytej aktywności nie zawsze oznacza, że użytkownik rzeczywiście odszedł od komputera. Ktoś może przez 20 minut czytać długi dokument, analizować raport albo oglądać materiał wideo bez klikania. Samo odtwarzanie filmu lub patrzenie na ekran nie gwarantuje zresetowania licznika.
Dlatego czas bezczynności należy dopasować do sposobu korzystania z witryny:
- 10–15 minut – rozsądny punkt wyjścia dla administratorów pracujących z danymi użytkowników, szczególnie na współdzielonych komputerach.
- 20–30 minut – propozycja dla redaktorów, którzy często czytają, przygotowują materiały i pracują z edytorem blokowym.
- 30–60 minut – wariant do przetestowania w serwisach z długimi formularzami, kursami lub rozbudowaną strefą klienta.
To przykładowe ustawienia, a nie obowiązkowe normy bezpieczeństwa. Na komputerze w recepcji 15 minut może być zbyt długim okresem. Z kolei przy redagowaniu kilkustronicowego artykułu ten sam limit potrafi irytować, a nawet doprowadzić do utraty niezapisanych zmian.
Trzeba też odróżnić idle timeout, czyli wylogowanie po okresie bezczynności, od absolute session lifetime – maksymalnego czasu życia sesji liczonego od określonego momentu, niezależnie od działań użytkownika. Inactive Logout realizuje przede wszystkim pierwszy mechanizm. Nie należy traktować 15-minutowego limitu jako gwarancji, że każda sesja na serwerze wygaśnie dokładnie po kwadransie od ostatniej rzeczywistej aktywności.
Wtyczka nie zastępuje również zabezpieczeń logowania. HTTPS, silne hasła, uwierzytelnianie dwuskładnikowe (2FA) oraz ograniczone uprawnienia kont nadal są potrzebne. 2FA utrudnia nieuprawnione logowanie, ale samo w sobie nie chroni przed wykorzystaniem już otwartej sesji na pozostawionym komputerze.
Jak skonfigurować Inactive Logout w WordPressie krok po kroku?
Wtyczka jest dostępna w oficjalnym katalogu WordPressa. Według stanu na 14 października 2026 roku aktualną wersją bezpłatną jest 3.6.4. Deklarowane minimalne wymagania to WordPress 6.6 oraz PHP 7.4.
Instalacja i podstawowa konfiguracja nie wymagają znajomości PHP.
- Zainstaluj wtyczkę. W panelu administracyjnym przejdź do Wtyczki → Dodaj nową. Wyszukaj „Inactive Logout”, sprawdź autora (Deepen Bajracharya), a następnie kliknij „Zainstaluj” i „Włącz”.
- Otwórz ustawienia. Wejdź w Ustawienia → Inactive Logout. Znajdziesz tam podstawową konfigurację czasu bezczynności, komunikatów i sposobu wylogowania.
- Ustaw czas nieaktywności. W polu dotyczącym limitu bezczynności (Idle Timeout) wpisz przykładowo 15 minut. Nie jest to domyślna wartość narzucona przez WordPress ani wymóg prawny, tylko proponowany punkt startowy.
- Skonfiguruj ostrzeżenie i odliczanie. Pozostaw włączony komunikat poprzedzający wylogowanie. Możesz wykorzystać standardowe 10-sekundowe odliczanie albo zmienić jego długość. W komunikacie napisz jasno, co się stanie, np. „Twoja sesja wygaśnie z powodu bezczynności. Wróć do pracy, aby pozostać zalogowanym”.
- Ustal przekierowanie. Jeśli użytkownik ma po wylogowaniu trafić na stronę logowania lub osobną podstronę informacyjną, włącz odpowiednią opcję przekierowania i wybierz adres docelowy. Sprawdź, czy przekierowanie nie pomija oczekiwanego komunikatu i nie tworzy pętli logowania.
- Zapisz zmiany i sprawdź działanie na koncie testowym, zanim zastosujesz ustawienie do wszystkich użytkowników.
Szczególnej uwagi wymaga funkcja Wake Up!. Umożliwia ona wyświetlenie komunikatu po okresie bezczynności bez wylogowywania użytkownika. Przydaje się, kiedy administrator chce jedynie przypomnieć o aktywności, ale nie spełnia celu automatycznego kończenia sesji. Jeśli zależy Ci na rzeczywistym wylogowaniu, nie wybieraj trybu ograniczonego do ostrzeżenia.
W praktyce jeden limit dla wszystkich kont rzadko jest najlepszym wyborem. Inactive Logout udostępnia w wersji Free również konfigurację zależną od roli użytkownika. W ustawieniach zaawansowanych można ustalić osobne czasy i przekierowania dla poszczególnych ról.
Przykładowy portal redakcyjny może otrzymać następującą konfigurację: administratorzy – 15 minut, redaktorzy – 30 minut, a zwykli subskrybenci – dłuższy limit, jeśli rzeczywiście potrzebują ciągłej sesji. Podstawą decyzji powinny być uprawnienia i charakter pracy, nie samo stanowisko użytkownika.
Nie wydłużaj automatycznie czasu administratorom tylko dlatego, że częściej korzystają z panelu. Ich konta mają zwykle największe możliwości ingerowania w witrynę. Lepiej najpierw przetestować krótszy limit i sprawdzić, czy nie zakłóca wykonywania obowiązków.
Na witrynie wykorzystującej WooCommerce trzeba dodatkowo uwzględnić rolę klienta. Zbyt agresywne wylogowanie podczas finalizacji zamówienia może przerwać wygodną obsługę koszyka lub wymusić ponowne uwierzytelnienie. W takim przypadku sensowniejszy będzie dłuższy czas dla klientów albo bardziej szczegółowe wyłączenia, jeśli architektura sklepu tego wymaga.
Co przetestować przed włączeniem automatycznego wylogowania na całej stronie?
Najwięcej problemów ujawnia się nie podczas konfiguracji, lecz po wdrożeniu. Wtyczka może poprawnie wylogować użytkownika na zwykłej stronie, a jednocześnie zachowywać się inaczej w edytorze WordPressa, na telefonie czy podczas płatności w WooCommerce.
Przed uruchomieniem przeprowadź kilka konkretnych prób.
- Niezapisana edycja. Zaloguj się jako redaktor, otwórz wpis, dodaj tekst bez ręcznego zapisania i pozostaw stronę bez interakcji przez ponad 15 minut. Sprawdź ostrzeżenie, wylogowanie oraz możliwość odzyskania zmian. Automatyczny zapis w WordPressie nie jest gwarancją zachowania każdej ostatniej modyfikacji.
- Dwie karty przeglądarki. Otwórz panel administracyjny w jednej karcie, a stronę serwisu w drugiej. Pracuj w jednej i obserwuj zachowanie drugiej. Następnie wykonaj test bez aktywności w obu kartach. Nie zakładaj, że podstawowa wersja zawsze idealnie synchronizuje stan pomiędzy nimi.
- Frontend i backend. Sprawdź osobno panel
/wp-admin/oraz strony dostępne po zalogowaniu, np. konto użytkownika. Test w samym panelu nie potwierdza jeszcze poprawnego działania na frontendzie. - Telefon i uśpienie urządzenia. Zablokuj ekran smartfona, przełącz aplikację albo uśpij laptop na okres przekraczający limit. Po powrocie sprawdź, czy nastąpiło wylogowanie. Przeglądarki mobilne i nieaktywne karty ograniczają działanie skryptów, więc reakcja nie musi nastąpić dokładnie po zaplanowanym czasie.
- WooCommerce i finalizacja zakupu. Przetestuj zalogowanego klienta na stronach koszyka, zamówienia i konta. Uwzględnij przejście do zewnętrznego operatora płatności, np. PayU lub Przelewy24, oraz powrót po autoryzacji 3D Secure. Sprawdź, czy wylogowanie nie powoduje błędów lub dezorientacji w procesie zamówienia.
W przypadku sklepu internetowego trzeba zachować istotne rozróżnienie: anonimowy gość nie może zostać wylogowany z konta WordPressa, ponieważ nie jest zalogowany. Wtyczka posiada opcje wyświetlania komunikatów i przekierowań również osobom nieuwierzytelnionym, ale nie jest to tożsame z zakończeniem ich sesji logowania. Nie należy też mylić takiej funkcji z usuwaniem koszyka WooCommerce.
Osobnym źródłem problemów jest cache. Jeżeli strona korzysta z LiteSpeed Cache, WP Rocket albo Cloudflare, sprawdź, czy strony dla zalogowanych użytkowników, panel logowania, koszyk, checkout i konto klienta nie otrzymują nieprawidłowo zapisanych wersji HTML lub danych sesji. Kontrolę trzeba rozszerzyć na żądania AJAX wykorzystywane przez logowanie i wylogowanie. Błędna konfiguracja pamięci podręcznej potrafi powodować nieaktualne komunikaty lub problemy z rozpoznawaniem statusu użytkownika.
Jeżeli po wylogowaniu komunikat uporczywie powraca, sprawdź również ustawienie Display Logout Toast Notification i wyczyść właściwe warstwy cache. Podobny problem był zgłaszany w oficjalnym forum wsparcia wtyczki.
Kiedy potrzebna jest wersja Pro?
Do prostego scenariusza – wylogowania nieaktywnego administratora po 15 minutach – wystarcza wersja Free. Dopłata ma sens, gdy potrzebna jest bardziej zaawansowana kontrola sesji, szczególnie w serwisach z wieloma zalogowanymi użytkownikami.
Autor wskazuje w wersji Pro między innymi:
- automatyczne wylogowanie związane z zamknięciem karty lub przeglądarki,
- pełniejszą obsługę aktywności w wielu kartach,
- ustawienia dla konkretnych użytkowników i możliwość wymuszania wylogowania,
- historię logowań i wylogowań oraz kontrolę aktywnych sesji,
- wykluczanie wybranych stron z mechanizmu nieaktywności.
Nie oznacza to, że wersja Free jest całkowicie pozbawiona jakiejkolwiek obsługi wielu kart. W podstawowej edycji również rozwijano ten mechanizm, jednak pełną obsługę wielu kart autor przypisuje do Pro. Dlatego o wyborze powinien przesądzić test rzeczywistego scenariusza użytkownika.
Według cennika z 14 października 2026 roku licencja Pro dla jednej witryny kosztuje w ofercie promocyjnej 39,99 USD rocznie, a dla pięciu witryn 99,99 USD rocznie. Subskrypcja odnawia się automatycznie, o ile odnowienie nie zostanie wyłączone. Przed zakupem należy sprawdzić ostateczną kwotę z podatkami w koszyku.
Nie kupowałbym Pro wyłącznie po to, żeby ustawić 15-minutowy licznik. Natomiast przy platformie kursowej, strefie klienta lub systemie obsługiwanym równocześnie w wielu kartach dodatkowe funkcje mogą uzasadniać koszt licencji.
Pozostaje jeszcze jedno ograniczenie: zamknięcie karty nie daje bezwarunkowej gwarancji natychmiastowego unieważnienia sesji na serwerze. Przeglądarka może zakończyć działanie bez wykonania potrzebnego żądania. Jeśli firma wymaga ścisłego maksymalnego czasu życia sesji niezależnego od przeglądarki, potrzebuje dodatkowej polityki wygasania i unieważniania sesji po stronie serwera, a nie wyłącznie licznika bezczynności.
FAQ – najczęstsze pytania o automatyczne wylogowanie w WordPressie
Czy WordPress sam wylogowuje użytkownika po 15 minutach?
Nie. Standardowa ważność uwierzytelnienia wynosi 48 godzin lub 14 dni przy opcji „Zapamiętaj mnie”. To nie jest licznik bezczynności. Wtyczki i niestandardowa konfiguracja mogą zmienić te wartości.
Czy Inactive Logout jest darmowy?
Tak. Podstawowa wersja umożliwia ustawienie limitu bezczynności, komunikatu, odliczania, przekierowania oraz konfiguracji według ról. Rozszerzone funkcje kontroli sesji znajdują się w Pro.
Czy Wake Up! automatycznie wylogowuje użytkownika?
Nie. Tryb służy do wyświetlenia ostrzeżenia bez kończenia sesji. Aby użytkownik rzeczywiście został wylogowany, trzeba korzystać z mechanizmu wylogowania po bezczynności.
Czy wylogowanie zadziała po zamknięciu przeglądarki?
Wersja Free nie zapewnia automatycznego zakończenia sesji wyłącznie na podstawie zamknięcia przeglądarki. Funkcję takiego wylogowania autor udostępnia w Pro, ale jej skuteczność i moment zakończenia sesji wymagają sprawdzenia w docelowym środowisku.
Czy wtyczka działa z WooCommerce?
Autor deklaruje obsługę WooCommerce. Wylogowanie dotyczy zalogowanych użytkowników, natomiast niezalogowany gość nie ma sesji uwierzytelnienia WordPressa do zakończenia. Działanie podczas finalizacji zakupów trzeba sprawdzić osobno.
Czy 15 minut bezczynności zawsze oznacza wylogowanie dokładnie po 15 minutach?
Nie. Znaczenie mają ustawienia dodatkowego odliczania, obsługiwane zdarzenia w przeglądarce, uśpienie urządzenia oraz stan kart. Precyzyjnego wygasania sesji niezależnie od przeglądarki nie należy opierać wyłącznie na tej wtyczce.
Od czego zacząć?
Najpierw skonfiguruj 15 minut bezczynności z ostrzeżeniem i odliczaniem
na koncie testowym redaktora. Sprawdź niezapisany wpis, pracę w dwóch kartach oraz powrót po uśpieniu urządzenia. Dopiero po pozytywnych testach zastosuj ustawienia do właściwych ról. Jeśli prowadzisz sklep WooCommerce, nie obejmuj klientów krótkim limitem bez wcześniejszego sprawdzenia pełnego procesu płatności.

