Jak bezpiecznie migrować WordPress między hostingami — bez przestojów i utraty SEO
Przenoszenie strony między hostingami to nie jest kopiowanie plików. Pokażę jak to zrobić tak, żeby Google niczego nie zauważył.
Migracja WordPress to jeden z tych tematów, przy których klienci często dostają siwych włosów. Dostaję zlecenia po firmach, które "przeprowadziły migrację" i straciły połowę ruchu organicznego albo połamały sklep WooCommerce. Zazwyczaj chodzi o te same błędy.
Przed migracją — co musisz mieć
Zanim dotkniesz czegokolwiek na produkcji:
- Pełny backup bazy danych i plików — nie "tam chyba jest jakiś backup", tylko ręczny, sprawdzony, lokalny.
- Notatka z TTL rekordów DNS — jeśli masz TTL 86400 (24h), zmień go na 300 co najmniej dzień przed migracją. Inaczej propagacja zabije Ci dostępność.
- Dostęp do panelu DNS — koniecznie sprawdź przed, nie w trakcie.
- Screaming Frog lub listę URL-i — żebyś mógł zweryfikować redirecty po migracji.
Etapy migracji krok po kroku
1. Klon na nowym serwerze
Wgraj kopię całej instalacji na nowy hosting. Na tym etapie nie zmieniaj DNS. Skonfiguruj domenę testową (np. staging.twojadomena.pl) albo użyj pliku hosts do testowania lokalnie.
2. Zaktualizuj wp-config.php
Zmień dane połączenia z bazą. Sprawdź też WP_HOME i WP_SITEURL — jeśli masz je hardkodowane w wp-config.php, a nie w bazie, to dobrze.
3. Zaktualizuj URL-e w bazie
Użyj WP-CLI:
wp search-replace 'https://stary-serwer.pl' 'https://twojadomena.pl' --all-tables
Albo pluginu Better Search Replace. Nigdy ręcznie w phpMyAdmin — możesz uszkodzić zserializowane dane PHP.
4. Test przed zmianą DNS
Przez plik hosts podejrzyj stronę na nowym serwerze. Sprawdź:
- Czy strona się otwiera
- Czy sklep WooCommerce działa (dodaj produkt do koszyka, wejdź w checkout)
- Czy formularze wysyłają
- Czy panel admina działa
5. Zmień DNS i poczekaj
Zmień rekord A na IP nowego serwera. Z TTL 300 — po 5-10 minutach większość świata widzi nowy serwer. Stary serwer zostaw jeszcze 48h.
6. Certyfikat SSL
Na nowym serwerze wygeneruj SSL natychmiast po zmianie DNS. Let's Encrypt przez Certbot lub panel hostingu. Wymuszenie HTTPS przez .htaccess.
Najczęstsze błędy, które widzę
- Brak aktualizacji URL-i — zostają stare linki do plików na starym serwerze. Strona "działa", ale media się nie ładują.
- Zapomniany plik .htaccess — permalinki nie działają, wszystko daje 404.
- Brak ustawienia
upload_max_filesize— na nowym hostingu mniejsze limity PHP niż na starym. - Nieaktualne credentials SMTP — maile przestają chodzić, klient zgłasza po tygodniu.
Masz migrację do przeprowadzenia? Napisz — wycenię i powiemy sobie szczerze ile to zajmie.