Jak zrobić kopię zapasową strony WordPress — pełny poradnik backupu | WebMajka
Kopia zapasowa WordPress — dlaczego musisz ją mieć
Wordpress kopia zapasowa to nie luksus, a absolutna konieczność. Każda strona — blog, sklep, portfolio — narażona jest na awarie serwera, błędy wtyczek, włamania, uszkodzenia po aktualizacji czy zwykłą pomyłkę administratora. Wystarczy jedna nieudana aktualizacja motywu, żeby cała witryna przestała działać. Bez backupu odbudowa strony oznacza wielogodzinną pracę i utratę danych klientów. WordPress składa się z dwóch elementów, które trzeba zapisywać razem: bazy danych MySQL (wpisy, komentarze, ustawienia, użytkownicy) oraz plików (core WordPressa, motyw, wtyczki, obrazy w wp-content/uploads). Tylko pełna kopia obu elementów pozwala odtworzyć stronę w takim stanie, w jakim była tuż przed awarią. W tym artykule pokażę trzy praktyczne metody — od najprostszej (wtyczka) do najbardziej niezawodnej (ręczny backup przez FTP + phpMyAdmin).
Co dokładnie zawiera kompletny backup WordPress
Zanim przystąpisz do tworzenia kopii, musisz wiedzieć, co właściwie zabezpieczasz. Pełny backup to:
| Element | Co zawiera | Gdzie się znajduje |
|---|---|---|
| Baza danych | Wpisy, strony, komentarze, ustawienia, użytkownicy | MySQL (np. wp_ prefix) |
| wp-content/uploads | Wszystkie media (zdjęcia, PDF-y) | Katalog na serwerze |
| wp-content/themes | Motyw aktywny i nieaktywne | Katalog na serwerze |
| wp-content/plugins | Wtyczki | Katalog na serwerze |
| wp-config.php | Dane dostępu do bazy, klucze soli | Korzeń WordPressa |
| .htaccess | Reguły serwera Apache | Korzeń WordPressa |
| Pliki core | WordPress silnik (można pobrać ponownie) | Cały katalog |
Teoretycznie pliki core można pominąć — pobierzesz je z wordpress.org. W praktyce lepiej wziąć wszystko, bo jeśli modyfikowałeś cokolwiek w wp-config.php albo dodałeś własne skrypty w korzeniu, utracisz je. Kluczowe katalogi to wp-content/uploads (często największy — gigabajty zdjęć) oraz baza danych (zwykle 10-500 MB dla typowego bloga).
Metoda 1: Kopia zapasowa WordPress wtyczka — UpdraftPlus
Najszybszy sposób to wtyczka. Liderem rynku jest UpdraftPlus — darmowa wersja wystarczy dla 90% zastosowań. Ma ponad 3 miliony aktywnych instalacji. Instalacja: panel WordPress → Wtyczki → Dodaj nową → wpisz UpdraftPlus → Zainstaluj → Włącz.
Konfiguracja krok po kroku:
1. Przejdź do Ustawienia → UpdraftPlus Backup.
2. Zakładka Settings — ustaw harmonogram backupu plików (np. tygodniowo) i bazy danych (np. codziennie).
3. Wybierz liczbę retainowanych kopii (np. 4 — czyli backupy z ostatnich 4 tygodni).
4. Wybierz remote storage: Google Drive, Dropbox, Amazon S3 lub FTP. Nie trzymaj backupów tylko na serwerze strony — gdy serwer padnie, backupy padną razem z nim.
5. Zapisz ustawienia. Kliknij Backup Now, żeby wykonać pierwszą kopię.
Alternatywne wtyczki warte polecenia: All-in-One WP Migration (doskonała do przenoszenia stron między serwerami), BackWPup, Duplicator (świetny do tworzenia całego klonu strony do reinstalacji), WPvivid. Każda ma swoje plusy — UpdraftPlus jest jednak uniwersalny i najprostszy w konfiguracji.
Metoda 2: Ręczna kopia WordPress przez FTP i phpMyAdmin
Metoda ręczna daje pełną kontrolę i działa, nawet gdy WordPress jest zepsuty i nie możesz się zalogować. Wymaga znajomości FTP i phpMyAdmin.
Krok 1 — Pobranie plików przez FTP. Otwórz FileZilla (lub podobny klient FTP), połącz się z serwerem, przejdź do katalogu strony (zwykle public_html albo www). Zaznacz wszystkie pliki i pobierz na dysk lokalny. Dla dużych stron (>1 GB zdjęć) można pobierać tylko katalog wp-content/uploads — reszta core'a jest identyczna dla wszystkich instalacji WordPressa.
Krok 2 — Eksport bazy danych z phpMyAdmin. Zaloguj się do panelu hostingu, otwórz phpMyAdmin, wybierz bazę danych WordPressa z lewej strony. Kliknij zakładkę Eksport. Wybierz metodę Szybki i format SQL. Kliknij Wykonaj — pobrany plik .sql to pełny zrzut bazy.
Dla większych baz użyj metody Niestandardowy i zaznacz opcję Kompresja: gzip — plik będzie 10x mniejszy.

Krok 3 — Zapisanie obu elementów. Umieść pliki FTP i .sql w jednym folderze z datą (np. backup-2026-04-17), spakuj do ZIP i wrzuć na zewnętrzny dysk lub chmurę. Masz pełną, niezależną kopię.
Metoda 3: Backup przez SSH — dla zaawansowanych
Jeśli hosting oferuje dostęp SSH, najszybsza metoda to linia komend. Oto gotowy skrypt bash:
#!/bin/bash
DATA=$(date +%Y-%m-%d)
BACKUP_DIR="/home/user/backups"
SITE_DIR="/home/user/public_html"
# Backup plikow
tar -czf $BACKUP_DIR/wp-files-$DATA.tar.gz -C $SITE_DIR .
# Backup bazy danych
mysqldump -u USER -pPASSWORD DBNAME | gzip > $BACKUP_DIR/wp-db-$DATA.sql.gz
# Usuniecie kopii starszych niz 30 dni
find $BACKUP_DIR -name "wp-*" -mtime +30 -delete
Taki skrypt ustawiasz w cronie (panel hostingu → Cron Jobs), żeby wykonywał się np. codziennie o 3:00:
0 3 * * * /home/user/backup-wp.sh
Metoda ta jest najszybsza przy dużych stronach (>5 GB), bo tar i mysqldump pracują bezpośrednio na serwerze, bez transferowania przez WordPress PHP. Wymaga jednak dostępu SSH, którego nie dają tańsze hostingi współdzielone.
Backupy u hostingodawcy — nie polegaj tylko na nich
Większość polskich hostingów (nazwa.pl, home.pl, cyberfolks, lh.pl, ovh) oferuje automatyczne kopie zapasowe w ramach pakietów. To dobra warstwa ochrony, ale nie powinna być jedyną. Typowe problemy:
- Kopie trzymane są na tym samym serwerze — przy poważnej awarii giną razem ze stroną.
- Okresy retencji bywają krótkie (7-14 dni) — jeśli błąd wykryjesz po miesiącu, kopia już nie istnieje.
- Przywracanie często wymaga zgłoszenia do supportu i trwa godziny.
- Backupy hostingodawcy nie zabezpieczają przed błędami aplikacyjnymi (zainfekowany plugin, uszkodzona baza) — jeśli problem był kilka dni temu i wszystkie kopie są już zainfekowane, nie pomogą.
Zasada 3-2-1: 3 kopie (produkcja + 2 backupy), 2 różne nośniki (serwer + chmura), 1 kopia offsite (poza infrastrukturą hostingu). Przy takim podejściu nawet katastrofa u hostingodawcy nie ugryzie cię. Dobry hosting WordPress to tylko jedna warstwa zabezpieczeń.
Jak często robić kopię zapasową WordPress
Częstotliwość zależy od aktywności strony:
| Typ strony | Częstotliwość backupu | Retencja |
|---|---|---|
| Wizytówka firmowa (rzadkie zmiany) | Co tydzień | 4 tygodnie |
| Blog (publikacje co kilka dni) | Co 2-3 dni | 2 tygodnie |
| Sklep internetowy | Codziennie (plus realtime dla bazy) | 30 dni |
| Portal z komentarzami/forum | Codziennie | 30 dni |
| Duży serwis z tysiącami użytkowników | Co godzinę (różnicowe) | 30-90 dni |
Dla sklepów internetowych na WooCommerce codzienna kopia to absolutne minimum — każdy dzień bez backupu to potencjalna utrata zamówień, faktur i danych klientów.
Jak przywrócić WordPress z backupu
Backup jest bezużyteczny, jeśli nie umiesz go przywrócić. Przed produkcyjną sytuacją przetestuj restore na lokalnym serwerze lub subdomenie testowej.
Z UpdraftPlus: zakładka Existing Backups → znajdź backup → Restore → zaznacz, co przywracać (bazę, pliki, motywy, wtyczki) → Restore. Trwa 2-15 minut.
Ręcznie: 1) Pobierz pliki przez FTP na serwer. 2) Usuń starą bazę w phpMyAdmin (DROP). 3) Utwórz nową pustą bazę. 4) Zaimportuj plik .sql przez zakładkę Import. 5) W wp-config.php sprawdź dane dostępu. 6) Jeśli zmienił się adres strony, w bazie musisz zaktualizować wp_options (pola siteurl i home) oraz uruchomić Search-Replace na serializowanych opcjach — najlepiej wtyczką Better Search Replace.
Najczęstsze błędy przy tworzeniu kopii zapasowej
Backup tylko plików bez bazy — pliki są identyczne dla każdej instalacji WP, wartość ma baza. Bez niej tracisz wszystkie wpisy.
Trzymanie kopii tylko na serwerze — gdy serwer padnie, backup pada razem z nim. Zawsze kopia offsite.
Niewykonywanie testowego restore — nieraz backupy są uszkodzone. Sprawdzisz to dopiero przy awarii. Raz na pół roku warto zrobić test restore na subdomenie.
Zapomnienie o bazie wp-config.php — bez niego WordPress nie ruszy. Mimo że zawiera hasła, musisz go zabezpieczyć.
Rzadka częstotliwość — dla sklepu backup raz w tygodniu to tragedia. Każdy dzień to dziesiątki zamówień.
Brak monitorowania — włącz maile z UpdraftPlus o powodzeniu/niepowodzeniu backupu. Inaczej dowiesz się, że backup nie działa dopiero, gdy będzie potrzebny.
Więcej o bezpieczeństwie WordPressa i o tym, jak odzyskać hasło WordPress, znajdziesz w naszych innych artykułach. W ramach tworzenia stron internetowych w WebMajka konfigurujemy pełny system backupów z retencją 30 dni, kopiami offsite (Google Drive/S3) oraz miesięcznymi testami restore — standard, który zapewnia spokojny sen każdemu właścicielowi strony.
Najczęściej zadawane pytania (FAQ)
Czy kopia zapasowa WordPress jest płatna?
Gdzie najlepiej trzymać backupy WordPress?
Ile miejsca zajmuje kopia zapasowa WordPress?
wp-content/uploads. Typowy blog zajmuje 200-800 MB, średni sklep WooCommerce 1-5 GB, duży portal nawet kilkadziesiąt GB. Sama baza danych to zwykle 10-200 MB. Warto włączyć kompresję gzip — zmniejsza rozmiar nawet 10-krotnie.Czy backup przez wtyczkę obciąża serwer?
mysqldump.Jak przenieść stronę WordPress na inny serwer?
wp_options (siteurl/home) na nowy adres.Czy muszę robić backup, jeśli hosting robi go automatycznie?
Co zrobić, gdy strona WordPress jest zhakowana i mam tylko zainfekowany backup?
diff), skanować bazę wtyczką Wordfence lub Sucuri i zmieniać wszystkie hasła (admin, FTP, bazy, wp-config salts).