Migracja WordPressa na nowy serwer bez strat danych i bez przestojów sprowadza się do dobrze zaplanowanego procesu: pełnej kopii zapasowej, poprawnego przeniesienia plików i bazy danych oraz ostrożnej zmiany DNS dopiero po przetestowaniu strony na nowym hostingu.
Poniżej znajdziesz rozbudowany poradnik krok po kroku – od przygotowania, przez techniczny transfer, aż po testy i typowe problemy.
Dlaczego migracja WordPressa jest ryzykowna (i jak zminimalizować ryzyko)
- Dlaczego migracja WordPressa jest ryzykowna (i jak zminimalizować ryzyko)
- Co sprawdzić przed rozpoczęciem migracji
- Niezbędne dane i narzędzia
- Kopia zapasowa – fundament bezpiecznej migracji
- Metoda 1 – ręczna migracja WordPressa (pełna kontrola)
- Migracja przy jednoczesnej zmianie domeny
- Metoda 2 – migracja za pomocą wtyczki (dla mniej technicznych użytkowników)
- Zmiana DNS i przeniesienie domeny – minimalizacja przestoju
- Lista kontrolna po migracji – co dokładnie sprawdzić
- Najczęstsze problemy po migracji i jak ich uniknąć
- Bezpieczeństwo przy migracji – o czym pamiętać
- Wpływ migracji na SEO i użytkowników
Przenosząc WordPressa na inny serwer, możesz stracić kluczowe dane i konfiguracje – dlatego każdy krok warto zaplanować. Najczęstsze ryzyka to:
- treści (wpisy, strony, komentarze),
- pliki (grafiki, załączniki),
- ustawienia (konfiguracja motywów, wtyczek, menu),
- dane transakcyjne (zamówienia w sklepie, rejestracje użytkowników).
Bezpieczna migracja opiera się na trzech etapach: kopii zapasowej, przeniesieniu plików i bazy oraz konfiguracji nowego środowiska. Dopiero po ich wykonaniu i dokładnym przetestowaniu zmieniamy ustawienia domeny/DNS.
Co sprawdzić przed rozpoczęciem migracji
Zanim wykonasz jakikolwiek krok, przygotuj plan migracji i zweryfikuj parametry techniczne nowego hostingu.
Wymagania techniczne na nowym serwerze
Na nowym hostingu sprawdź co najmniej:
- wersja PHP – musi być zgodna z wersją WordPressa oraz używanymi wtyczkami i motywami;
- wersja MySQL/MariaDB – potwierdź zgodność z obecną instalacją;
- limity serwera –
memory_limit,max_upload_size,max_execution_timeoraz maksymalny rozmiar bazy i ilość jednoczesnych połączeń; - dostęp SSH/SFTP – znacząco przyspiesza i zabezpiecza transfer plików;
- kompresja GZIP i konfiguracja serwera WWW – ważne dla wydajności i czasu ładowania.
Wcześniejsze poznanie parametrów serwera pozwala uniknąć błędów typu przerwane importy bazy czy niedziałające wtyczki.
Aktualizacje i „sprzątanie” przed migracją
Przed startem przenosin warto wykonać poniższe działania optymalizujące:
- zaktualizować WordPressa, motywy i wtyczki do stabilnych wersji,
- usunąć nieużywane wtyczki i motywy oraz stare kopie i testowe dodatki,
- oczyścić bazę i media: kosze wpisów i mediów, stare rewizje oraz „transients” (tymczasowe dane w bazie).
Mniejsza i „czystsza” strona oznacza szybszą migrację i mniejsze szanse na błędy.
Krótkie „okno mrożenia” zmian
Jeśli strona intensywnie przetwarza dane (sklep, rezerwacje), rozważ krótkie okno serwisowe 15–30 minut, w którym wyłączysz możliwość dodawania treści i finalizacji transakcji.
W przypadku dużych serwisów wykonaj dodatkowy, końcowy zrzut bazy tuż przed przełączeniem DNS, aby uniknąć rozjazdu danych.
Niezbędne dane i narzędzia
Przed startem upewnij się, że masz przygotowane:
- dostęp do panelu starego hostingu (do plików, bazy, phpMyAdmin),
- dostęp do panelu nowego hostingu (tworzenie bazy, kont FTP/SSH, zarządzanie domeną),
- dane dostępowe FTP/SFTP do starego i nowego serwera,
- dane do bazy danych MySQL na starym serwerze:
- nazwa bazy,
- użytkownik,
- hasło,
- adres serwera bazy (host).
- klient FTP/SFTP (np. FileZilla, Total Commander, WinSCP) – tymi programami najłatwiej przesłać pliki WordPressa,
- dostęp do phpMyAdmin lub innego narzędzia do zarządzania bazą (WP-CLI, konsola MySQL).
To absolutne minimum, bez którego nie rozpoczniesz bezpiecznej migracji.
Kopia zapasowa – fundament bezpiecznej migracji
Najważniejszym krokiem jest utworzenie pełnej kopii zapasowej plików i bazy danych.
Co dokładnie zbackupować
Wykonaj kopię plików strony, zwłaszcza:
- cały katalog instalacji WordPressa (np.
public_html,htdocslub katalog przypisany do domeny), - folder wp-content, w tym:
themes– motywy,plugins– wtyczki,uploads– wszystkie wgrane pliki (grafiki, dokumenty, wideo).
- kluczowe pliki konfiguracyjne, np.
wp-config.php.
Wykonaj też pełny eksport bazy danych MySQL (zwykle wszystkie tabele z określonym prefiksem, np. wp_), aby móc bezpiecznie odtworzyć zawartość witryny.
Jak wykonać kopię bazy
Najczęściej używane narzędzie to phpMyAdmin:
- zaloguj się do phpMyAdmin na starym hostingu,
- wybierz właściwą bazę danych WordPressa,
- skorzystaj z opcji Eksport i zapisz plik
.sqlna dysku lokalnym.
Alternatywnie możesz użyć mysqldump (SSH) lub WP-CLI.
Dodatkowo rozważ utworzenie dodatkowej zapasowej bazy na wypadek problemów przy imporcie.
Kopia plików przez FTP/SFTP/SSH
Połącz się ze starym serwerem za pomocą SFTP (lub FTP/SSH) i znajdź katalog z instalacją WordPressa (często public_html, htdocs lub katalog o nazwie domeny). Następnie pobierz komplet plików na swój komputer.
Najważniejsze elementy, które muszą znaleźć się w kopii:
- pliki systemowe WordPressa,
- folder
wp-content, - plik
wp-config.php.
Przechowuj kopię w co najmniej dwóch miejscach (lokalnie i w chmurze), aby zminimalizować ryzyko utraty danych.
Metoda 1 – ręczna migracja WordPressa (pełna kontrola)
Ręczna migracja jest najbardziej przejrzysta i uniwersalna – nie wymaga dodatkowych wtyczek, działa w każdej konfiguracji i daje pełną kontrolę nad procesem.
Dodaj domenę na nowym hostingu
Na nowym hostingu wykonaj następujące kroki:
- zaloguj się do panelu,
- dodaj domenę (jako główną lub dodatkową, w zależności od oferty),
- po dodaniu domeny panel utworzy przypisany do niej katalog na pliki strony.
Na tym etapie domena może nadal wskazywać na stary serwer – to naturalne; zmienisz to później.
Utwórz nową bazę danych na nowym serwerze
W panelu nowego hostingu:
- utwórz nową bazę MySQL (zanotuj jej nazwę),
- utwórz użytkownika bazy danych z silnym hasłem,
- nadaj użytkownikowi pełne uprawnienia do tej bazy.
Poprawne powiązanie bazy z użytkownikiem jest warunkiem działania strony.
Zaimportuj bazę danych WordPressa
Korzystając z phpMyAdmin na nowym hostingu:
- wybierz nowo utworzoną bazę danych,
- użyj opcji Import,
- wskaz plik
.sqlwyeksportowany ze starego serwera, - uruchom import i poczekaj na jego zakończenie.
Upewnij się, że wszystkie tabele zostały poprawnie przeniesione i nie pojawiły się błędy podczas importu.
Przenieś pliki WordPressa na nowy serwer
Za pomocą SFTP/SSH:
- połącz się z nowym serwerem,
- przejdź do katalogu przypisanego do domeny (np.
public_html), - wgraj wszystkie wcześniej pobrane pliki WordPressa:
- katalog
wp-content, - pliki rdzenia WordPressa,
- plik
wp-config.php(za chwilę go dostosujesz).
- katalog
Przy dużej stronie spakuj pliki do .zip na starym serwerze, prześlij jedno archiwum i rozpakuj je na nowym – to zwykle najszybsza metoda (zwłaszcza przez SFTP/SSH).
Zaktualizuj plik wp-config.php
W pliku wp-config.php na nowym serwerze zaktualizuj dane połączenia z bazą. Wyszukaj sekcję:
define('DB_NAME', 'stara_nazwa_bazy');
define('DB_USER', 'stary_uzytkownik');
define('DB_PASSWORD', 'stare_haslo');
define('DB_HOST', 'stary_host');
i zmień ją na:
define('DB_NAME', 'nowa_nazwa_bazy');
define('DB_USER', 'nowy_uzytkownik');
define('DB_PASSWORD', 'nowe_haslo');
define('DB_HOST', 'host_nowej_bazy'); // często 'localhost'
Pamiętaj też, aby sprawdzić:
- klucze bezpieczeństwa (
AUTH_KEY,SECURE_AUTH_KEYitd.), - prefiks tabel (np.
wp_– powinien zgadzać się z tym w bazie), - dodatkowe stałe wymuszające debugowanie lub cache (np.
WP_DEBUGi ustawienia systemów cache).
Testowanie strony na nowym serwerze (przed zmianą DNS)
Wiele hostingów udostępnia tymczasowy adres (techniczny URL lub podgląd przez panel), na którym zobaczysz stronę przed zmianą DNS.
Alternatywnie możesz użyć wpisu w pliku hosts na swoim komputerze (dla zaawansowanych), aby „oszukać” przeglądarkę i wskazać domenę na nowy serwer.
Sprawdź, czy:
- strona ładuje się poprawnie,
- działa logowanie do
/wp-admin, - formularze, koszyk i wtyczki funkcjonują poprawnie,
- wszystkie obrazki są widoczne i nie ma błędów 404.
Ustawienia bezpośrednich odnośników (permalinków)
Po uruchomieniu WordPressa na nowym serwerze zaloguj się do panelu i przejdź do:
Ustawienia → Bezpośrednie odnośniki
Wybierz tę samą strukturę adresów, którą miałeś wcześniej i zapisz ustawienia, nawet jeśli nic nie zmieniasz.
Ten krok odświeża plik .htaccess i zapewnia poprawne działanie linków.
Migracja przy jednoczesnej zmianie domeny
Jeśli przenosisz stronę nie tylko na nowy serwer, ale także pod nową domenę, trzeba zaktualizować adresy URL w bazie danych oraz konfiguracji WordPressa. Zwykle zmieniasz:
- adres WordPressa (URL instalacji),
- adres witryny (publiczny URL),
- odnośniki w treści (linki wewnętrzne, adresy obrazków).
Po migracji plików i imporcie bazy danych zaloguj się do panelu i w sekcji Ustawienia → Ogólne zaktualizuj: Adres WordPressa (URL) oraz Adres witryny (URL).
Masową zamianę adresów (ze starej domeny na nową) wykonuj dedykowanym narzędziem lub wtyczką migracyjną – ze względu na serializacje i złożoną strukturę danych.
Metoda 2 – migracja za pomocą wtyczki (dla mniej technicznych użytkowników)
Poza ręcznym przenoszeniem plików i baz możesz skorzystać z dedykowanych wtyczek migracyjnych WordPressa. Poniżej typowy schemat działania:
- Na starym serwerze zainstaluj wtyczkę migracyjną.
- Utwórz pakiet migracyjny obejmujący pliki i bazę danych.
- Pobierz pakiet na swój komputer.
- Na nowym serwerze zainstaluj czystą kopię WordPressa.
- Dodaj tę samą wtyczkę migracyjną.
- Zaimportuj pakiet, który odtworzy całą stronę.
Po imporcie pamiętaj o bezpieczeństwie:
- chronić paczki migracyjne hasłem,
- usunąć instalatory i paczki z katalogu strony,
- nie pozostawiać katalogów tymczasowych w katalogu głównym witryny.
Wtyczki są wygodne, ale przy bardzo dużych stronach lub ograniczeniach hostingu (limity rozmiaru uploadu) mogą się okazać problematyczne – wtedy ręczna metoda daje większą kontrolę.
Zmiana DNS i przeniesienie domeny – minimalizacja przestoju
Co dokładnie zmieniamy
W panelu zarządzania domeną zaktualizuj rekordy DNS (np. rekord A kierujący na adres IP nowego serwera) lub zmień serwery nazw (nameservers), jeśli nowy hosting wymaga własnych DNS.
Propagacja DNS
Propagacja zwykle trwa do 24 godzin, choć często strona zaczyna działać poprawnie dużo szybciej.
W tym czasie część użytkowników może trafiać na „stary”, a część na „nowy” serwer, dlatego nie wprowadzaj zmian w starym środowisku (stąd „okno mrożenia”). Dopiero po pełnych testach zmień DNS i przełącz stronę oficjalnie.
Lista kontrolna po migracji – co dokładnie sprawdzić
Po zakończeniu migracji i propagacji DNS wykonaj kompletny przegląd strony na nowym serwerze. Sprawdź:
- czy strona ładuje się poprawnie na różnych urządzeniach i w popularnych przeglądarkach,
- czy działa logowanie do
/wp-admin, - czy formularze kontaktowe, koszyk, płatności i rejestracja użytkowników działają poprawnie,
- czy wszystkie obrazki są widoczne (brak pustych ramek lub 404),
- czy linki wewnętrzne nie prowadzą do nieistniejących stron (błędy 404),
- czy nie pojawiają się błędy PHP, komunikaty ostrzegawcze, białe ekrany (500, 503).
Dodatkowo po migracji sprawdź i zoptymalizuj:
- włączenie object cache (mechanizmy hostingu lub wtyczki),
- harmonogram zadań cron (usuń niepotrzebne lub zbyt częste zadania),
- poprawność typów MIME (obsługa plików),
- działanie kompresji GZIP,
- czy na froncie nie ładują się zbędne skrypty,
- aktualność map witryny (sitemapy).
Najczęstsze problemy po migracji i jak ich uniknąć
Błąd połączenia z bazą danych
Objaw: komunikat „Error establishing a database connection” lub biały ekran.
Najczęstsze przyczyny to błędne parametry lub uprawnienia:
- błędna nazwa bazy,
- nieprawidłowy użytkownik bazy,
- nieprawidłowe hasło,
- zły host bazy,
- brak uprawnień użytkownika do bazy.
Rozwiązanie: ponownie sprawdź dane w wp-config.php oraz uprawnienia użytkownika bazy na nowym serwerze.
Białe ekrany, błędy 500
Potencjalne przyczyny:
- niezgodna wersja PHP (zbyt stara lub zbyt nowa względem wtyczek),
- brak wymaganych modułów PHP,
- zbyt niskie limity
memory_limitlubmax_execution_time, - konflikty wtyczek po migracji.
Rozwiązanie:
- sprawdź logi błędów w panelu hostingu,
- dostosuj wersję PHP i limity w panelu,
- tymczasowo wyłącz wtyczki (zmień nazwę katalogu
plugins), aby zidentyfikować źródło problemu.
Niepoprawne linki, problemy z permalinkami
Objawy to m.in. linki prowadzące do stron z błędem 404 lub działająca strona, ale niedziałające odnośniki wewnętrzne.
Rozwiązanie: ponownie zapisz ustawienia bezpośrednich odnośników (Ustawienia → Bezpośrednie odnośniki) i upewnij się, że plik .htaccess został poprawnie wygenerowany.
Brak części plików (grafik, załączników)
Najczęściej to skutek niekompletnego transferu katalogu wp-content/uploads lub przerwanego połączenia SFTP/FTP.
Rozwiązanie: porównaj lokalną kopię plików z zawartością na nowym serwerze i w razie braków ponownie prześlij katalog uploads.
Bezpieczeństwo przy migracji – o czym pamiętać
Oto najważniejsze praktyki bezpieczeństwa, o których warto pamiętać:
- nie zostawiaj paczek migracyjnych i instalatorów w katalogu strony,
- usuń pliki archiwum po zakończeniu migracji,
- usuń skrypty instalacyjne wtyczek migracyjnych,
- nie pozostawiaj katalogów tymczasowych (np.
temp,backup) w katalogu głównym, - dane dostępowe do bazy (nazwa, hasło) trzymaj wyłącznie w
wp-config.php, a nie w publicznych repozytoriach, - utrzymuj aktualny WordPress, motyw i wtyczki – minimalizujesz ryzyko luk bezpieczeństwa.
Wpływ migracji na SEO i użytkowników
Poza warstwą techniczną zadbaj o elementy ważne dla SEO i UX:
- brak zbędnych skryptów na froncie – szybciej ładująca się strona,
- działająca kompresja GZIP i poprawne typy MIME – lepsza wydajność,
- aktualne mapy adresów (sitemapy) – szczególnie przy zmianie domeny,
- staranne testy i brak błędów 404 – pozytywny sygnał dla wyszukiwarek.
Przy zmianie domeny wdroż przekierowania 301 ze starej domeny na nową oraz zaktualizuj adres witryny w Google Search Console, aby przyspieszyć ponowne zindeksowanie.