Planujesz przenieść swoją stronę WordPress na nowy hosting? Zmieniasz domenę? A może tylko aktualizujesz środowisko deweloperskie? Migracja WordPress to proces, który może wydawać się skomplikowany, ale z odpowiednim przygotowaniem i narzędziami przejdziesz przez nią gładko i bez stresu.
W tym przewodniku pokażę Ci dokładnie, jak przeprowadzić migrację WordPress krok po kroku – od przygotowania, przez wybór narzędzi, aż po testowanie i rozwiązywanie typowych problemów. Bez względu na to, czy jesteś freelancerem obsługującym klientów, czy właścicielem strony, ten przewodnik jest dla Ciebie.
Dlaczego migracja WordPress wymaga odpowiedniego podejścia?
Zanim przejdziemy do instrukcji, zrozujmy, dlaczego migracja WordPress to coś więcej niż tylko skopiowanie plików. WordPress to złożony system składający się z:
- Plików (core WordPress, motywy, wtyczki, media)
- Bazy danych (treści, ustawienia, użytkownicy)
- Konfiguracji serwera (PHP, MySQL, .htaccess)
- Zewnętrznych integracji (CDN, email, API)
Każdy z tych elementów musi być poprawnie przeniesiony i skonfigurowany. Jeden błąd może skutkować zepsutą stroną, utratą danych lub problemami z SEO.
Typy migracji WordPress
Zanim zaczniesz, określ, jakiego typu migrację WordPress przeprowadzasz:
1. Zmiana hostingu (ta sama domena)
- Najprostsza – zachowujesz URL
- Wymaga głównie transferu plików i bazy
- Czas trwania: 1-3 godziny
2. Zmiana domeny (ten sam hosting)
- Wymaga aktualizacji wszystkich URL w bazie
- Potencjalne problemy z SSL
- Czas trwania: 2-4 godziny
3. Zmiana hostingu i domeny
- Najbardziej złożona
- Łączy wyzwania obu powyższych
- Czas trwania: 3-6 godzin
4. Z lokalnego środowiska na produkcję (lub odwrotnie)
- Wymaga często dostosowania ścieżek
- Problemy z różnymi wersjami PHP
- Czas trwania: 2-4 godziny
5. Z podkatalogu do katalogu głównego (np. example.com/blog → example.com)
- Specyficzne wyzwania z przekierowaniami
- Wymaga dokładnych testów SEO
- Czas trwania: 3-5 godzin
Przygotowanie do migracji – absolutne must-have
Krok 1: Pełny backup strony
NIGDY nie rozpoczynaj migracji WordPress bez backupu. To nie sugestia - to wymóg bezwzględny.
Co musisz zbackupować:
- Wszystkie pliki WordPress
- Katalog
/wp-content/(motywy, wtyczki, uploady) - Pliki core (wp-config.php, .htaccess, index.php)
- Wszystkie niestandardowe pliki
- Katalog
- Kompletna baza danych
- Pełny export przez phpMyAdmin lub CLI
- Format
.sqlz kompresją gzip
- Dokumentacja konfiguracji
- Wersja PHP
- Limity pamięci
- Ustawienia serwera
- Lista aktywnych wtyczek
- Dane dostępowe (FTP, cPanel, baza danych)
Jak utworzyć backup ręcznie:
bash
`# Backup plików (przez SSH)
cd /ścieżka/do/wordpress
tar -czf backup-pliki-$(date +%Y%m%d).tar.gz .# Backup bazy danych
mysqldump -u nazwa_użytkownika -p nazwa_bazy > backup-baza-$(date +%Y%m%d).sql
gzip backup-baza-$(date +%Y%m%d).sql`Weryfikacja backupu:
- Sprawdź rozmiar plików (czy nie jest podejrzanie mały?)
- Rozpakuj backup testowo
- Przejrzyj początek i koniec pliku SQL (czy nie jest uszkodzony?)
Krok 2: Audyt przed migracją
Pobierz checklistę w PDF
Przed migracją zrób audyt z tą checklistą
Zanim zaczniesz migrację WordPress, przeprowadź audyt obecnej strony:
Checklist audytu:
- Jaka wersja WordPress? (Dashboard → Aktualizacje)
- Jaka wersja PHP i MySQL? (Panel hostingu lub Dashboard → Zdrowie witryny)
- Lista wszystkich aktywnych wtyczek z wersjami □ Jaki motyw i czy jest child theme?
- Czy są jakieś customowe pliki w root directory?
- Rozmiar bazy danych (phpMyAdmin → sprawdź rozmiar)
- Rozmiar katalogu uploads
- Czy używane są hardcoded linki absolutne?
- Czy jest aktywny CDN lub cache?
- Jakie zewnętrzne integracje (analytics, email, CRM)?
Export ustawień kluczowych wtyczek:
Przed migracją wyeksportuj ustawienia wtyczek, które to umożliwiają:
- SEO (Yoast, Rank Math) → Narzędzia → Export
- Cache (WP Rocket, W3 Total Cache) → zapisz zrzut ekranu ustawień
- Formularze kontaktowe → Export formularzy
- Page buildery (Elementor) → System Info → skopiuj
Krok 3: Przygotowanie środowiska docelowego
Upewnij się, że nowy hosting spełnia wymagania:
Minimalne wymagania WordPress:
- PHP 7.4+ (zalecane 8.1+)
- MySQL 5.7+ lub MariaDB 10.3+
- Mod_rewrite (Modyfikacja przepisywania) dla pretty permalinks
- HTTPS / SSL
Zalecane ustawienia PHP dla migracji:
max_execution_time = 300
memory_limit = 256M (lub więcej dla dużych stron)
upload_max_filesize = 128M
post_max_size = 128M
max_input_time = 300Przygotuj nową bazę danych:
- Utwórz pustą bazę MySQL na nowym hostingu
- Utwórz użytkownika z pełnymi uprawnieniami
- Zapisz dane dostępowe:
- Nazwa bazy
- Nazwa użytkownika
- Hasło
- Host (zazwyczaj
localhost)
Metody migracji WordPress – narzędzia i wtyczki
Metoda 1: Wtyczka All-in-One WP Migration (najprostsza)
Kiedy używać: Małe i średnie strony (do 512MB), brak doświadczenia technicznego
Zalety:
- Niezwykle prosta obsługa
- Automatyczna zmiana URL
- Brak potrzeby dostępu do bazy danych
Wady:
- Limit 512MB w darmowej wersji
- Płatne rozszerzenia dla większych stron
- Mniej kontroli nad procesem
Instrukcja krok po kroku:
- Na starej stronie:
- Zainstaluj wtyczkę „All-in-One WP Migration”
- Przejdź do All-in-One WP Migration → Export
- Wybierz „Export to File”
- Poczekaj na wygenerowanie pliku
- Pobierz plik .wpress
- Na nowej stronie:
- Zainstaluj czystą kopię WordPress
- Zainstaluj wtyczkę „All-in-One WP Migration”
- Przejdź do All-in-One WP Migration → Import
- Przeciągnij plik .wpress lub kliknij „Import From File”
- Poczekaj na zakończenie importu
- Zaloguj się używając starych danych
Obejście limitu 512MB (legalnie):
php
*// Dodaj do wp-config.php przed "That's all, stop editing!"*
define('UPLOAD_MAX_FILESIZE', '2048M');
define('POST_MAX_SIZE', '2048M');
define('MAX_EXECUTION_TIME', '600');Metoda 2: Duplicator (dla średnich i dużych stron)
Kiedy używać: Strony powyżej 512MB, potrzebujesz więcej kontroli
Zalety:
- Profesjonalne narzędzie
- Sprawdza integralność przed migracją
- Dobra diagnostyka problemów
- Opcje zaawansowane dla techników
Wady:
- Bardziej skomplikowany proces
- Wymaga więcej przestrzeni na serwerze
- Czasem problemy z bardzo dużymi bazami
Instrukcja migracji Duplicatorem:
- Przygotowanie na starej stronie:
- Zainstaluj wtyczkę „Duplicator”
- Przejdź do Duplicator → Packages → Create New
- Kliknij „Next” (lub dostosuj ustawienia zaawansowane)
- Poczekaj na skan – napraw ewentualne błędy
- Kliknij „Build” i poczekaj na pakiet
- Pobierz dwa pliki:
installer.php(skrypt instalatora)[nazwa]_archive.zip(archiwum strony)
- Przygotowanie nowego serwera:
- Utwórz pustą bazę danych
- Prześlij oba pliki do rgłównego katalogu nowego hostingu
- Upewnij się, że katalog jest pusty (usuń domyślne pliki WordPress)
- Instalacja na nowym serwerze:
- Otwórz w przeglądarce:
https://nowadomena.pl/installer.php - Zaakceptuj warunki i kliknij „Next”
- Wprowadź dane do bazy:
- Host: localhost (lub inny podany przez hosting)
- Database Name: nazwa_nowej_bazy
- User: nazwa_użytkownika
- Password: hasło
- Kliknij „Test Connection” → powinieneś zobaczyć „Success”
- Kliknij „Next” i poczekaj na import
- Otwórz w przeglądarce:
- Finalizacja:
- Po zakończeniu zobaczysz podsumowanie
- Zaloguj się do nowej strony (stare dane logowania)
- WAŻNE: Usuń pliki
installer.phpi archiwum .zip ze względów bezpieczeństwa
Rozwiązywanie problemów Duplicatora:
Problem: "Archive file size exceeds web server's maximum upload" → Rozwiązanie: Prześlij pliki przez FTP zamiast przez przeglądarkę
Problem: "Table doesn't exist" podczas instalacji → Rozwiązanie: Sprawdź collation bazy (powinno być utf8mb4_unicode_ci)Metoda 3: Ręczna migracja (maksymalna kontrola)
Kiedy używać: Bardzo duże strony, customowe setup, problemy z wtyczkami
Zalety:
- Pełna kontrola nad procesem
- Najszybsza dla dużych stron (gdy masz SSH)
- Brak limitów rozmiaru
- Rozumiesz dokładnie, co się dzieje
Wady:
- Wymaga wiedzy technicznej
- Ryzyko błędów przy edycji bazy
- Czasochłonna dla początkujących
Instrukcja ręcznej migracji WordPress:
Krok 1: Export plików ze starego serwera
Przez FTP (FileZilla, Cyberduck):
- Połącz się ze starym hostingiem
- Pobierz cały katalog WordPress
- Może trwać 30-120 min dla dużych stron
Przez SSH (znacznie szybsze):
bash
`# Skompresuj pliki
cd /ścieżka/do/wordpress
tar -czf strona-backup.tar.gz .# Pobierz przez rsync (jeśli masz dostęp do obu serwerów)
rsync -avz -e ssh strona-backup.tar.gz user@nowy-serwer:/ścieżka/docelowa/`Krok 2: Export bazy danych
Przez phpMyAdmin:
- Zaloguj się do phpMyAdmin na starym hostingu
- Wybierz bazę danych WordPress
- Kliknij zakładkę „Export”
- Metoda: „Quick” (dla małych baz) lub „Custom” (dla dużych)
- Format: SQL
- Zaznacz „Add DROP TABLE” (ważne!)
- Kompresja: gzip
- Kliknij „Go” i pobierz plik
Przez SSH/Terminal (szybsze dla dużych baz):
bash
`# Export z kompresją
mysqldump -u username -p database_name | gzip > wordpress-db-backup.sql.gz# Dla większych baz - z dodatkowym buforem
mysqldump -u username -p database_name \
--single-transaction \
--quick \
--lock-tables=false | gzip > wordpress-db-backup.sql.gz`Krok 3: Import na nowym serwerze
Import plików:
Przez FTP:
- Połącz się z nowym hostingiem
- Prześlij wszystkie pliki do katalogu public_html (lub www)
Przez SSH:
bash
*# Rozpakuj archiwum*
cd /ścieżka/do/nowego/wordpress
tar -xzf strona-backup.tar.gzImport bazy danych:
Przez phpMyAdmin:
- Zaloguj się do phpMyAdmin na nowym hostingu
- Wybierz nową pustą bazę danych
- Kliknij „Import”
- Wybierz plik .sql lub .sql.gz
- Kliknij „Go” i poczekaj (może trwać kilka minut)
Przez SSH:
bash
`# Import zwykłego pliku SQL
mysql -u username -p database_name < wordpress-db-backup.sql# Import skompresowanego pliku
gunzip < wordpress-db-backup.sql.gz | mysql -u username -p database_name`Krok 4: Aktualizacja wp-config.php
Edytuj plik wp-config.php na nowym serwerze:
php
*// Znajdź te linie i zaktualizuj danymi nowego hostingu*
define('DB_NAME', 'nazwa_nowej_bazy');
define('DB_USER', 'nowy_user');
define('DB_PASSWORD', 'nowe_hasło');
define('DB_HOST', 'localhost'); *// lub inny host podany przez hosting*
//Opcjonalnie: zmień prefiksy tabel (jeśli konfliktują)*
$table_prefix = 'wp_'; *// lub customowy prefiks*Krok 5: Zmiana URL w bazie danych (jeśli zmieniasz domenę)
METODA A: WP-CLI (najszybsza i najbezpieczniejsza)
bash
`# Zmień URL jedną komendą
wp search-replace 'https://stara-domena.pl' 'https://nowa-domena.pl' --all-tables# Z dry-run (test bez zmian)
wp search-replace 'https://stara-domena.pl' 'https://nowa-domena.pl' --all-tables --dry-run`METODA B: Wtyczka Better Search Replace
- Zainstaluj wtyczkę „Better Search Replace”
- Przejdź do Tools → Better Search Replace
- Search for:
https://stara-domena.pl - Replace with:
https://nowa-domena.pl - Zaznacz wszystkie tabele
- Najpierw zaznacz „Run as dry run” (test)
- Sprawdź wyniki, potem odznacz dry run i uruchom
METODA C: Ręczne SQL (dla zaawansowanych)
sql
*- UWAGA: Najpierw BACKUP bazy!- Zmień URL w options*
UPDATE wp_options SET option_value = REPLACE(option_value, '<https://stara-domena.pl>', '<https://nowa-domena.pl>')
WHERE option_name = 'home' OR option_name = 'siteurl';
*- Zmień URL w postach*
UPDATE wp_posts
SET post_content = REPLACE(post_content, '<https://stara-domena.pl>', '<https://nowa-domena.pl>');
UPDATE wp_posts
SET guid = REPLACE(guid, '<https://stara-domena.pl>', '<https://nowa-domena.pl>');
*- Zmień URL w meta*
UPDATE wp_postmeta
SET meta_value = REPLACE(meta_value, '<https://stara-domena.pl>', '<https://nowa-domena.pl>');WAŻNE: Nigdy nie zmieniaj guid dla postów jeśli nie musisz – może to wpłynąć na RSS feedy.
Metoda 4: Managed WordPress Hosting (np. WP Engine, Kinsta)
Większość zarządzanych hostingów WordPress oferuje własne narzędzia migracji:
WP Engine:
- Bezpłatny plugin „WP Engine Automated Migration”
- Support zrobi migrację za Ciebie (included)
Kinsta:
- MyKinsta → Sites → Add Site → Import from URL
- Lub contact support dla kompleksowej migracji
SiteGround:
- SG Site Scanner + Migrator
- Lub manual przez plugin Duplicator
Najczęstsze problemy podczas migracji WordPress
Problem 1: Biały ekran śmierci (White Screen of Death)
Objawy: Strona wyświetla tylko biały ekran, brak komunikatów błędów
Przyczyny i rozwiązania:
A. Przekroczony limit pamięci PHP
php
*// Dodaj do wp-config.php (przed "That's all")*
define('WP_MEMORY_LIMIT', '256M');B. Niekompatybilny motyw lub wtyczka
php
*// Tymczasowo wyłącz wszystkie wtyczki - dodaj do wp-config.php*
define('WP_DISABLE_PLUGINS', true);Następnie zaloguj się i aktywuj wtyczki po kolei, aby znaleźć winowajcę.
C. Błąd w pliku .htaccess
- Przez FTP usuń plik
.htaccess - Zaloguj się do WordPress Admin
- Przejdź do Ustawienia → Bezpośrednie odnośniki
- Kliknij „Zapisz zmiany” (wygeneruje nowy .htaccess)
D. Włącz tryb debugowania:
php
*// Dodaj do wp-config.php* define('WP_DEBUG', true); define('WP_DEBUG_LOG', true); define('WP_DEBUG_DISPLAY', false);Sprawdź plik /wp-content/debug.log dla szczegółów błędu.
Problem 2: Broken images/media (404 na obrazkach)
Objawy: Tekst się wyświetla, ale wszystkie obrazki są „złamane”
Przyczyny i rozwiązania:
A. Niepoprawne ścieżki w bazie danych
Prawdopodobnie nie zmieniłeś URL w bazie. Użyj Better Search Replace lub WP-CLI (patrz wyżej).
B. Nieprzesłany katalog uploads
Sprawdź czy istnieje /wp-content/uploads/ i zawiera pliki:
bash
ls -la wp-content/uploads/Jeśli brak, prześlij katalog ze starego serwera.
C. Błędne uprawnienia do plików
bash
*# Ustaw poprawne uprawnienia*
find /ścieżka/do/wordpress/wp-content/uploads -type d -exec chmod 755 {} \\;
find /ścieżka/do/wordpress/wp-content/uploads -type f -exec chmod 644 {} \\;D. CDN nadal wskazuje na starą lokalizację
Jeśli używasz CloudFlare, KeyCDN itp.:
- Wyczyść cache CDN
- Zaktualizuj ustawienia origin server
- Poczekaj 24h na propagację DNS
Problem 3: Baza danych nie chce się zaimportować
Objawy: Błędy podczas importu SQL przez phpMyAdmin
Przyczyny i rozwiązania:
A. Plik SQL za duży dla phpMyAdmin
Zwiększ limity w php.ini:
ini
upload_max_filesize = 512M
post_max_size = 512M
max_execution_time = 600Lub użyj SSH:
bash
mysql -u username -p database_name < backup.sqlB. Błąd collation
Jeśli widzisz błędy typu „Unknown collation: utf8mb4_unicode_520_ci”:
Edytuj plik SQL w edytorze tekstu (Notepad++, Sublime):
- Znajdź wszystkie wystąpienia
utf8mb4_unicode_520_ci - Zamień na
utf8mb4_unicode_ci - Zapisz i importuj ponownie
C. Prefiksy tabel konfliktują
Jeśli na nowym hostingu już istnieją tabele z tym samym prefiksem:
Opcja 1: Usuń istniejące tabele (jeśli są puste)
Opcja 2: Zmień prefiks w wp-config.php i w SQL:
sql
*- W pliku SQL - zamień wszystkie wystąpienia- PRZED: wp_options- PO: wpnew_options*Problem 4: 404 na wszystkich stronach oprócz homepage
Objawy: Homepage działa, ale wszystkie inne strony zwracają 404
Przyczyna: Permalinks nie są poprawnie skonfigurowane lub mod_rewrite nie działa
Rozwiązania:
A. Zapisz ponownie linki trwałe (najprostsze)
- Zaloguj się do WordPress Admin
- Przejdź do Ustawienia → Bezpośrednie odnośniki
- Po prostu kliknij „Zapisz zmiany” (nic nie zmieniaj)
B. Sprawdź czy .htaccess istnieje i jest poprawny
Plik .htaccess powinien zawierać:
apache
`# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
#END WordPressC. Włącz mod_rewrite na serwerze
Skontaktuj się z hostingiem, aby upewnić się, że mod_rewrite jest włączony.
Problem 5: Nie mogę się zalogować do wp-admin
Objawy: Błąd „Incorrect password” mimo poprawnego hasła
Przyczyny i rozwiązania:
A. Sesje PHP zapisane w niewłaściwej lokalizacji
Wyczyść cookies w przeglądarce i spróbuj ponownie.
B. Resetuj hasło przez bazę danych
- Otwórz phpMyAdmin
- Znajdź tabelę
wp_users - Znajdź swojego użytkownika
- Kliknij „Edit”
- W polu
user_passwpisz:21232f297a57a5a743894a0e4a801fc3 - Z menu „Function” wybierz
MD5 - Zapisz – hasło to teraz:
admin - Zaloguj się i natychmiast zmień hasło
C. Dodaj nowego admina przez SQL
sql
INSERT INTO wp_users (user_login, user_pass, user_nicename, user_email, user_status`)
VALUES ('emergency', MD5('temppassword123'), 'emergency', 'twoj@email.com', '0');INSERT INTO wp_usermeta (umeta_id, user_id, meta_key, meta_value)
VALUES (NULL, (SELECT ID FROM wp_users WHERE user_login = 'emergency'), 'wp_capabilities', 'a:1:{s:13:"administrator";s:1:"1";}');INSERT INTO wp_usermeta (umeta_id, user_id, meta_key, meta_value)
VALUES (NULL, (SELECT ID FROM wp_users WHERE user_login = 'emergency'), 'wp_user_level', '10');`Zaloguj się jako emergency / temppassword123
Problem 6: Mixed content warnings (HTTP/HTTPS)
Objawy: Ikonka kłódki jest przekreślona, konsola pokazuje mixed content errors
Przyczyna: Niektóre zasoby (obrazki, CSS, JS) ładują się przez HTTP mimo że strona jest na HTTPS
Rozwiązania:
A. Really Simple SSL plugin
- Zainstaluj i aktywuj – rozwiąże większość problemów automatycznie
B. Manualna naprawa przez search-replace
bash
wp search-replace '<http://twoja-domena.pl>' '<https://twoja-domena.pl>' --all-tablesC. Force HTTPS w wp-config.php
php
`// Dodaj na początku wp-config.php (przed "That's all")
define('FORCE_SSL_ADMIN', true);// Jeśli jesteś za proxy/load balancer
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') { $_SERVER['HTTPS'] = 'on'; }`Problem 7: „Error establishing database connection”
Objawy: Strona wyświetla tylko komunikat o błędzie połączenia z bazą
Przyczyny i rozwiązania:
A. Błędne dane w wp-config.php
Dokładnie sprawdź:
php
define('DB_NAME', 'dokładna_nazwa_bazy');
define('DB_USER', 'dokładna_nazwa_użytkownika');
define('DB_PASSWORD', 'dokładne_hasło'); *// uważaj na znaki specjalne!*
define('DB_HOST', 'localhost'); *// lub inny host*B. Użytkownik nie ma uprawnień do bazy
W phpMyAdmin → Privileges:
- Upewnij się, że użytkownik ma przypisane uprawnienia do tej konkretnej bazy
- Powinien mieć: SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER
C. Baza danych nie istnieje
Sprawdź w phpMyAdmin czy baza o tej nazwie faktycznie istnieje. Może być literówka w nazwie.
D. Host bazy danych
Niektóre hostingi używają nietypowych hostów:
- Zamiast
localhostmoże być127.0.0.1 - Lub
mysql.twojadomena.pl - Lub konkretny adres IP
- Sprawdź dokumentację hostingu
Checklist Testowania – co sprawdzić po migracji WordPress
Po zakończeniu migracji WordPress nie odpalaj od razu na żywo! Systematyczne testowanie zapobiegnie problemom.
Pobierz checklistę w PDF
Sprawdź stronę po migracji
Poziom 1: Testy podstawowe (must-have)
Homepage ładuje się poprawnie
- Wyświetla się cała zawartość
- Obrazki się ładują
- Menu działa
- Footer się wyświetla
Możesz się zalogować do wp-admin
- Stare dane logowania działają
- Dashboard się ładuje bez błędów
Strony i posty działają
- Otwórz 5-10 różnych stron/postów
- Sprawdź czy formatowanie jest ok
- Obrazki w treści się wyświetlają
Permalinki działają
- Wszystkie strony mają clean URLs
- Brak 404 na znanym contencie
Formularze kontaktowe działają
- Wyślij testową wiadomość
- Sprawdź czy przyszła (inbox i spam)
SSL/HTTPS działa poprawnie
- Brak warningów mixed content
- Zielona kłódka w przeglądarce
- Automatic redirect HTTP → HTTPS
Poziom 2: Testy funkcjonalności (zalecane)
Wszystkie wtyczki działają
- Sprawdź dashboard każdej kluczowej wtyczki
- Testuj funkcje (np. slider, galerie, formularze)
- Nie ma błędów PHP w debug.log
Motyw wyświetla się poprawnie
- Header, footer, sidebar
- Wszystkie sekcje homepage
- Responsywność (mobile, tablet, desktop)
- Customizer settings są zachowane
Media library
- Obrazki się wyświetlają w bibliotece
- Możesz upload nowe obrazki
- Thumbnails się generują
Wyszukiwarka
- Wpisz popularne query
- Sprawdź czy wyniki są sensowne
Komentarze (jeśli używasz)
- Stare komentarze się wyświetlają
- Możesz dodać nowy komentarz testowy
E-commerce (WooCommerce/Easy Digital Downloads)
- Produkty się wyświetlają
- Koszyk działa
- Checkout (test transaction)
- Payment gateways są skonfigurowane
- Email notifications działają
Multi-language (jeśli używasz WPML/Polylang)
- Wszystkie języki się przełączają
- Tłumaczenia są kompletne
- Language switcher działa
Custom post types
- Portfolio, testimonials, team members itp.
- Wszystkie custom fields są zachowane
Poziom 3: Testy techniczne (dla profesjonalistów)
Performance/Speed
- PageSpeed Insights (min. 90/100)
- GTmetrix report
- Czas ładowania poniżej 3s
- TTFB poniżej 600ms
SEO technical
- XML sitemap generuje się (yourdomain.com/sitemap.xml)
- Robots.txt jest poprawny
- Meta titles i descriptions się wyświetlają
- Structured data (schema.org) – test w Google Rich Results
Database integrity
bash
*# Przez WP-CLI*
wp db check
wp db optimizeBroken links
- Użyj Broken Link Checker plugin
- Lub online tool (deadlinkchecker.com)
- Napraw wszystkie 404
Analytics i tracking
- Google Analytics śledzi wizyty
- Google Tag Manager fire
- Facebook Pixel (jeśli używasz)
- Conversion tracking
Email delivery
- Test emails z różnych formularzy
- WooCommerce order notifications
- Password reset email
- Sprawdź w mail-tester.com (scoring min. 8/10)
Cron jobs
bash
wp cron event list *# sprawdź scheduled tasks*
wp cron test *# test czy cron działa*Security
- Scan przez Sucuri SiteCheck
- Sprawdź uprawnienia do plików (644/755)
- Usuń niepotrzebne pliki (installer.php, backup files)
- Zmień domyślne prefiksy tabel (jeśli nie zmieniłeś)
Poziom 4: Cross-browser i device testing
Desktop browsers
- Chrome (Windows & Mac)
- Firefox
- Safari (Mac)
- Edge
Mobile devices
- iPhone (Safari)
- Android (Chrome)
- Tablet (iPad)
Responsive breakpoints
- 320px (small phone)
- 768px (tablet)
- 1024px (laptop)
- 1920px (desktop)
Checklist (dodatkowa) dla migracji z zmianą domeny
Pobierz checklistę w PDF
Przeprowadź migrację ze zmianą domeny bez problemu!
Z tą checklistą sprawdź DODATKOWO!
Jeśli zmieniasz domenę, dodatkowo sprawdź:
Redirects 301
- Stara domena przekierowuje na nową (całą witrynę)
- Pojedyncze strony kierują do odpowiedników
- Użyj Redirect Checker online tool
DNS propagacja
- Sprawdź w whatsmydns.net czy propagacja zakończona
- Upewnij się, że oba A records (www i non-www) wskazują na nowy serwer
SSL dla nowej domeny
- Certyfikat SSL zainstalowany
- Auto-renewal włączony
- Mixed content resolved
Aktualizacja w Google
- Google Search Console – dodaj nową własność
- Zgłoś nową sitemap
- Narzędzie do żądania zmiany adresu
- Google Analytics – update własność
Update w social media
- Facebook – update URL
- Twitter/X – update URL
- LinkedIn – update strony firmy
- Open Graph tags pokazują poprawne zdjęcia
Update linki zewnętrzne (external links)
- Podpis e-mail
- Katalogi firm
- Posty gościnne na innych blogach
- Linki w bio na social media
Optymalizacja po migracji WordPress
Po zakończonej migracji WordPress to idealny moment na czyszczenie i optymalizację.
1. Oczyść bazę danych
bash
`# Przez WP-CLI
wp db optimize
# Usuń rewizje postów
wp post delete $(wp post list --post_type='revision' --format=ids) --force
# Usuń transients
wp transient delete --all
# Usuń spam comments
wp comment delete $(wp comment list --status=spam --format=ids) --force`Lub użyj wtyczki WP-Optimize lub Advanced Database Cleaner.
2. Regeneruj miniatury
Jeśli motyw używa innych rozmiarów miniatur:
bash
wp media regenerate --yesLub wtyczka: Regenerate Thumbnails
3. Ustaw cache
Zainstaluj i skonfiguruj cache plugin:
- WP Rocket (płatny, ale wart każdej złotówki)
- W3 Total Cache (darmowy, zaawansowany)
- WP Super Cache (darmowy, prosty)
Podstawowa konfiguracja:
- Enable page caching
- Enable browser caching
- Minify HTML, CSS, JS
- Enable GZIP compression
- Lazy load images
4. Konfiguracja CDN
Dla globalnych odbiorców rozważ CDN:
- CloudFlare (darmowy tier wystarczy)
- BunnyCDN (tani i szybki)
- KeyCDN (dobry performance)
5. Optymalizacja obrazu
Zainstaluj plugin do automatycznej kompresji:
- ShortPixel (100 free/month)
- Imagify (100 MB/month free)
- Smush (unlimited free, ale wolniejszy)
6. Wzmocnienie bezpieczeństwa
Po migracji zabezpiecz stronę:
php
`// wp-config.php - disable file editing define('DISALLOW_FILE_EDIT', true);*// Zmień security keys// Generuj nowe na: https://api.wordpress.org/secret-key/1.1/salt/*`Zainstaluj security plugin:
- Wordfence (comprehensive)
- Sucuri Security (lightweight)
- iThemes Security (user-friendly)
Enable 2FA dla konta admin:
- Two Factor Authentication plugin
- Lub native 2FA (WordPress 5.6+)
Pobierz mój nowy przewodnik: „WordPress Security Kit”!
Zapisz się na mój newsletter i ochroń swoją stronę przed hakerami!
Przełączenie na produkcję – ostatnie kroki
Pre-launch checklist – Lista kontrolna przed uruchomieniem
- Wszystkie testy przeszły
- Backup nowej strony stworzony
- DNS rekordy gotowe do zmiany
- Email powiadomienia wysłane do klienta/zespołu
- Strona konserwacji gotowa (na wypadek problemów)
- Rollback – plan przygotowany
Zmiana DNS (dla migracji z zmianą domeny)
- Obniż TTL 24h przed migracją
- Zmień TTL na 300s (5 minut)
- Czekaj 24h na propagację
- W dniu migracji:
- Zmień A record na IP nowego serwera
- Jeśli używasz CloudFlare, włącz orange cloud (proxy)
- Poczekaj 5-60 minut na propagację
- Po propagacji:
- Test czy domena wskazuje na nowy serwer:
ping yourdomain.com - Sprawdź w różnych lokalizacjach: whatsmydns.net
- Po 24h zwiększ TTL z powrotem (3600-86400)
- Test czy domena wskazuje na nowy serwer:
Monitoring po przełączeniu
Pierwsze 48h po migracji WordPress to kluczowy okres:
Minuty 0-30:
- Sprawdzaj każde 5 minut czy strona działa
- Monitoruj dzienniki błędów w czasie rzeczywistym
- Monitorowanie czasu sprawności (UptimeRobot, Pingdom)
Godziny 1-24:
- Sprawdzaj co godzinę
- Monitoruj Google Analytics w czasie rzeczywistym
- Sprawdź współczynnik błędów w Search Console
- Monitoruj zasoby serwera (CPU, RAM, disk)
Dni 2-7:
- Sprawdzaj 2x dziennie
- Przegląd dzienniki błędów
- Monitorowanie wydajności
- Opinie użytkowników
Rollback plan
Jeśli coś pójdzie bardzo źle, musisz mieć plan wycofania:
- Zachowaj backup starej strony przez minimum 30 dni
- Zachowaj stare rekordy DNS zapisane
- Procedura rollback:
- Zmień DNS z powrotem na stary serwer
- W przypadku tej samej domeny: przywróć backup na starym serwerze
- Komunikat dla użytkowników o problemach technicznych
Kiedy rollback:
- Strona nie działa > 10 minut i nie wiesz dlaczego
- Masowa utrata danych
- Krytyczne naruszenie bezpieczeństwa
- Nie działa e-commerce przez > 5 minut
Czyszczenie po migracji
Po udanej migracji i okresie monitorowania:
Usuń niepotrzebne pliki
- Backup na serwerze
- installer.php (Duplicator)
- .wpress files (All-in-One WP Migration)
- Dzienniki debugowania
Wyłącz tryb debugowania
php
*// w wp-config.php* define('WP_DEBUG', false); define('WP_DEBUG_LOG', false);Dezaktywuj wtyczki migracyjne
- Duplicator
- All-in-One WP Migration
- Better Search Replace (Zostaw na wypadek, ale nie muszą być aktywne)
Anuluj stary hosting
- Po 30 dniach bez problemów
- Pobierz finalny backup przed anulowaniem
- Anuluj automatyczne odnawianie
Update dokumentów
- Nowe dane dostępowe w password manager
- Zaktualizuj wiki/dokumentację techniczną
- Powiadom zespół o nowych referencjach
Najlepsze praktyki dla przyszłych migracji
Każda migracja WordPress to lekcja. Oto jak robić to lepiej następnym razem:
1. Planuj z wyprzedzeniem
- Migracje w środku tygodnia (wt-czw) lepsze niż weekend
- Unikaj okresy wzmożonego ruchu
- Poinformuj użytkowników z 7-dniowym wyprzedzeniem
- Migruj w poza godzinami szczytu (2-6 rano)
2. Automatyzuj co się da
- Używaj WP-CLI dla powtarzalne zadania
- Skrypty bash dla standardowych operacji
- CI/CD dla staging → przepływy produkcyjne
3. Dokumentuj proces
Twórz własny checklist dla każdego typu migracji:
- Wyjątkowe wyzwania każdego projektu
- Śledzenie czasu (ile co zajmuje)
- Wyciągnięte wnioski
4. Testy na staging first
Nigdy nie migruj bezpośrednio na produkcję:
- Migruj na staging/subdomenę
- Testuj wszystko
- Napraw problemy
- Dopiero potem produkcja
5. Komunikacja jest kluczem
- Ogłoszenie przed migracją (7 dni przed)
- Dzień powiadomienia (tu migrujemy, może być przestój)
- Raport po migracji (co się zmieniło, znane problemy)
- Follow-up (prosba o feedback)
Podsumowanie – migracja WordPress bez stresu
Migracja WordPress nie musi być stresująca, jeśli podejdziesz do niej systematycznie:
- Przygotuj się – backup, audyt, plan
- Wybierz właściwe narzędzie – wtyczka dla prostych stron, ręcznie dla złożonych
- Testuj dokładnie – lepiej 2 godziny testów niż 2 dni naprawiania w panice
- Monitoruj po przełączeniu – pierwsze 48h to kluczowy okres
- Dokumentuj – przyszłe-ty podziękuje teraźniejszemu-ty
Pamiętaj: nawet najbardziej doświadczeni developerzy spotykają się z problemami podczas migracji. Kluczem jest mieć backup i plan B. Z tym przewodnikiem jesteś gotowy na migrację WordPress każdego rozmiaru.
Powodzenia z migracją! I pamiętaj – pierwszy raz jest najtrudniejszy. Za trzecim razem będziesz robił to z zamkniętymi oczami.
Pomogłam Ci? Zostaw komentarz i powiedz, jak przebiegła Twoja migracja WordPress. Jeśli masz pytania lub napotkałeś problemy nie omówione w tym przewodniku, chętnie pomogę w komentarzach!


