Jak zrobić kopię zapasową strony WordPress — pełny poradnik backupu | WebMajka

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:

ElementCo zawieraGdzie się znajduje
Baza danychWpisy, strony, komentarze, ustawienia, użytkownicyMySQL (np. wp_ prefix)
wp-content/uploadsWszystkie media (zdjęcia, PDF-y)Katalog na serwerze
wp-content/themesMotyw aktywny i nieaktywneKatalog na serwerze
wp-content/pluginsWtyczkiKatalog na serwerze
wp-config.phpDane dostępu do bazy, klucze soliKorzeń WordPressa
.htaccessReguły serwera ApacheKorzeń WordPressa
Pliki coreWordPress 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 UpdraftPlusZainstaluj → 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.

Kopia zapasowa WordPress — backup plików i bazy danych MySQL
Kopia zapasowa WordPress — backup plików i bazy danych MySQL

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 stronyCzęstotliwość backupuRetencja
Wizytówka firmowa (rzadkie zmiany)Co tydzień4 tygodnie
Blog (publikacje co kilka dni)Co 2-3 dni2 tygodnie
Sklep internetowyCodziennie (plus realtime dla bazy)30 dni
Portal z komentarzami/forumCodziennie30 dni
Duży serwis z tysiącami użytkownikówCo 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?
Nie, darmowa wtyczka UpdraftPlus wystarcza dla większości stron. Płatne są tylko wersje pro (dodatkowe integracje, szyfrowanie, multisite). Alternatywnie możesz robić backup całkowicie ręcznie przez FTP + phpMyAdmin — koszt zerowy. Większość hostingów oferuje też automatyczne kopie w ramach pakietu.
Gdzie najlepiej trzymać backupy WordPress?
Zasada 3-2-1: trzy kopie, dwa różne nośniki, jedna offsite. W praktyce: lokalny backup na serwerze + chmura (Google Drive, Dropbox, S3) + lokalny dysk zewnętrzny. Nigdy nie trzymaj jedynej kopii na tym samym serwerze co strona — awaria serwera skasuje wszystko naraz.
Ile miejsca zajmuje kopia zapasowa WordPress?
Zależy głównie od zdjęć w 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?
Tak, w trakcie tworzenia kopii serwer pracuje intensywnie — procesor i dysk. Dlatego harmonogram ustawia się na godziny nocne (2-4 rano). Dla dużych stron na słabym hostingu wtyczka może przerywać backup z timeoutem — wtedy lepsza jest metoda przez SSH i mysqldump.
Jak przenieść stronę WordPress na inny serwer?
Najprościej wtyczką All-in-One WP Migration albo Duplicator — tworzą paczkę z plikami i bazą, którą importujesz na nowym serwerze. Alternatywnie ręcznie: skopiuj pliki przez FTP i zaimportuj bazę przez phpMyAdmin, potem zaktualizuj wp_options (siteurl/home) na nowy adres.
Czy muszę robić backup, jeśli hosting robi go automatycznie?
Tak, nie polegaj tylko na backupach hostingodawcy. Są one trzymane często na tym samym serwerze (ryzyko utraty przy awarii), mają krótkie okresy retencji (7-14 dni) i nie zabezpieczają przed błędami aplikacyjnymi. Zawsze rób dodatkowy backup offsite — Google Drive, Dropbox, S3.
Co zrobić, gdy strona WordPress jest zhakowana i mam tylko zainfekowany backup?
To najgorszy scenariusz — dlatego tak ważna jest długa retencja (30+ dni). Jeśli wszystkie dostępne kopie są zainfekowane, musisz ręcznie czyścić pliki (porównanie z oryginalnym WordPressem przez diff), skanować bazę wtyczką Wordfence lub Sucuri i zmieniać wszystkie hasła (admin, FTP, bazy, wp-config salts).

Przeczytaj również