Migracja strony WordPress na inny serwer bywa jak przeprowadzka do większego biura: trzeba spakować pliki, przenieść bazę danych, przełączyć domenę i upewnić się, że wszystko „wstaje” w nowym środowisku. Jeśli Twoim celem jest szybszy hosting, lepsze wsparcie lub elastyczniejsza konfiguracja, dobrze trafiłeś. W tym poradniku pokazuję krok po kroku, jak bezpiecznie przeprowadzić transfer WordPressa: od kopii zapasowych, przez konfigurację nowego serwera i import bazy, po zmianę DNS i testy końcowe. Do dzieła.
Spis treści
Kiedy warto przenieść stronę WordPress?
Decyzja o przeniesieniu strony WordPress na inny serwer najczęściej dojrzewa z powodu rosnących wymagań biznesu. Oto dlaczego właściciele sklepów, blogów i serwisów usługowych robią migrację WordPressa:
- Wydajność i stabilność. Wolne ładowanie, częste awarie, niestabilny uptime? Też tak masz? Zwykle to znak, że limity zasobów na obecnym hostingu dawno pękły.
- Wsparcie techniczne. Kiedy support odpowiada po 48 godzinach, a Ty potrzebujesz reakcji w godzinę, zmiana hosta to realna oszczędność nerwów.
- Model cenowy i skalowanie. Rozszerzenie oferty, sezonowe piki ruchu, integracje z płatnościami czy ERP – nowy plan lub inny dostawca bywa po prostu bardziej opłacalny.
- Zgodność środowiska. Nowe wymagania wtyczek, motywu lub samego WordPressa (np. wersje PHP/MySQL). Jeśli aktualizacja PHP blokuje się na hostingu, migracja rozwiązuje problem.
Przy większej zmianie hostingu często okazuje się, że to dobry moment, żeby odświeżyć sam serwis albo zaprojektować go od nowa pod aktualne cele biznesowe. Jeśli na etapie migracji myślisz też o nowej witrynie lub sklepie, zerknij na moją projektowania i tworzenia stron internetowych lub sklepów na WordPress/WooCommerce.
Jak przenieść stronę WordPress na inny serwer - pełna procedura
1) Zrób kopię zapasową plików i bazy danych
Cel: mieć możliwość szybkiego powrotu w razie wpadki. Znam ten ból, gdy backupu „akurat nie było”.
- Pliki serwisu: połącz się przez FTP/SFTP (np. FileZilla) lub SSH i pobierz cały katalog instalacji WordPressa (zwykle public_html lub htdocs). Zazwyczaj warto go spakować do ZIP lub tar.gz, żeby transfer był szybszy.
- Baza danych: wejdź do phpMyAdmin na starym hostingu, wybierz bazę i użyj Eksportu (format .sql). Alternatywnie, jeśli masz SSH:
mysqldump -u NAZWA_UŻYTKOWNIKA -p NAZWA_BAZY > backup.sql
Lubię mieć jeden spójny zestaw: files.zip + backup.sql. Proste i bezpieczne.
2) Skonfiguruj nowy serwer hostingowy
Przed przeniesieniem WordPressa na nowy serwer sprawdź fundamenty:
- Panel hostingowy: cPanel, DirectAdmin lub autorski panel – ważne, byś miał dostęp do plików, baz i DNS (lub mógł użyć Cloudflare).
- Katalog root: zazwyczaj public_html, httpdocs lub wskazany przez panel. Tu wylądują pliki WordPressa.
- Wersja PHP: ustaw zgodną (często 8.1-8.3 albo wyższą, ponieważ co jakiś czas wychodzą nowe wersje). Niektóre wtyczki marudzą na starszych wersjach. Jak coś później będziesz mógł zaktualizować PHP.
- Baza danych: utwórz nową bazę, użytkownika oraz nadaj pełne uprawnienia. Zanotuj: DB_NAME, DB_USER, DB_PASSWORD, DB_HOST (czasem localhost, czasem adres hosta bazodanowego).
3) Przenieś pliki i bazę danych
Masz dwa główne kierunki: przez FTP/SFTP (prościej) lub przez SSH/rsync (szybciej i pewniej przy dużych stronach).
A) Transfer plików
- FTP/SFTP: wgraj spakowany files.zip na nowy serwer i rozpakuj w katalogu docelowym (często panel ma „Rozpakuj”).
- SSH + rsync: przy dużych projektach:
rsync -avz -e ssh user@STARY_SERWER:/ścieżka/do/instalacji/ /ścieżka/docelowa/
Dzięki rsync kopiujesz różnice i redukujesz czas migracji.
B) Import bazy danych
- phpMyAdmin: wejdź do nowoutworzonej bazy → Import → wskaż backup.sql.
- WP-CLI: jeśli używasz WP-CLI (polecam przy większych projektach):
wp db import backup.sql
WP-CLI potrafi też szybko wykonać search-replace URL-i (o tym za chwilę).
4) Zmień dane w pliku wp-config.php
W katalogu instalacji zaktualizuj połączenie z bazą:
define( 'DB_NAME’, 'NOWA_NAZWA_BAZY’ );
define( 'DB_USER’, 'NOWY_UŻYTKOWNIK’ );
define( 'DB_PASSWORD’, 'NOWE_HASŁO’ );
define( 'DB_HOST’, 'NOWY_HOST’ ); // np. 'localhost’ lub adres serwera baz
Dobrą praktyką jest też ustawienie trybu debug w razie kłopotów:
define( 'WP_DEBUG’, false ); // włącz na true tylko tymczasowo w trakcie diagnostyki
5) Zaktualizuj adresy URL (site_url i home) – jeśli zmieniasz domenę internetową lub środowisko
Przeniesienie strony WordPress na inną domenę wymaga podmiany adresów w bazie. Najbezpieczniej zrobić to narzędziem rozumiejącym serializację.
- WP-CLI: wp search-replace 'https://stara-domena.pl’ 'https://nowa-domena.pl’ –skip-columns=guid
- phpMyAdmin: awaryjnie możesz zaktualizować wp_options → siteurl i home, ale pamiętaj, że twarde adresy siedzą też w treściach, metadanych i serializowanych opcjach.
6) Przekieruj domenę na nowy serwer (DNS)
Oto kluczowy etap migracji WordPressa ze starego serwera na nowy:
- Rekord A: wskaż nowy adres IP hostingu (u rejestratora domeny lub w Cloudflare).
- TTL: przed zmianą możesz obniżyć TTL (np. do 300 s), by przyspieszyć propagację.
- Propagacja DNS: zwykle od kilku minut do 24–48 godzin. W tym czasie część użytkowników zobaczy nowy serwer, część stary. To normalne.
- Jeśli używasz Cloudflare, włącz tryb „Proxied” lub „DNS only” zależnie od potrzeb i testów.
W praktyce najbezpieczniej wychodzi migracja połączona z porządkami: przeglądem motywów i wtyczek, poprawą wydajności i architektury URL-i. Taką modernizację strony internetowej połączoną z migracją WordPressa realizuję często przy zmianie hostingu, żeby nie tylko „przeprowadzić” serwis, ale realnie go usprawnić.
Narzędzia do automatycznej migracji WordPressa
Nie zawsze trzeba robić wszystko ręcznie. Wtyczki do przenoszenia WordPressa na inny serwer potrafią oszczędzić godziny:
| Wtyczka | Zalety (kiedy wybrać) | Ograniczenia / uwagi |
|---|---|---|
| All-in-One WP Migration | Bardzo prosta obsługa, eksport/import jednym plikiem, opcje wykluczeń. | Limit rozmiaru w darmowej wersji; przy dużych mediach bywa wolna. |
| Duplicator | Tworzy pakiet instalacyjny + installer.php; dobry do migracji między hostami i domenami. |
Wymaga dopasowania limitów serwera; czasem potrzebne ręczne kroki. |
| UpdraftPlus | Silne backupy na chmurach (Drive/S3), harmonogramy, migracje między środowiskami. | Migracja w wersji premium wygodniejsza niż w darmowej. |
| Jetpack Backup | Backup ciągły, przywracanie jednym kliknięciem, integracja z ekosystemem Automattic. | Koszt abonamentu; zależność od usług zewnętrznych. |
Moim zdaniem: przy „niewielkich” stronach i chęci zrobienia tego raz-dwa – All-in-One WP Migration. Gdy lubisz mieć kontrolę i chcesz pakiet „instalacyjny” – Duplicator. Jeśli i tak potrzebujesz solidnych kopii do chmury – UpdraftPlus. W środowiskach stawiających na automatyzację i szybkość odtworzeń – Jetpack Backup.
Krótka instrukcja przenoszenia strony WP na inny serwer za pomocą wtyczki All-in-One WP Migration
1. Eksport na starej stronie
Wtyczki → dodaj All-in-One WP Migration (jeśli nie masz)
Wtyczka All-in-One WP Migration → Export → File (opcjonalnie Find & Replace dla nowej domeny) → pobierz plik .wpress.
2. Przygotuj nową stronę
Czysty WordPress na docelowym serwerze → zainstaluj All-in-One WP Migration.
3. Import na nowej stronie
Import → File i wskaż .wpress → Proceed → po zakończeniu zaloguj się ponownie (danymi ze starej strony).
(Gdy plik jest duży: wgraj .wpress przez FTP do /wp-content/ai1wm-backups/ → Backups → Restore.)
Jeśli masz starszą wersję wtyczki All-in-One WP Migrationspr możesz spróbować zedytować wtyczkę wchodząc constants.php i przewiń w dół, aby znaleźć linię z komentarzem „Max File Size”, powinna być na linii 284. Jeśli jej tam nie znajdziesz, po prostu wyszukaj komentarz „Max File Size” za pomocą „Ctrl + F” i powinieneś go znaleźć.
Zamień liczbę 28 na wyższą, np. 32 (zwiększenie liczby o jeden spowoduje podwojenie rozmiaru).
4. Czynności po imporcie
Ustawienia → Bezpośrednie odnośniki → Zapisz → wyczyść cache/CDN → sprawdź formularze, koszyk/płatności, e-maile.
5. Przełącz domenę (jeśli dotyczy)
Zmień rekord A na IP nowego serwera (obniż TTL przed zmianą) → po propagacji sprawdź HTTPS i logi błędów.
Najczęstsze błędy podczas przenoszenia strony WordPress
- „Error establishing a database connection”.
Zazwyczaj błędny DB_NAME/DB_USER/DB_PASSWORD/DB_HOST w wp-config.php, albo brak uprawnień do bazy. Sprawdź też, czy baza faktycznie istnieje. - Brakujące lub nadpisane .htaccess.
Na nowym serwerze wygeneruj linki stałe: Ustawienia → Bezpośrednie odnośniki → Zapisz. To tworzy właściwe reguły przepisywania. - Niezgodność site_url i home.
Jeśli przeniesienie strony WordPress na inną domenę poszło bez search-replace, część zasobów (CSS/JS) ładuje się ze starej domeny i „psuje” frontend. - Różnice w PHP/rozszerzeniach.
Wtyczki mogą wymagać modułów (np. intl, imagick). Brak rozszerzeń na nowym serwerze = białe ekrany lub ostrzeżenia. - Cache/Firewall po starej stronie.
Usługi typu WAF/CDN lub wtyczki cache potrafią utrzymywać stare ścieżki. Wyczyść cache po obu stronach.
Szybkie debugowanie:
- Włącz tymczasowo define(’WP_DEBUG’, true); i sprawdź error_log.
- Zajrzyj do wp_options → siteurl/home.
- Przeskanuj konsolę przeglądarki (błędy 404/500, CORS).
- Jeśli używasz WP-CLI:
wp plugin status
wp theme status
Natychmiast widać konflikty po migracji.
Checklista przed i po migracji WordPressa
Przed migracją:
- Pełny backup strony: pliki + baza (files.zip, backup.sql).
- Zgodność PHP/MySQL i wymaganych rozszerzeń na nowym hostingu.
- Wyłącz lub przełącz w tryb zgodności wtyczki cache, security (np. blokady loginów, WAF).
- Zaplanuj okno serwisowe – najlepiej w nocy lub poza szczytem ruchu.
Po migracji:
- Zmień DNS (rekord A, TTL, ewentualnie konfiguracja w Cloudflare).
- Zaloguj się do panelu WP na nowym hostingu i przejdź ścieżkę sanity-checku:
1. Ustawienia → Bezpośrednie odnośniki → Zapisz (generuje .htaccess).
2. Czyszczenie cache (wtyczki + CDN).
3. Podmiana adresów URL (jeśli przeniesienie na inną domenę).
4. Sprawdzenie formularzy, logowania, koszyka (w sklepach), płatności testowych. - Przejrzyj logi błędów (serwer, error_log).
- Włącz ponownie cache i mechanizmy bezpieczeństwa.
- Monitoruj czas odpowiedzi i błędy 5xx przez najbliższe 24-48 h.
Praktyczne wskazówki ode mnie na koniec
- Rób migrację „na sucho”. Najpierw odpal stronę na nowym hostingu pod tymczasowym subdomeną (np. migracja.twojadomena.pl) lub w trybie hosts, dopiero potem przełącz DNS. Zmniejsza stres.
- Big media? Przy sklepach i blogach z tysiącami zdjęć lepiej użyć rsync niż FTP. Wtyczki migracyjne potrafią dławić się na gigabajtach.
- Search-replace z głową. Używaj narzędzi, które ogarniają serializację (WP-CLI, dobre wtyczki). Surowe zapytania SQL łatwo „połamują” dane.
- SSL po przeprowadzce. Po przeniesieniu WordPressa na nowy serwer wystaw/odnów certyfikat Let’s Encrypt i wymuś HTTPS (wtyczką lub regułą).
- Stara instancja w „read-only”. Na czas propagacji DNS rozważ zamrożenie edycji treści na starym serwerze, żeby nie rozminąć się z zamówieniami czy komentarzami.
Jeżeli wolisz, żeby ktoś na stałe pilnował migracji, backupów, SSL-a, DNS-ów i kondycji serwera, a Ty skupił się na marketingu i sprzedaży, zobacz moją usługę opieki nad stronami internetowymi.
Źródła i materiały
- https://dhosting.pl/pomoc/baza-wiedzy/jak-przeniesc-strone-www/
- https://filezilla-project.org/
- https://wordpress.org/plugins/all-in-one-wp-migration/
