Kopia zapasowa i migracja WordPress: przenieś lub przywróć stronę
Autor: Mariusz Szatkowski · Zaktualizowano: 2026-06-25
O przetrwaniu strony WordPress w trudny dzień decydują dwa momenty. Pierwszy to chwila, gdy coś się psuje, nieudana aktualizacja, wadliwa wtyczka, zhakowany plik, i trzeba przywrócić stronę do poprzedniego stanu. Drugi to przenosiny na nowy hosting lub nową domenę, gdy wszystko musi dotrzeć na drugi koniec w całości. Oba zależą od tych samych dwóch rzeczy: kopii naprawdę kompletnej oraz migracji, która po drodze nie uszkodzi po cichu bazy danych. Ten przewodnik wyjaśnia, co zawiera prawdziwa kopia zapasowa WordPress, dlaczego migracja jest trudną częścią, co dobre narzędzie musi obsłużyć i jak darmowa wtyczka Migrator dla WordPress robi to bez zewnętrznego konta.
Co zawiera kompletna kopia
Strona WordPress to dwie osobne rzeczy, które trzeba kopiować razem, albo wcale.
- Baza danych trzyma wpisy, strony, produkty, ustawienia, użytkowników i większość konfiguracji. W sklepie WooCommerce trzyma też zamówienia, klientów i większość stanu sklepu.
- Pliki trzymają przesłane media (biblioteka mediów), motywy i wtyczki, czyli wszystko w katalogu
wp-content.
Przywróć tylko jedną połowę, a dostaniesz zepsutą stronę: bazę, która wskazuje na nieistniejące obrazki, albo folder plików bez treści za nimi. Kompletna kopia obejmuje obie części i najlepiej, jeśli ląduje w jednym archiwum, które łatwo przechować poza serwerem i łatwo przenieść. Rozrzucenie zrzutu bazy w jednym miejscu, a paczki plików w drugim, to prosta droga do tego, że połowa kopii zniknie dokładnie wtedy, gdy będzie potrzebna.
Dlaczego migracja jest trudną częścią
Robienie kopii to łatwa połowa. Naprawdę trudna część to migracja, bo strona WordPress zapisuje własny adres URL i ścieżki plików w całej bazie danych. Adres domowy, adres strony, odnośniki w treści wpisów, ścieżki obrazków, ustawienia widgetów, opcje motywu, konfiguracja wtyczek: przy przenosinach na nową domenę każde z tych odwołań musi zmienić się na nowy adres, inaczej strona dotrze zepsuta.
Pułapka jest taka, że duża część tych danych jest serializowana. WordPress zapisuje tablice i obiekty PHP jako tekst, a ten format wpisuje długość każdego łańcucha w same dane. Wartość taka jak s:19:"https://oldsite.com" zapisuje, że łańcuch ma dziewiętnaście bajtów. Zrób zwykłe znajdź-i-zamień starej domeny na nową o innej długości, a tekst się zmieni, ale zapisana liczba już nie, co po cichu uszkadza wartość. Dane nadal wyglądają jak tekst, ale PHP nie potrafi już ich odserializować. Widgety znikają, ustawienia motywu się resetują, opcje wtyczek wracają puste. To jeden z najczęstszych sposobów, w jaki ręcznie sklejana migracja zawodzi, a szkód nie widać, dopóki się ich nie poszuka.
Poprawna migracja używa bezpiecznego dla serializacji przepisywania URL: przechodzi po prawdziwych strukturach danych zamiast traktować bazę jak jednolity blok tekstu, aktualizuje każde wystąpienie starego URL i przelicza długości łańcuchów, żeby dane serializowane pozostały prawidłowe. To najważniejsza pojedyncza funkcja każdego narzędzia migracyjnego i jednocześnie najłatwiejsza do zepsucia ręką.
Ostrzeżenie: Zwykłe znajdź-i-zamień starej domeny po cichu uszkadza wartości serializowane, bo zapisane długości łańcuchów przestają się zgadzać. Widgety znikają, a opcje wtyczek wracają puste, a szkód nie widać, dopóki się ich nie poszuka.
Czego potrzebuje dobre narzędzie do kopii i migracji
Niezależnie od tego, czy budujesz, kupujesz, czy instalujesz, narzędzie do kopii i migracji WordPress powinno spełniać kilka podstaw. Potraktuj to jak listę kontrolną.
- Obie połowy w jednym archiwum. Baza i pliki razem, w jednym pliku, który pobierzesz i przechowasz poza serwerem.
- Przepisywanie bezpieczne dla serializacji. URL-e i ścieżki poprawnie aktualizowane przy przywracaniu na nowy adres, także wewnątrz danych serializowanych.
- Przywracanie w miejscu i migracja. To samo archiwum powinno cofnąć stronę po problemie albo przenieść ją na świeżą instalację na nowym hostingu.
- Samodzielny hosting, bez konta. Zadanie wykonuje się na Twoim serwerze, a dane nigdy nie przechodzą przez podmiot trzeci, któremu musisz zaufać.
- Kontrola integralności. Sposób na wykrycie uciętego lub uszkodzonego archiwum przed przywróceniem go na działającej stronie, a nie po fakcie.
- Zabezpieczenie przy przywracaniu. Przywracanie nadpisuje cel, więc migawka zrobiona przed importem, z automatycznym wycofaniem przy błędzie, zamienia ryzykowną operację w odwracalną.
- Ścieżka dla dużych stron. Żądanie przeglądarki ma limit czasu; duża strona potrzebuje drogi przez wiersz poleceń, która go nie ma.
- Selektywne kopie. Możliwość pominięcia tego, czego nie potrzebujesz (pamięci podręcznej, wersji roboczych, spamu), żeby archiwum było małe.
Zwróć uwagę, co leży u podstaw tego wszystkiego: kontrola. Kopia jest przydatna tylko wtedy, gdy faktycznie do niej dotrzesz, ufasz, gdzie się znajduje, i przywrócisz ją bez subskrypcji stojącej między Tobą a Twoimi danymi.
Jak radzi sobie z tym Migrator
Migrator dla WordPress to darmowa wtyczka open source zbudowana dokładnie wokół tej listy. Pakuje bazę danych i całą zawartość wp-content do jednego pliku, który pobierzesz, zachowasz jako kopię i przywrócisz, na tej samej stronie albo na zupełnie nowej instalacji gdzie indziej. Gdy przywracasz na inny adres, sam przepisze stare URL-e i ścieżki plików na nowe, więc strona po prostu działa. Wszystko dzieje się na Twoim serwerze: nie ma konta do założenia, nie ma odsprzedawanego limitu rozmiaru pliku i nic nigdy nie trafia do usługi zewnętrznej.
Ekran Migrator w panelu administratora, gdzie tworzysz pełną kopię i przywracasz archiwum.
Kopia
Na stronie, którą chcesz skopiować, tworzysz kopię z ekranu Migrator w menu administratora. Migrator zapisuje bazę do przenośnego zrzutu SQL (tabele, widoki, wyzwalacze i procedury składowane) i strumieniowo wrzuca każdy plik z wp-content do jednego archiwum obok niej. Eksport w przeglądarce działa z paskiem postępu i bezpośrednim pobraniem, a do tego jest wznawialny, więc duża strona kończy w kilku krokach zamiast zawodzić na jednym długim żądaniu.
To Ty decydujesz, co wchodzi do kopii. Jednokliknięciowe presety, Cała strona, Tylko baza i Tylko media, ustawiają sensowne wykluczenia za Ciebie, a możesz pójść dalej ręcznie: pomiń media, motywy, wtyczki, pamięć podręczną, komentarze-spam, wersje robocze wpisów, transients, sesje WooCommerce czy tabele Action Scheduler. Wbudowany eksplorator rozmiaru plików skanuje wp-content i pokazuje rozmiar oraz liczbę plików każdego folderu, więc zaznaczysz duże foldery, których nie musisz dźwigać, i utrzymasz archiwum w ryzach.
Wskazówka: Użyj eksploratora rozmiaru plików, żeby przed eksportem pominąć pamięć podręczną, wersje robocze i transients. Mniejsze archiwum szybciej się buduje, pobiera i przywraca.
Przywracanie i migracja
Na celu, tej samej stronie do cofnięcia albo świeżej instalacji WordPress do przeniesienia, przywracasz archiwum metodą przeciągnij-i-upuść. Migrator importuje bazę, odkłada pliki na miejsce i przepisuje adres oraz ścieżki strony źródłowej na adres celu. To przepisywanie jest bezpieczne dla danych serializowanych: Migrator przechodzi po prawdziwych strukturach danych zamiast robić ślepą zamianę tekstu, więc liczby długości w bajtach, które PHP trzyma wewnątrz serializowanych opcji i meta, pozostają poprawne i nic się nie psuje.
Przywracanie nadpisuje bazę i pliki celu, bo na tym polega przywracanie, więc prosi o potwierdzenie i jest ograniczone do administratorów. Wokół niego stoją dwa zabezpieczenia. Migrator robi migawkę bezpieczeństwa bazy przed każdym przywróceniem i wycofuje ją automatycznie, jeśli coś zawiedzie, więc zepsuty import nie zostawia Cię w gorszym stanie niż na starcie. A każdy element wewnątrz archiwum nosi sumę kontrolną, więc ucięta lub uszkodzona kopia zostaje wykryta, zanim nadpisze działającą stronę. Migrator odmawia też importu przy niezgodnym prefiksie tabel i nigdy nie nadpisuje własnego folderu wtyczki w trakcie przywracania, więc nie podetnie sam sobie gałęzi.
Uwaga: Przywracanie nadpisuje cel, więc to migawka przed importem z automatycznym wycofaniem zamienia ryzykowną operację w odwracalną, gdy import zawiedzie.
Gdzie leżą kopie i co z dużymi stronami
Kopie trafiają do wp-content/migrator-backups, folderu, który blokuje bezpośredni dostęp z sieci, a pobieranie w przeglądarce jest serwowane tylko zalogowanym administratorom przez uwierzytelniony uchwyt. Pliki nigdy nie są wystawione pod łatwym do odgadnięcia adresem. Sekcja Twoje kopie wymienia każdą kopię zapisaną na stronie wraz z datą i rozmiarem, więc pobierzesz, przywrócisz lub usuniesz dowolną jednym kliknięciem, nie opuszczając ekranu.
Dla stron zbyt dużych na żądanie przeglądarki każde zadanie działa też z WP-CLI, które nie ma limitu czasu żądania:
wp migrator export
wp migrator import path/to/backup.migrator
Wskazówka: Jeśli eksport w przeglądarce zatnie się na dużej stronie, uruchom zadanie z WP-CLI. Wiersz poleceń nie ma limitu czasu żądania i dokończy tam, gdzie przeglądarka się poddaje.
Konfiguracja
Uruchomienie Migratora zajmuje kilka minut:
Wbudowany eksplorator rozmiaru plików, w którym przed eksportem wykluczasz duże foldery.
- Zainstaluj wtyczkę z Wtyczki → Dodaj nową albo wgraj ją do
/wp-content/plugins/migrator. Nie ma wymaganych zależności. - Aktywuj ją.
- Otwórz Migrator w menu administratora, wybierz preset (Cała strona to bezpieczny domyślny), dostosuj wykluczenia, jeśli chcesz, i zrób pierwszą kopię. Na dużej stronie uruchom zamiast tego
wp migrator export. - Aby migrować, pobierz archiwum, a na celu zainstaluj Migratora i przeciągnij plik na kartę przywracania. URL-e i ścieżki zostaną przepisane za Ciebie.
Praktyczne wskazówki
Narzędzie daje mechanizm; rozsądna rutyna daje bezpieczeństwo. Kilka wskazówek:
- Testuj przywracanie, nie tylko kopię. Kopia, której nigdy nie przywróciłeś, to tylko domysł. Co jakiś czas przywróć świeże archiwum na jednorazowej instalacji i sprawdź, czy strona wstaje.
- Trzymaj kopie poza serwerem. Kopia, która żyje tylko na tej samej maszynie co strona, znika razem z maszyną. Pobierz archiwa i przechowaj je gdzie indziej.
- Przytnij to, czego nie potrzebujesz. Użyj eksploratora rozmiaru plików i wykluczeń, żeby pominąć pamięć podręczną, wersje robocze i transients. Mniejsze archiwum szybciej się buduje, pobiera i przywraca.
- Rób kopię przed ryzykownymi zmianami. Świeże archiwum przed dużą aktualizacją, zmianą motywu czy niepewną wtyczką zamienia potencjalną katastrofę w cofnięcie jednym kliknięciem.
- Do wszystkiego dużego używaj WP-CLI. Jeśli eksport w przeglądarce się zatnie, wiersz poleceń nie ma limitu czasu i dokończy zadanie.
Migrator a domyślny WordPress
WordPress nie ma w ogóle wbudowanej kopii zapasowej ani migracji. Oto różnica dla samej kopii i migracji.
| Funkcja | Domyślny WordPress | Migrator |
|---|---|---|
| Kopia całej strony | Brak wbudowanej | Jeden plik: baza + całe wp-content |
| Migracja na nową domenę | Ręczna, podatna na błędy | Bezpieczne dla serializacji przepisywanie URL i ścieżek |
| Przywrócenie w miejscu po problemie | Brak | Tak, z tego samego archiwum |
| Kopia selektywna | nie dotyczy | Pomijanie mediów, motywów, wtyczek, cache, wersji i więcej |
| Kontrola integralności | nie dotyczy | Sumy kontrolne na element wykrywają uszkodzone archiwum |
| Zabezpieczenie przy przywracaniu | nie dotyczy | Migawka przed importem z automatycznym wycofaniem |
| Droga dla dużych stron | nie dotyczy | Eksport i import WP-CLI, bez limitu czasu |
| Wymagane zewnętrzne konto | nie dotyczy | Nie, w pełni samodzielny hosting |
| Świadomość WooCommerce | nie dotyczy | Tak (obsługuje tabele sesji i Action Scheduler) |
| Koszt | Za darmo (rdzeń nie ma) | Za darmo; PRO dodaje harmonogram, chmurę i multisite |
Wersja darmowa a Pro
Darmowa wtyczka Migrator to kompletne narzędzie do kopii, przywracania i migracji, a nie zajawka. Archiwa całej strony, migracja bezpieczna dla serializacji, kopie selektywne, sumy kontrolne, migawka bezpieczeństwa przed importem i polecenia WP-CLI są w komplecie, bez sztucznego limitu rozmiaru pliku.
Migrator Pro to dodatek, który wymaga zainstalowanej i aktywnej darmowej wtyczki, i jest dla sklepów, które chcą zautomatyzować rutynę i wypchnąć kopie poza serwer. Dokłada zaplanowane i przyrostowe kopie, żeby tworzyły się same, magazyny w chmurze (Amazon S3, Dropbox i Google Drive), żeby wypchnąć kopie poza serwer, multisite w eksporcie i imporcie, transfer serwer-serwer oraz szyfrowane kopie. Wersja darmowa pozostaje naprawdę kompletnym narzędziem; Pro chodzi o zautomatyzowanie go i wyniesienie kopii poza serwer.
Migrator vs Duplicator vs All-in-One WP Migration
Trzy wtyczki dominują w kopiach i migracji WordPress. Praktyczną różnicę widać w wersji darmowej i w tym, ile każda liczy za zniesienie swojego głównego ograniczenia.
| Funkcja | Migrator | Duplicator | All-in-One WP Migration |
|---|---|---|---|
| Pełna kopia i migracja w darmowej | Tak | Tak | Tak (z limitem importu) |
| Sztuczny limit rozmiaru | Brak | Brak | 512 MB w darmowej |
| Self-hosted, bez konta | Tak | Tak | Tak |
| Bezpieczne przepisywanie URL | Tak | Tak | Tak |
| Harmonogram i kopie przyrostowe | Pro | Pro (wyższe plany) | Dodatek / Pro |
| Chmura (S3, Dropbox, Google Drive) | Pro | Pro | Osobne płatne dodatki |
| Multisite | Pro | Pro | Płatny dodatek |
| Transfer serwer-serwer | Pro | Pro | Brak |
| Szyfrowane kopie | Pro | Pro | Brak |
| Open source (GPLv2) | Tak | Rdzeń GPL | Rdzeń GPL |
Najwyraźniejsza różnica to limit rozmiaru importu: All-in-One WP Migration ogranicza darmowy import do 512 MB i liczy za jego zniesienie, podczas gdy Migrator nie nakłada sztucznego limitu rozmiaru w wersji darmowej. Dane i ceny konkurencji według stanu na czerwiec 2026; aktualne ceny sprawdź na stronach producentów.
W skrócie
Kopia zapasowa WordPress musi obejmować bazę danych i pliki razem, a migracja musi przepisywać URL-e bezpiecznie dla serializacji, inaczej uszkodzi stronę w sposób, którego nie zauważysz aż do później. Wybierz narzędzie samodzielnie hostowane, tworzące jeden plik, który kontrolujesz, sprawdzające własną integralność, robiące migawkę przed przywracaniem i obsługujące zarówno przywracanie w miejscu, jak i przenosiny na nowy hosting. Darmowa wtyczka Migrator robi to wszystko bez konta i bez limitu rozmiaru, także dla sklepu WooCommerce; Pro dodaje harmonogram, chmurę poza serwerem, szyfrowanie i multisite, gdy chcesz, żeby rutyna działała sama.