Przeniesienie WordPressa z jednego serwera na drugi to operacja, która brzmi groźnie, ale w praktyce sprowadza się do trzech rzeczy: przeniesienia plików, przeniesienia bazy danych i wskazania domenie nowego adresu IP. Problemy zaczynają się dopiero wtedy, kiedy robi się to po omacku — wtedy giną obrazki, psują się permalinki, strona przez kilka godzin pokazuje stary content z jednego serwera i nowy z drugiego, a Google zalicza spadek.
W tym poradniku pokazuję trzy metody migracji WordPressa — ręczną (pełna kontrola, wymaga FTP i phpMyAdmin), przez wtyczkę (szybka, ale z limitami rozmiaru) oraz z pomocą supportu hostingu (najlepsza opcja przy dużych sklepach). Na końcu znajdziesz checklistę pomigracyjną, którą warto przejść zanim usuniesz starą instalację.
Spis treści
ToggleZanim zaczniesz — 5 rzeczy, które musisz przygotować
Niezależnie od wybranej metody, przed migracją zadbaj o:
- Aktualna kopia zapasowa — pełna: pliki + baza danych. Zrób ją nawet jeśli hosting twierdzi, że ma własne backupy. Zasada: dwie kopie w dwóch różnych miejscach.
- Dane dostępowe do obu serwerów — FTP/SFTP, panel hostingu, dostęp do baz MySQL na starym i nowym serwerze.
- Dostęp do panelu domeny — w momencie przełączenia DNS będziesz go potrzebować, a logowanie pod presją jest najgorsze.
- Czas rezerwowy — zaplanuj migrację w godzinach najniższego ruchu (noc, niedziela rano). Daj sobie przynajmniej 2–3 godziny zapasu.
- Tryb serwisowy — na czas przenoszenia włącz wtyczkę typu „WP Maintenance Mode” albo ustaw informację w stronie głównej, żeby użytkownicy nie składali zamówień na starej instancji.
Metoda 1. Migracja ręczna — pełna kontrola
Metoda ręczna jest najbardziej edukacyjna i daje 100% kontroli nad procesem. Polecam ją, gdy strona jest średniej wielkości (do kilku GB), masz dostęp do FTP i phpMyAdmin na obu hostingach, a wtyczki migracyjne zawodzą (zbyt duży rozmiar).
Krok 1. Spakuj pliki WordPressa
Zaloguj się przez FTP/SFTP na stary serwer i pobierz cały katalog WordPressa (zazwyczaj public_html lub www), łącznie z ukrytymi plikami .htaccess. Jeżeli masz dostęp do SSH, znacznie szybsze jest spakowanie wszystkiego bezpośrednio na serwerze:
cd ~/public_html
tar -czvf ../backup-wp.tar.gz .
Taki plik backup-wp.tar.gz pobierasz jednym strzałem przez FTP — zamiast kilkudziesięciu tysięcy pojedynczych plików, co trwałoby godzinami.
Krok 2. Zrób eksport bazy danych
Wejdź do phpMyAdmin na starym serwerze, wybierz bazę WordPressa i kliknij zakładkę „Eksport”. Wybierz metodę „Szybka” i format SQL. Zapisz plik nazwa-bazy.sql lokalnie.
Jeżeli baza jest duża (powyżej 50 MB) i phpMyAdmin się wywala, użyj SSH:
mysqldump -u USER -p NAZWA_BAZY > backup-baza.sql
Krok 3. Utwórz bazę i użytkownika na nowym serwerze
W panelu nowego hostingu (DirectAdmin, cPanel, Plesk, autorski — każdy ma tę opcję) utwórz:
- Nową bazę danych (zapisz jej nazwę)
- Nowego użytkownika z losowym hasłem (zapisz login + hasło)
- Przypisz użytkownika do bazy z pełnymi uprawnieniami
Krok 4. Wgraj pliki i zaimportuj bazę
Wgraj backup-wp.tar.gz na nowy serwer przez FTP (lub SSH) i rozpakuj:
tar -xzvf backup-wp.tar.gz -C public_html
Następnie w phpMyAdmin nowego serwera zaimportuj plik nazwa-bazy.sql do świeżo utworzonej bazy.
Krok 5. Zaktualizuj wp-config.php
Otwórz wp-config.php na nowym serwerze i zmień cztery stałe:
define( 'DB_NAME', 'nowa_nazwa_bazy' );
define( 'DB_USER', 'nowy_uzytkownik' );
define( 'DB_PASSWORD', 'nowe_haslo' );
define( 'DB_HOST', 'localhost' );
Pamiętaj, że DB_HOST nie zawsze jest „localhost” — niektóre hostingi używają konkretnej nazwy serwera bazy (np. mysql.mojahost.pl).
Krok 6. Podmień URL w bazie danych
To krytyczny moment, o którym zapomina większość początkujących. WordPress przechowuje pełne adresy URL w wielu tabelach — wp_options, wp_posts, wp_postmeta, wp_links i w serializowanych danych wtyczek. Jeżeli migrujesz pod nową domenę, musisz je wszystkie podmienić.
NIE rób tego zwykłym zapytaniem SQL „UPDATE + REPLACE” — zepsujesz serializowane dane (Woocommerce, menu, widgety, większość wtyczek). Zamiast tego użyj narzędzia Search Replace DB od InterconnectIT:
- Pobierz paczkę ze strony autora i wgraj do głównego katalogu WordPressa.
- Wejdź pod adres
https://nowadomena.pl/Search-Replace-DB-master/. - W pole „Search” wpisz starą domenę (bez
https://):starydomena.pl. - W pole „Replace” wpisz nową:
nowadomena.pl. - Kliknij „Dry run”, sprawdź liczbę dopasowań, a potem „Live run”.
- Koniecznie po zakończeniu kliknij „Delete me” — skrypt usunie się sam. Jeżeli tego nie zrobisz, dajesz komukolwiek możliwość edytowania Twojej bazy.
Krok 7. Przekieruj DNS domeny
Wejdź do panelu rejestratora domeny i zmień wpisy DNS typu A na nowy adres IP (lub użyj nowych nameserverów, jeśli nowy hosting je dostarcza). DNS propaguje się od kilkunastu minut do 24 godzin — w tym czasie część odwiedzających widzi stary serwer, część nowy.
Żeby sprawdzić lokalnie, jak wygląda nowa strona przed propagacją DNS, zmień plik hosts na swoim komputerze (C:WindowsSystem32driversetchosts albo /etc/hosts) i dopisz linijkę:
NOWY_IP twojadomena.pl www.twojadomena.pl
Po tym Twój komputer wymusi wejście na nowy serwer, podczas gdy reszta świata nadal widzi stary.
Metoda 2. Migracja przez wtyczkę — All-in-One lub Duplicator
Dla stron do ~1 GB (albo hostingów z wyższymi limitami importu PHP) najszybsza metoda to wtyczka. Dwie sprawdzone:
All-in-One WP Migration
Prosta jak obsługa pilota od telewizora. Zainstaluj wtyczkę na starym serwerze, kliknij „Export to File”, pobierz plik .wpress. Na nowym serwerze postaw świeży WordPress (tylko sam core, bez wtyczek), zainstaluj All-in-One WP Migration i kliknij „Import from File”. Wtyczka podmieni wszystkie URL-e automatycznie, zaimportuje bazę, zastąpi pliki.
Haczyk: wersja darmowa ma limit importu 512 MB. Dla większości blogów wystarcza, ale sklepy e-commerce z setkami produktów i zdjęciami zwykle przekraczają ten limit. Płatne rozszerzenie „Unlimited” jest jednorazową opłatą.
Duplicator
Bardziej zaawansowany, bez limitów rozmiaru w wersji darmowej, ale wymaga trochę pracy. Tworzy „paczkę” (plik .zip z plikami + plik installer.php), którą wrzucasz na nowy serwer i uruchamiasz installer.php przez przeglądarkę. Installer podłącza bazę, podmienia URL-e i aktywuje WordPressa. Polecany dla średnich stron i osób, które mają minimum doświadczenia z FTP.
Metoda 3. Migracja przez support hostingu
Najczęściej pomijana, a najlepsza dla dużych sklepów i stron krytycznych biznesowo. Większość polskich hostingów (home.pl, nazwa.pl, cyberfolks, seohost, hekko) ma darmową usługę migracji przy przenoszeniu z innego providera. Piszesz zgłoszenie, podajesz dane starego hostingu, a oni przenoszą za Ciebie — w tym także bazę, pliki i zwykle konfigurują DNS.
Zalety:
- Nie grzebiesz w plikach i nie ryzykujesz psucia czegoś ważnego.
- Support zna swój hosting i potencjalne pułapki (np. specyficzny DB_HOST).
- Jeżeli coś się nie uda, to jest ich odpowiedzialność.
Wada jedna: czekasz zwykle 24–48 godzin w kolejce. Przy migracji awaryjnej („bo stary hosting jutro wyłącza konto”) to może być problem.
Checklista po migracji — zanim uznasz że skończyłeś
Przełączenie DNS to dopiero połowa sukcesu. Gdy nowa strona jest już dostępna pod właściwą domeną, przejdź przez poniższą listę:
- ✅ Zaloguj się do wp-admin — sprawdź, czy wszystkie dane użytkownika zgadzają się.
- ✅ Ustawienia → Ogólne — sprawdź „Adres WordPressa (URL)” i „Adres witryny (URL)”. Oba powinny wskazywać na nową domenę z
https://. - ✅ Ustawienia → Bezpośrednie odnośniki — kliknij „Zapisz zmiany”. To przebuduje
.htaccessi permalinki zaczną działać. - ✅ Kliknij 10 losowych wpisów i stron — sprawdź czy się ładują, czy obrazki są widoczne, czy nie ma błędów 404.
- ✅ Zdjęcia w bibliotece mediów — jeżeli są uszkodzone lub pokazują błąd, sprawdź czy folder
wp-content/uploadszostał poprawnie przeniesiony z uprawnieniami (zwykle 755 dla katalogów i 644 dla plików). - ✅ Formularze kontaktowe — wyślij testowy mail, sprawdź czy przychodzi. Jeżeli nie — prawdopodobnie skonfiguruj SMTP (nowy serwer ma inne dane).
- ✅ Wtyczki cache’ujące (LiteSpeed, WP Rocket, W3 Total Cache) — wyczyść cache całkowicie. Stare ścieżki w cache potrafią przez kilka dni zwracać błędy.
- ✅ Certyfikat SSL — sprawdź, czy nowy serwer ma aktywny certyfikat SSL dla Twojej domeny. Jeżeli nie, wygeneruj darmowy Let’s Encrypt.
- ✅ Google Search Console — jeżeli zmieniasz domenę, zgłoś zmianę adresu w narzędziu. Jeżeli tylko hosting — sprawdź raport „Stan” po 48 godzinach.
- ✅ Logi błędów — zajrzyj do
wp-content/debug.logi logów serwera po 24 godzinach, sprawdź czy nie ma masowych błędów PHP.
Najczęściej zadawane pytania
Czy migracja WordPressa wpływa na pozycje w Google?
Prawidłowo wykonana migracja nie wpływa negatywnie na SEO. Google widzi, że strona dalej jest pod tą samą domeną, ma te same treści i odnośniki — więc traktuje ją tak samo. Problemy zaczynają się dopiero wtedy, gdy migracja powoduje masowe błędy 404, długie spadki dostępności (ponad 24h) albo zmianę struktury URL-i.
Czy mogę migrować na nową domenę?
Tak, ale to już nie jest zwykła migracja — to zmiana domeny. Poza przenoszeniem plików i bazy, musisz ustawić pełne przekierowania 301 ze wszystkich starych URL-i na nowe (przez .htaccess lub wtyczkę typu Redirection), zgłosić zmianę w Google Search Console i aktualizować pliki sitemap.xml. Liczyć się trzeba z tym, że Google potrzebuje 4–12 tygodni, żeby w pełni przepisać autorytet ze starej domeny na nową.
Co jeśli strona po migracji pokazuje „Error establishing a database connection”?
To najczęstszy błąd po migracji — zwykle źle przepisane dane w wp-config.php albo DB_HOST inny niż „localhost”. Pełne rozwiązania znajdziesz w poradniku Error establishing a database connection — jak naprawić.
Ile trwa cała migracja?
Dla średniej strony (do 1 GB) — od 30 minut do 2 godzin. Dla sklepu e-commerce z tysiącami produktów i mediami — od 3 do 8 godzin, głównie z powodu rozmiaru bazy. Propagacja DNS to dodatkowo do 24 godzin, ale w praktyce większość użytkowników widzi nowy serwer w ciągu 1–2 godzin.
Podsumowanie
Migracja WordPressa nie musi być dramatem. Dla większości stron wystarczy All-in-One WP Migration lub Duplicator. Dla dużych sklepów i stron krytycznych — korzystaj z darmowej migracji oferowanej przez support nowego hostingu. A jeśli lubisz mieć pełną kontrolę albo wtyczki nie dają rady — metoda ręczna z phpMyAdmin i Search Replace DB sprawdza się zawsze.
Niezależnie od metody, nigdy nie kasuj starej instalacji WordPressa wcześniej niż po 7–14 dniach od migracji i gruntownego sprawdzenia, czy nowa strona działa w pełni. W razie jakiegokolwiek problemu masz do czego wrócić.

