Backup który działa: jak przetestować odtworzenie strony WordPress zanim padnie serwer
Masz backup, ale czy wiesz, że zadziała? Pokazuję, jak przeprowadzić test odtworzenia backupu WordPress na środowisku testowym, co sprawdzić po przywróceniu i jak zbudować strategię 3-2-1, żeby nie płakać po awarii.
Większość właścicieli stron WordPress robi backupy. Problem polega na tym, że robi je raz, ustawia automatyzację i nigdy nie sprawdza, czy to, co zbiera wtyczka, nadaje się do odtworzenia. Dowiadują się o tym dopiero w najgorszym możliwym momencie: po awarii serwera, po ataku, po pomyłkowym usunięciu bazy danych.
Sam widziałem to kilkakrotnie przez 13 lat pracy z WordPressem. Klient przyszedł z wiadomością od hostingu, że dysk serwera uległ awarii i prosi o backup z naszej strony. Backup był. Ale ostatni działający miał 47 dni. Wtyczka przez półtora miesiąca generowała puste archiwa z błędem uprawnień do katalogu. Dlatego ten artykuł nie jest o tym, jak skonfigurować backup. Jest o tym, jak sprawdzić, czy backup, który masz, naprawdę zadziała.
Dlaczego backup bez testu to iluzja bezpieczeństwa
Zip o rozmiarze 450 MB w Google Drive wygląda zachęcająco. Ale co jest w środku? Czy baza danych jest kompletna, czy urwana w połowie tabeli wp_posts? Czy katalog uploads zawiera wszystkie zdjęcia produktów, czy tylko te z ostatniego miesiąca? Czy plik wp-config.php jest wewnątrz archiwum?
Bez testu odtworzenia nie wiesz nic z powyższych. Wiesz tylko, że plik istnieje.
Najczęstsze przyczyny, przez które backup nie daje się przywrócić:
- Przekroczony limit czasu PHP podczas tworzenia kopii (hosting uciął operację po 30 sekundach, archiwum jest niekompletne)
- Brak uprawnień do zapisu katalogu tymczasowego na serwerze
- Backup obejmuje tylko pliki, bez bazy danych (albo odwrotnie)
- Stara wersja wtyczki UpdraftPlus, która nie obsługuje nowego formatu archiwum
- Zmieniony prefix tabel w bazie danych, który nie pasuje do wartości w wp-config.php z backupu
Strategia 3-2-1: fundament, od którego zacznij
Zanim przejdziemy do testowania, upewnij się, że masz co testować. Reguła 3-2-1 to branżowy standard - trzy kopie danych, przechowywane na dwóch różnych nośnikach lub usługach, z czego jedna jest offsite, czyli poza serwerem produkcyjnym.
W praktyce dla strony WordPress wygląda to tak:
1. Kopia automatyczna na samym hostingu (generowana przez hosting lub wtyczkę)
2. Kopia w chmurze: Google Drive, Amazon S3, Dropbox (UpdraftPlus wysyła automatycznie)
3. Kopia lokalna na Twoim komputerze lub zewnętrznym dysku, pobierana ręcznie co tydzień
Dla sklepów WooCommerce, gdzie zamówienia spływają przez całą dobę, bazę danych warto backupować co 6-12 godzin. Pliki (motywy, wtyczki, uploads) zmieniają się rzadziej - backup raz dziennie lub co kilka dni wystarczy. Więcej o tym, gdzie trzymać kopie offsite i jakie usługi chmurowe mają sens, opisałem w osobnym artykule o backupie offsite WordPress.
Backup hostingowy vs własny
| Kryterium | Backup na hostingu | Backup wtyczkowy (UpdraftPlus) |
|---|---|---|
| Kontrola harmonogramu | ograniczona (ustawia hosting) | pełna |
| Retencja | zwykle 7-30 dni | dowolna |
| Możliwość testu bez supportu | nie | tak |
| Backup offsite | rzadko | tak (Google Drive, S3, Dropbox) |
| Koszt | często w abonamencie | darmowy lub od ok. 120 PLN/rok (Pro) |
| Przywrócenie przez panel WP | nie | tak |
Jak przeprowadzić test odtworzenia na środowisku lokalnym
Najbezpieczniejsza i najtańsza metoda to odtworzenie backupu na lokalnej kopii strony, bez dotykania serwera produkcyjnego. Używam do tego LocalWP - darmowej aplikacji, która uruchamia pełne środowisko WordPress na komputerze (PHP 8.3, nginx, MariaDB). Działa na Windowsie i Mac.
Kroki testu:
Krok 1. Pobierz backup. Pobierz ręcznie najnowsze archiwum z Google Drive lub miejsca, gdzie przechowujesz kopie offsite. Nie testuj tylko tego, co jest na hostingu - testuj dokładnie ten plik, który byś użył w sytuacji awaryjnej.
Krok 2. Utwórz nową stronę w LocalWP. Nowa strona, nowa baza danych, czysta instalacja WordPress. Nie nadpisuj istniejącej lokalnej kopii.
Krok 3. Przywróć backup przez UpdraftPlus. Zainstaluj UpdraftPlus na nowej lokalnej stronie, wejdź w Ustawienia > UpdraftPlus, zakładka Przywróć, wgraj plik archiwum. Wtyczka rozpakowuje archiwum i importuje bazę oraz pliki.
Krok 4. Popraw adres URL w bazie danych. Po przywróceniu strona będzie się próbowała odwoływać do produkcyjnego adresu URL. Zmień go na lokalny:
wp search-replace 'https://twojastrona.pl' 'http://twojastrona.local'
Krok 5. Sprawdź kompletność (lista poniżej).
Nigdy nie testuj odtworzenia backupu bezpośrednio na produkcyjnej stronie. Nawet jeśli "tylko sprawdzasz" - zaimportowanie bazy może nadpisać aktualne dane zamówień i użytkowników.
Checklista: co sprawdzić po odtworzeniu backupu
Test odtworzenia to nie jest kliknięcie "Przywróć" i zamknięcie okna. To weryfikacja, że każdy kluczowy element działa.
Checklista testu odtworzenia WordPress
- Strona główna ładuje się bez błędów (brak białego ekranu, brak błędów PHP)
- Panel administracyjny /wp-admin/ działa, logowanie przechodzi
- Kilka reprezentatywnych wpisów/produktów wyświetla się poprawnie ze zdjęciami
- Katalog wp-content/uploads zawiera oczekiwaną liczbę plików (porównaj z produkcją)
- Baza danych: tabela wp_posts, wp_postmeta, wp_options mają realistyczną liczbę wierszy
- Wtyczki są aktywne (nie wszystkie, ale kluczowe: WooCommerce, Germanized, Rank Math)
- Motyw wyświetla się poprawnie, nie ma brakujących zasobów CSS/JS
- Dla sklepu: przejdź przez koszyk i checkout (formularz, nie płatność)
- Formularz kontaktowy lub zapisu do newslettera wysyła wiadomość testową
- Sprawdź wp-config.php: prefix tabeli ($table_prefix) zgadza się z bazą danych
Retencja i rotacja: ile kopii trzymać i jak długo
Retencja to jeden z najczęściej pomijanych elementów strategii backupu. Możesz mieć backup z wczoraj, ale jeśli problem (zhakowanie, błędna aktualizacja, uszkodzone dane) zaczął się 10 dni temu i nie zostało to zauważone od razu, nie cofniesz się do czystego stanu.
Praktyczny schemat retencji:
- Baza danych: 14-30 kopii dziennych + 4 tygodniowe + 3 miesięczne
- Pliki (uploads, wtyczki, motyw): 7 kopii dziennych + 4 tygodniowe
- Przed każdą dużą aktualizacją (PHP, WooCommerce major release): backup ręczny z etykietą daty
- Przed wdrożeniem nowego motywu lub migracją: backup ręczny poza normalnym harmonogramem
UpdraftPlus w wersji darmowej pozwala ustawić retencję do 3 kopii. Wersja Pro (ok. 120-180 PLN netto rocznie) zdejmuje to ograniczenie i dodaje obsługę przyrostowych backupów, co bardzo skraca czas generowania kopii dużych sklepów.
Ustaw powiadomienia mailowe o statusie backupu w UpdraftPlus. Błąd podczas tworzenia kopii = mail do Ciebie. Brak maila przez 48 godzin = coś poszło nie tak. To prosty sposób na monitoring bez zewnętrznych narzędzi.
Scenariusz awaryjny: co robisz, gdy serwer padnie o 2 w nocy
Najgorsza pora na szukanie instrukcji to ta, gdy strona już nie działa. Dlatego scenariusz awaryjny piszesz spokojnie, przy kawie, po teście odtworzenia - nie w czasie paniki.
Szablon scenariusza awaryjnego dla WordPressa:
Gdzie są backupy:
- Google Drive > folder Backupy > [nazwa strony] (ostatni backup z [data])
- Hosting > Panel > Kopie zapasowe (retencja 7 dni)
Dane dostępowe potrzebne do odtworzenia:
- Dane FTP/SFTP (host, login, hasło)
- Dane bazy MySQL (host, nazwa bazy, użytkownik, hasło) - z wp-config.php lub panelu hostingu
- Dane dostępowe do panelu hostingu
Kroki odtworzenia na nowej instalacji:
1. Zainstaluj WordPress ręcznie lub przez panel hostingu
2. Wgraj i aktywuj UpdraftPlus
3. Pobierz backup z Google Drive na komputer
4. W UpdraftPlus > Przywróć > wgraj archiwum
5. Sprawdź i popraw wp-config.php (dane bazy, klucze bezpieczeństwa)
6. Wykonaj wp search-replace 'stary-adres.pl' 'docelowy-adres.pl' jeśli zmienił się serwer
7. Wyczyść cache (LiteSpeed Cache, W3 Total Cache lub inny)
8. Sprawdź SSL i przekierowania
Szacowany czas odtworzenia: 30-60 minut dla strony do 2 GB, 60-120 minut dla sklepu do 10 GB.
Ten dokument trzymaj w dwóch miejscach: w CREDENTIALS.md projektu i w osobnym pliku PDF na zewnętrznym dysku lub w 1Password/Bitwarden. Scenariusz nic nie jest wart, jeśli jest tylko na serwerze, który właśnie padł.
Plusy
- Test odtworzenia eliminuje fałszywe poczucie bezpieczeństwa
- Lokalny staging (LocalWP) jest bezpłatny i nie wymaga dodatkowego serwera
- Udokumentowany scenariusz awaryjny skraca czas reakcji z godzin do minut
- Strategia 3-2-1 chroni przed utratą danych nawet przy awarii dwóch lokalizacji jednocześnie
Minusy
- Test odtworzenia wymaga 1-2 godzin czasu raz na kwartał
- UpdraftPlus Pro (pełna retencja, przyrostowe backupy) to dodatkowy koszt ok. 120-180 PLN/rok
- Duże sklepy (ponad 10 GB) wymagają więcej przestrzeni offsite - Google Drive 15 GB może być za mało
Jak wpiąć test backupu w rutynę konserwacji
Jeden test odtworzenia raz w życiu to za mało. Backup to żywy element infrastruktury - zmienia się wraz ze wzrostem sklepu, migracjami i aktualizacjami. Wpisz test odtworzenia w comiesięczną lub kwartalną rutynę konserwacji.
W ramach opieki technicznej WordPress, którą prowadzę dla klientów, test backupu jest standardowym elementem checklisty. Nie jako oddzielna usługa, ale jako część normalnego cyklu: sprawdzenie statusu backupów, weryfikacja kompletności archiwów, raz na kwartał pełny test odtworzenia na środowisku lokalnym. Dzięki temu klienci mają pewność, że ich strona i sklep da się odbudować - nawet jeśli nigdy nie dojdzie do sytuacji awaryjnej.
Jeśli chcesz zobaczyć, co konkretnie wchodzi w skład takiej rutyny, opisałem to szczegółowo w przewodniku po opiece WordPress i w checkliście miesięcznej konserwacji.
WordPress sam w sobie nie tworzy backupów. Jeśli Twój hosting nie ma automatycznych kopii w abonamencie, jedyne, co stoi między Tobą a utratą strony, to wtyczka lub brak wtyczki. Sprawdź to dzisiaj, nie po awarii.
Podsumowanie: jeden test jest wart więcej niż sto backupów
Backup bez testu odtworzenia jest jak gaśnica, której nie wiesz, czy jest napełniona. Może działać. Może nie. Dowiesz się w najgorszym momencie.
Test odtworzenia backupu WordPress to czynność, którą możesz wykonać samodzielnie w 1-2 godziny, używając darmowego LocalWP i standardowej konfiguracji UpdraftPlus. Robisz to raz na kwartał, dokumentujesz wyniki, aktualizujesz scenariusz awaryjny. I masz coś, czego nie ma większość właścicieli stron: pewność, że Twój backup naprawdę zadziała.
Minimum raz na kwartał, plus po każdej dużej aktualizacji WordPressa lub WooCommerce, po migracji hostingu i po zmianie konfiguracji backupu. Dla sklepów z dużym ruchem polecam testy miesięczne. Nie w 100%. Backup hostingowy to dobre uzupełnienie, ale nie jedyna linia obrony. Brakuje Ci kontroli nad harmonogramem, retencją i możliwością przetestowania odtworzenia bez angażowania supportu. Trzymaj własny backup wtyczkowy (UpdraftPlus, BackWPup) i offsite (Google Drive, S3, Dropbox). Zasada mówi: trzymaj 3 kopie danych, na 2 różnych nośnikach/usługach, z czego 1 jest offsite (poza serwerem produkcyjnym). Przykład: kopia na hostingu + kopia w Google Drive + kopia na zewnętrznym dysku lub S3. Mała strona wizytówkowa (do 1 GB): 15-30 minut. Sklep WooCommerce z kilkuset produktami i zdjęciami (3-10 GB): 45-90 minut. Duży sklep z tysiącami produktów i archiwum zamówień: 2-4 godziny. Czas zależy od rozmiaru plików, prędkości serwera i tego, czy masz gotowy scenariusz awaryjny. Baza danych (wszystkie tabele, nie tylko wp_posts), katalog wp-content/uploads (zdjęcia, media), katalog wp-content/plugins, wp-content/themes i plik wp-config.php lub jego wartości (klucze, prefix tabeli). Bez któregokolwiek z tych elementów odtworzenie nie będzie kompletne. Tak i jest to jedna z najwygodniejszych metod. Tworzysz nową stronę w LocalWP, importujesz bazę danych przez phpMyAdmin dostępny z poziomu LocalWP, kopiujesz katalog uploads, zmieniasz adresy URL w bazie poleceniem wp search-replace i sprawdzasz, czy strona działa lokalnie.Najczęstsze pytania
Jak często powinienem testować backup WordPress?
Czy backup od hostingu wystarczy?
Co to jest strategia 3-2-1 backupu?
Jak długo trwa przywrócenie WordPressa z backupu?
Jakie pliki muszą być w backupie WordPress?
Czy mogę przetestować backup na LocalWP?
Potrzebujesz pomocy z projektem?
Robię strony WordPress i sklepy Shoper od 2500 zł. Partner Shoper, 120+ projektów.
- Odpowiedź w 24h
- Certyfikowany Partner Shoper
- 120+ zrealizowanych projektów
- Zgodność z RODO, pełna ochrona danych