Migracja witryny WordPress—czy to przenoszenie do nowego hosta, zmiana domeny, czy transfer z środowiska testowego do produkcji—jest zadaniem, z którym większość użytkowników WordPressa musi się zmierzyć w pewnym momencie. Wykonana poprawnie, migracja zajmuje 30-60 minut bez przestojów. Wykonana niepoprawnie, może prowadzić do uszkodzonych linków, brakujących obrazów, błędów w bazie danych i godzin rozwiązywania problemów.
W tym przewodniku omawiamy trzy metody migracji: migrację ręczną (dla pełnej kontroli), migrację z pomocą wtyczek (dla prostoty) oraz migrację dostawcy hostingu (dla wygody). Każda metoda zawiera instrukcje krok po kroku oraz listę kontrolną do weryfikacji.
Przed migracją: Lista kontrolna przygotowań
| Krok | Dlaczego to ważne | Jak to zrobić |
|---|---|---|
| Utwórz pełną kopię zapasową | Sieć bezpieczeństwa, jeśli migracja się nie powiedzie | Użyj UpdraftPlus lub ręcznego eksportu |
| Udokumentuj bieżące ustawienia | Odniesienie do weryfikacji po migracji | Zrób zrzuty ekranu ustawień wp-admin, listy aktywnych wtyczek, struktury permalinków |
| Sprawdź wymagania serwera | Upewnij się, że nowy host spełnia minimalne wymagania WordPressa | PHP 8.0+, MySQL 5.7+ / MariaDB 10.4+, wsparcie HTTPS |
| Zanotuj ustawienia DNS | Będziesz musiał zaktualizować DNS po migracji | Wyeksportuj bieżące rekordy DNS z rejestratora |
| Zmniejsz TTL | Przyspiesza propagację DNS po migracji | Ustaw TTL DNS na 300 sekund (5 minut) 24 godziny przed migracją |
Metoda 1: Migracja ręczna (Pełna kontrola)
Migracja ręczna daje pełną kontrolę nad procesem. Jest to preferowana metoda dla programistów oraz dla złożonych witryn z niestandardowymi konfiguracjami.
Krok 1: Eksportuj bazę danych
Połącz się z bieżącym hostingiem za pomocą SSH lub phpMyAdmin i wyeksportuj bazę danych WordPressa:
Używając wiersza poleceń (SSH):
- Uruchom:
mysqldump -u username -p database_name > backup.sql - Pobierz plik backup.sql na swój lokalny komputer
Używając phpMyAdmin:
- Wybierz swoją bazę danych → Eksportuj → Szybki eksport → Format SQL → Idź
- Zapisz plik .sql
Krok 2: Skopiuj wszystkie pliki
Pobierz wszystkie pliki WordPressa z bieżącego serwera:
- Połącz się za pomocą SFTP (FileZilla, WinSCP lub Cyberduck)
- Pobierz cały katalog WordPressa (wp-content, wp-admin, wp-includes, pliki główne)
- Alternatywnie, utwórz skompresowany archiwum:
tar -czf wordpress-backup.tar.gz /path/to/wordpress/
Katalog wp-content jest najważniejszy—zawiera Twoje motywy, wtyczki, przesyłane pliki (obrazy) oraz pliki konfiguracyjne.
Krok 3: Prześlij pliki na nowy serwer
- Prześlij za pomocą SFTP lub rozpakuj archiwum na nowym serwerze
- Upewnij się, że uprawnienia do plików są poprawne: katalogi na 755, pliki na 644
- Sprawdź, czy plik wp-config.php jest obecny, ale będzie wymagał aktualizacji
Krok 4: Utwórz bazę danych na nowym serwerze
- Utwórz nową bazę danych MySQL i użytkownika na nowym hostingu
- Przyznaj użytkownikowi pełne uprawnienia do nowej bazy danych
- Importuj bazę danych:
mysql -u new_username -p new_database < backup.sql
Krok 5: Zaktualizuj wp-config.php
Edytuj wp-config.php na nowym serwerze z nowymi danymi do bazy danych:
DB_NAME→ Nowa nazwa bazy danychDB_USER→ Nowa nazwa użytkownika bazy danychDB_PASSWORD→ Nowe hasło bazy danychDB_HOST→ Zazwyczaj 'localhost', ale sprawdź u swojego hosta
Krok 6: Wyszukaj i zamień adresy URL (jeśli zmiana domeny)
Jeśli zmieniasz domenę, musisz zaktualizować wszystkie adresy URL w bazie danych. WordPress przechowuje bezwzględne adresy URL dla obrazów, linków i danych zserializowanych. Użyj narzędzia WP-CLI lub skryptu Search Replace DB:
wp search-replace 'https://old-domain.com' 'https://new-domain.com' --all-tables- Obsługuje poprawnie dane zserializowane (w przeciwieństwie do prostego wyszukiwania i zamiany SQL)
Krok 7: Zaktualizuj DNS
Wskaźnik rekordów DNS swojej domeny na adres IP nowego serwera. Zaktualizuj rekord A (i AAAA dla IPv6) u swojego rejestratora domen. Przy ustawionym TTL na 300 sekund (od przygotowania), propagacja zazwyczaj kończy się w ciągu 5-30 minut.
Metoda 2: Migracja za pomocą wtyczki (najprostsza)
Wtyczki migracyjne automatycznie zajmują się szczegółami technicznymi. To zalecana metoda dla użytkowników, którzy nie czują się komfortowo z SSH i zarządzaniem bazą danych.
Zalecane wtyczki migracyjne
| Wtyczka | Darmowy limit | Kluczowe funkcje |
|---|---|---|
| All-in-One WP Migration | 512 MB eksportu | Eksport/import jednym kliknięciem, w tym zamiana URL |
| UpdraftPlus Premium | Darmowa kopia zapasowa, migracja Premium | Kopie zapasowe przyrostowe, przechowywanie w chmurze, klonowanie witryny |
| Duplicator Pro | 500 MB eksportu (darmowy) | Tworzy pakiet instalacyjny, obsługuje dane zserializowane |
| WP Migrate | Ograniczone (darmowe) | Push/pull między środowiskami, migracja tylko bazy danych |
Proces migracji (All-in-One WP Migration)
- Zainstaluj na stronie źródłowej: Zainstaluj i aktywuj wtyczkę na bieżącej stronie
- Eksport: Przejdź do All-in-One → Eksport → Eksportuj do → Plik. Wtyczka tworzy archiwum .wpress
- Zainstaluj WordPress na docelowej: Skonfiguruj nową instalację WordPress na nowym hoście
- Zainstaluj wtyczkę na docelowej: Zainstaluj tę samą wtyczkę na nowej instalacji WordPress
- Import: Przejdź do All-in-One → Import → Prześlij plik .wpress
- Gotowe: Wtyczka automatycznie zastępuje bazę danych, pliki i aktualizuje adresy URL
Metoda 3: Migracja dostawcy hostingu
Wielu dostawców hostingu oferuje darmowe usługi migracyjne lub wbudowane narzędzia migracyjne:
- SiteGround: Darmowa migracja WordPress z ich wtyczką Migrator
- Cloudways: Darmowa pierwsza migracja przez ich zespół
- Kinsta: Darmowa migracja wliczona we wszystkie plany, obsługiwana przez ich zespół
- WP Engine: Zautomatyzowana wtyczka migracyjna
Migracja wspomagana przez hosting jest najłatwiejszą opcją, ale daje najmniej kontroli. Dla stron z niestandardowymi konfiguracjami, zadaniami cron lub nietypowymi ustawieniami, migracja ręczna lub za pomocą wtyczki jest bardziej niezawodna.
Lista kontrolna weryfikacji po migracji
| Sprawdzenie | Jak zweryfikować | Jeśli nie powiedzie się |
|---|---|---|
| Strona główna ładuje się poprawnie | Odwiedź swoją domenę w przeglądarce | Sprawdź propagację DNS, zweryfikuj połączenie z bazą danych |
| Logowanie do panelu administracyjnego działa | Przejdź do /wp-admin i zaloguj się | Sprawdź dane uwierzytelniające bazy danych w wp-config.php |
| Linki bezpośrednie działają | Kliknij na dowolny post lub stronę | Przejdź do Ustawienia → Linki bezpośrednie → Zapisz (regeneruje .htaccess) |
| Obrazy wyświetlają się poprawnie | Przeglądaj kilka stron z obrazami | Uruchom wyszukiwanie-zamianę dla starej domeny w ścieżkach przesyłania |
| Formularze przesyłają się pomyślnie | Przetestuj wszystkie formularze kontaktowe | Sprawdź ustawienia SMTP, konfigurację wtyczki formularza |
| Certyfikat SSL aktywny | Sprawdź ikonę kłódki w przeglądarce | Zainstaluj SSL na nowym hoście, zaktualizuj adres URL WordPress do https |
| Dostawa e-maili działa | Wywołaj e-mail do resetowania hasła | Skonfiguruj wtyczkę SMTP (WP Mail SMTP) |
| WooCommerce działa | Przetestuj dodawanie do koszyka i proces realizacji zamówienia | Zweryfikuj klucze bramy płatności, strefy wysyłki |
| Zadania cron działają | Sprawdź zaplanowane zadania w WP-Crontrol | Zweryfikuj, czy wp-cron jest włączony lub skonfiguruj serwer |
| Funkcjonalność wyszukiwania | Testuj wyszukiwanie na stronie | Odbuduj indeks wyszukiwania, jeśli używasz wtyczki do wyszukiwania |
Typowe problemy z migracją i ich rozwiązania
| Problem | Przyczyna | Rozwiązanie |
|---|---|---|
| Biały ekran po migracji | Niekompatybilna wersja PHP lub konflikt wtyczek | Włącz WP_DEBUG, sprawdź wersję PHP, wyłącz wtyczki przez FTP |
| Ostrzeżenia o mieszanej zawartości | Niektóre adresy URL wciąż używają http:// zamiast https:// | Uruchom wyszukiwanie-zamianę: http://domain.com → https://domain.com |
| Uszkodzone obrazy | Ścieżki do przesyłania nieaktualne lub brakujące pliki | Zweryfikuj katalog wp-content/uploads, uruchom wyszukiwanie-zamianę URL |
| Błąd połączenia z bazą danych | Nieprawidłowe dane uwierzytelniające w wp-config.php | Zweryfikuj DB_NAME, DB_USER, DB_PASSWORD, DB_HOST |
| 404 na wszystkich stronach poza stroną główną | Permalink .htaccess nie został wygenerowany ponownie | Ustawienia → Permalinki → Zapisz zmiany |
| Pętle przekierowań | Stare zasady CDN lub pamięci podręcznej w konflikcie | Wyczyść wszystkie pamięci podręczne, sprawdź .htaccess pod kątem konfliktujących przekierowań |
Aby uzyskać więcej szczegółów, zapoznaj się z oficjalną dokumentacją: Dokumentacja migracji WordPress.
Najczęściej zadawane pytania
Jak długo trwa migracja WordPressa?
Typowa migracja trwa od 30 do 60 minut w procesie technicznym. Propagacja DNS może dodać od 5 minut do 48 godzin w zależności od ustawień TTL i pamięci podręcznej ISP. Zmniejszenie TTL do 300 sekund na 24 godziny przed migracją minimalizuje opóźnienia propagacji.
Czy stracę jakieś dane podczas migracji?
Nie, jeśli zastosujesz podejście z tworzeniem kopii zapasowej jako pierwszym krokiem. Utwórz pełną kopię zapasową przed rozpoczęciem i nie usuwaj starej strony, dopóki nie zweryfikujesz, że wszystko działa na nowym hoście. Kopia zapasowa zapewnia, że możesz przywrócić oryginalny stan, jeśli coś pójdzie nie tak.
Czy mogę migrować stronę WordPress bez przestojów?
Tak. Kluczowe jest zakończenie migracji na nowym serwerze przed aktualizacją DNS. Skonfiguruj stronę na nowym hoście, zweryfikuj, że wszystko działa (używając tymczasowego adresu URL lub wpisu w pliku hosts), a następnie zaktualizuj DNS. Użytkownicy będą obsługiwani przez stary serwer, aż DNS się rozpropaguje, a następnie bezproblemowo przełączą się na nowy serwer.
Czy muszę ponownie instalować wtyczki i motywy po migracji?
Nie. Pełna migracja (pliki + baza danych) obejmuje wszystkie wtyczki, motywy, przesyłania i ustawienia. Wszystko przenosi się w niezmienionej formie. Powinieneś zweryfikować, że wtyczki są aktywne i poprawnie skonfigurowane, ale ponowna instalacja nie jest konieczna.
Co jeśli moja strona jest zbyt duża dla wtyczki migracyjnej?
Strony przekraczające 2-5 GB (często w przypadku stron bogatych w multimedia) mogą napotkać limity przesyłania lub problemy z czasem oczekiwania przy użyciu wtyczek migracyjnych. W takim przypadku użyj metody ręcznej: przekaż pliki przez SSH/SFTP i zaimportuj bazę danych przez wiersz poleceń. Duże bazy danych można podzielić za pomocą parametru --max_allowed_packet.
Czy powinienem zaktualizować WordPressa, wtyczki i motywy przed czy po migracji?
Zaktualizuj przed migracją na źródłowej stronie i zweryfikuj, że wszystko działa po aktualizacji. Migracja już zaktualizowanej strony unika złożoności rozwiązywania problemów z aktualizacjami na nieznanym serwerze. Aby uzyskać najlepsze praktyki dotyczące bezpieczeństwa i wydajności, zapoznaj się z naszą listą kontrolną konserwacji WordPressa.
Niezawodna kopia zapasowa i migracja WordPressa
Zdobądź UpdraftPlus Premium do automatycznych kopii zapasowych, integracji z chmurą i migracji strony jednym kliknięciem. Licencjonowane na GPL dla nieograniczonej liczby stron.
Przeglądaj UpdraftPlus Premium →


