15%

Zaoszczędź 15% na wszystkich usługach hostingowych

Sprawdź swoje umiejętności i zdobądź Rabat na dowolny plan hostingowy

Użyj kodu:

Skills
Rozpocznij
21.10.2024
1 +1

Jak korzystać z All-in-One WP Migration w WordPress: Kompletny przewodnik techniczny

All-in-One WP Migration to wtyczka WordPress, która serializuje całą witrynę — bazę danych, przesłane multimedia, motywy, wtyczki i konfigurację podstawową — do jednego przenośnego archiwum .wpress, które następnie można zaimportować do dowolnej instalacji WordPress bez ręcznego manipulowania bazą danych. Jest to najszybsza metoda przeprowadzenia pełnej migracji witryny lub wykonania kopii zapasowej w określonym momencie bez korzystania z phpMyAdmin, SSH ani surowych zrzutów SQL.

Ten przewodnik wykracza poza podstawowe klikanie. Obejmuje pełny przepływ pracy migracji, krytyczne ograniczenia techniczne, które powodują większość nieudanych importów, dostrajanie konfiguracji PHP, zachowanie serializacji URL oraz kroki weryfikacji po migracji, które są rutynowo pomijane i później powodują incydenty produkcyjne.

Co wtyczka faktycznie robi pod maską

Przed dotknięciem pulpitu nawigacyjnego zrozumienie wewnętrznej mechaniki wtyczki zapobiega niespodziankom podczas dużych migracji.

Po uruchomieniu eksportu All-in-One WP Migration wykonuje następującą sekwencję:

  1. Zrzuca bazę danych MySQL WordPress do płaskiego pliku SQL w tymczasowym katalogu roboczym.
  2. Serializuje wszystkie dane obiektów PHP w bazie danych (opcje, konfiguracje widżetów, meta wpisów) i przepisuje bezwzględne URL-e do tokenu zastępczego, aby można je było przepisać podczas importu.
  3. Pakuje wp-content/uploads, pliki aktywnego motywu i katalogi wtyczek wraz ze zrzutem SQL.
  4. Zawija wszystko w archiwum .wpress, które jest formatem niestandardowym — nie standardowym ZIP ani TAR — z własnym nagłówkiem manifestu.

Podczas importu proces jest odwracany: archiwum jest rozpakowywane, SQL jest odtwarzany względem nowej bazy danych, a tokeny zastępcze URL są zastępowane nowym adresem URL witryny. Ten krok przepisywania URL jest powodem, dla którego wtyczka sprawnie obsługuje zmiany domeny bez konieczności wykonywania osobnego przebiegu wp-cli search-replace — choć nadal powinieneś to zweryfikować, jak omówiono w sekcji po migracji.

Krok 1: Zainstaluj wtyczkę na witrynie źródłowej

Zaloguj się do istniejącego pulpitu nawigacyjnego WordPress i przejdź do Wtyczki > Dodaj nową. Wyszukaj All-in-One WP Migration, zainstaluj i aktywuj. Darmowa wersja jest wystarczająca dla witryn poniżej progu rozmiaru przesyłania na Twoim serwerze (zazwyczaj od 128 MB do 512 MB w zależności od konfiguracji PHP hosta).

Po aktywacji nie jest wymagana żadna konfiguracja. Wtyczka natychmiast rejestruje się na lewym pasku bocznym.

Krok 2: Wyeksportuj swoją witrynę

Przejdź do All-in-One WP Migration > Eksport na pasku bocznym pulpitu nawigacyjnego.

Kliknij Eksportuj do i wybierz Plik. Wtyczka rozpocznie pakowanie Twojej witryny. Dla typowej witryny poniżej 500 MB zajmuje to od 30 sekund do 3 minut. W przypadku witryn wielogigabajtowych z dużymi bibliotekami multimediów zaplanuj od 10 do 20 minut.

Co jest zawarte w eksporcie:

  • Pełny zrzut bazy danych MySQL (wszystkie tabele ze skonfigurowanym prefiksem)
  • Katalog wp-content/uploads
  • Aktywne i nieaktywne motywy w wp-content/themes
  • Wszystkie zainstalowane wtyczki w wp-content/plugins
wp-config.php jest celowo wykluczony ze względów bezpieczeństwa — własny wp-config.php witryny docelowej jest zachowywany podczas importu

Co jest domyślnie wykluczone:

Komentarze spam
Wersje wpisów
Nieużywane motywy i dezaktywowane wtyczki (konfigurowalne przez przełącznik Opcji zaawansowanych)
Dzienniki błędów i katalogi pamięci podręcznej

Sekcja Opcji zaawansowanych pozwala wykluczyć określone tabele, ścieżki plików lub typy wpisów. Użyj jej, aby usunąć przejściowe pamięci podręczne lub duże tabele dzienników przed eksportem, co znacząco zmniejsza rozmiar archiwum.
Po zakończeniu pakowania kliknij Pobierz, aby zapisać plik .wpress lokalnie. Przechowuj go w bezpiecznym miejscu — ten plik jest kompletną kopią zapasową Twojej witryny.
Krok 3: Przygotuj środowisko docelowe
Jeśli migrujesz na nowy serwer, przed importem potrzebujesz czystej instalacji WordPress w miejscu docelowym. Większość zarządzanych środowisk hostingowych zapewnia instalatory WordPress jednym kliknięciem. Jeśli pracujesz w środowisku VPS Hosting, możesz zainstalować WordPress ręcznie lub użyć stosu panelu sterowania.
Docelowa instalacja WordPress nie musi odpowiadać źródłowej pod względem motywu, wtyczek ani treści — import nadpisze wszystko. Jednak następujące elementy muszą być na miejscu:

WordPress core jest zainstalowany i dostępny przez panel administracyjny
Użytkownik bazy danych ma uprawnienia CREATE, DROP, INSERT, UPDATE, DELETE i ALTER do docelowej bazy danych
Wersja PHP jest zgodna z Twoimi wtyczkami (sprawdź wersję PHP witryny źródłowej w Narzędzia > Zdrowie witryny)
Katalog wp-content jest zapisywalny przez proces serwera WWW

Ważne: Domena lub subdomena witryny docelowej nie musi odpowiadać źródłowej. Wtyczka przepisuje URL-e podczas importu. Jednak jeśli migrujesz na dokładnie tę samą domenę (np. przenosząc między serwerami), czas propagacji DNS ma znaczenie — nie aktualizuj DNS, dopóki import nie zostanie zweryfikowany.
Krok 4: Zainstaluj wtyczkę na witrynie docelowej
Powtórz proces instalacji na nowej instancji WordPress: Wtyczki > Dodaj nową, wyszukaj All-in-One WP Migration, zainstaluj i aktywuj.
Ten krok jest często pomijany, gdy ludzie konfigurują świeżą instalację WordPress i zakładają, że wtyczka będzie obecna. Nie będzie — proces importu wymaga, aby wtyczka była już aktywna w miejscu docelowym.
Krok 5: Zwiększ limit rozmiaru przesyłania przed importem
To jest najczęstszy punkt awarii. Darmowa wersja All-in-One WP Migration respektuje limit przesyłania PHP serwera. Jeśli Twój plik .wpress przekracza ten limit, import zakończy się cichym niepowodzeniem lub wyświetli niejasny błąd.
Sprawdź swój aktualny limit, przechodząc do All-in-One WP Migration > Import. Wtyczka wyświetla maksymalny rozmiar przesyłania bezpośrednio na tym ekranie.
Aby go zwiększyć, użyj jednej z następujących metod w zależności od poziomu dostępu do serwera:
Metoda 1: Edytuj php.ini bezpośrednio (zalecane dla VPS i serwerów dedykowanych)
upload_max_filesize = 512M
post_max_size = 512M
memory_limit = 512M
max_execution_time = 300
max_input_time = 300
Uruchom ponownie PHP-FPM lub Apache po zapisaniu:
sudo systemctl restart php8.1-fpm
# or for Apache with mod_php:
sudo systemctl restart apache2
Metoda 2: Nadpisanie przez .htaccess (środowiska hostingu współdzielonego)
php_value upload_max_filesize 512M
php_value post_max_size 512M
php_value memory_limit 512M
php_value max_execution_time 300
Metoda 3: Nadpisanie przez wp-config.php
@ini_set('upload_max_filesize', '512M');
@ini_set('post_max_size', '512M');
@ini_set('memory_limit', '512M');
Po zastosowaniu zmian odśwież stronę Import we wtyczce, aby potwierdzić, że nowy limit jest odzwierciedlony. Jeśli korzystasz z planu Shared Web Hosting, skontaktuj się z hostem, aby podnieść limity PHP na poziomie serwera, ponieważ nadpisania .htaccess mogą być ograniczone.
Alternatywa dla bardzo dużych witryn: Użyj darmowej wtyczki w połączeniu z oficjalnym rozszerzeniem „Basic” lub prześlij plik .wpress bezpośrednio do wp-content/ai1wm-backups/ przez FTP/SFTP, a następnie wybierz go z ekranu Import. Całkowicie omija to ograniczenie rozmiaru przesyłania HTTP.
Krok 6: Zaimportuj archiwum
Na witrynie docelowej przejdź do All-in-One WP Migration > Import.
Kliknij Importuj z > Plik i wybierz swoje archiwum .wpress. Wtyczka prześle plik, a następnie rozpocznie proces przywracania. Pasek postępu śledzi operację.
Co dzieje się podczas importu:

Archiwum .wpress jest rozpakowywane do tymczasowego katalogu w wp-content
  • Istniejąca baza danych jest usuwana i zastępowana zaimportowanym zrzutem SQL
  • Pliki w wp-content są nadpisywane zarchiwizowanymi wersjami
  • Tokeny URL są zastępowane nowym adresem URL witryny (pobieranym z wp-config.php)
  • Wtyczka prosi o finalizację
  • Po zakończeniu importu zobaczysz okno dialogowe potwierdzenia. Kliknij Kontynuuj (lub Przywróć w zależności od wersji wtyczki), aby potwierdzić zastąpienie bazy danych. Ta czynność jest nieodwracalna bez osobnej kopii zapasowej docelowej bazy danych.

    Zostaniesz wylogowany natychmiast po zakończeniu importu. Jest to oczekiwane zachowanie — baza danych zawiera teraz konta użytkowników z witryny źródłowej. Zaloguj się przy użyciu danych uwierzytelniających z witryny źródłowej.

    Krok 7: Wyczyść permalinki

    Po ponownym zalogowaniu przejdź do Ustawienia > Bezpośrednie odnośniki. Nie zmieniaj żadnych ustawień. Po prostu przewiń do dołu i kliknij Zapisz zmiany.

    Wymusza to na WordPress ponowne wygenerowanie reguł przepisywania .htaccess dla nowego środowiska. Pominięcie tego kroku powoduje, że wszystkie URL-e wpisów i stron zwracają błędy 404, mimo że treść istnieje w bazie danych.

    Jeśli używasz Nginx zamiast Apache, nie ma pliku .htaccess. Musisz upewnić się, że blok serwera Nginx zawiera standardową dyrektywę WordPress try_files:

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    Krok 8: Lista kontrolna weryfikacji po migracji

    Migracja nie jest zakończona, dopóki każdy element na tej liście nie zostanie zweryfikowany. Pomijanie weryfikacji to sposób, w jaki uszkodzone witryny trafiają do produkcji.

    Integralność URL i domeny:

    • Odwiedź Ustawienia > Ogólne i potwierdź, że zarówno Adres WordPress, jak i Adres witryny odzwierciedlają poprawny docelowy URL
    • Uruchom sprawdzenie wyszukiwania i zamiany: zainstaluj WP-CLI na serwerze i uruchom wp search-replace 'olddomain.com' 'newdomain.com' --dry-run, aby wykryć wszelkie URL-e pominięte przez wtyczkę w serializowanych danych
    • Sprawdź ostrzeżenia o mieszanej zawartości w narzędziach deweloperskich przeglądarki podczas migracji z HTTP na HTTPS

    Testowanie funkcjonalne:

    • Przetestuj wszystkie menu nawigacyjne i linki wewnętrzne
    • Prześlij co najmniej jeden formularz kontaktowy i zweryfikuj dostarczenie
    • Przetestuj przepływ realizacji zamówienia WooCommerce, jeśli dotyczy
    • Sprawdź, czy załączniki multimedialne ładują się poprawnie (uszkodzone obrazy często wskazują na pominięte przepisanie URL w tabeli wp_posts)

    Bezpieczeństwo i konfiguracja:

    • Potwierdź, że Twoje certyfikaty SSL są aktywne i HTTPS jest wymuszony na domenie docelowej
    • Przejrzyj wp-config.php w miejscu docelowym — dane uwierzytelniające bazy danych, status WP_DEBUG i sole powinny odzwierciedlać nowe środowisko, a nie źródłowe
    • Wygeneruj ponownie klucze bezpieczeństwa WordPress przez Ustawienia > Ogólne lub zastępując stałe soli w wp-config.php przy użyciu generatora tajnych kluczy WordPress

    Pamięć podręczna:

    • Wyczyść wszystkie warstwy pamięci podręcznej: pamięć podręczna obiektów (Redis/Memcached), wtyczki pamięci podręcznej stron (WP Rocket, W3 Total Cache) i wszelkie pamięci podręczne CDN
    • Dezaktywuj i ponownie aktywuj wtyczki pamięci podręcznej, aby wymusić wykrycie nowych ścieżek środowiska

    Porównanie: All-in-One WP Migration a alternatywne metody migracji

    MetodaWymagane umiejętności techniczneObsługuje duże witrynyPrzepisywanie URLKosztNajlepsze dla
    All-in-One WP Migration (darmowa)NiskieOgraniczone przez limit przesyłaniaAutomatyczneBezpłatnaMałe i średnie witryny
    All-in-One WP Migration (premium)NiskieTak (bez limitu rozmiaru)AutomatycznePłatnaWitryny dowolnej wielkości
    WP-CLI + rsync + mysqldumpWysokieTakRęczne (`search-replace`)BezpłatnaDeweloperzy, duże witryny
    Duplicator ProŚrednieTakPółautomatycznePłatnaAgencje, multisite
    Ręczne (phpMyAdmin + FTP)WysokieTakRęczneBezpłatnaScenariusze pełnej kontroli
    Przywracanie kopii zapasowej cPanel/PleskŚrednieTakBrak (ta sama domena)Wliczone w hostingMigracje w obrębie tego samego hosta

    Migracja na VPS lub serwer dedykowany

    Jeśli przenosisz się z hostingu współdzielonego na środowisko VPS Hosting lub Serwery dedykowane, przepływ pracy All-in-One WP Migration jest identyczny, ale konfiguracja serwera docelowego wymaga dodatkowej uwagi:

    • Zainstaluj stos LAMP lub LEMP (Apache/Nginx, MySQL/MariaDB, PHP)
    • Skonfiguruj wirtualny host wskazujący na katalog główny dokumentów WordPress
    • Utwórz dedykowaną bazę danych MySQL i użytkownika z odpowiednimi uprawnieniami
    • Zainstaluj WordPress core przed uruchomieniem importu wtyczki
    • Skonfiguruj ustawienia puli PHP-FPM tak, aby odpowiadały lub przekraczały wymagania zasobów witryny źródłowej

    Dla zespołów preferujących zarządzany interfejs panelu sterowania, VPS z cPanel znacznie zmniejsza nakład pracy związany z konfiguracją serwera — cPanel zapewnia instalator WordPress jednym kliknięciem, przełącznik wersji PHP i menedżer plików, które upraszczają konfigurację przed importem.

    Typowe błędy i sposoby ich naprawy

    „Import nie powiódł się: nie można wyodrębnić archiwum”

    Zazwyczaj oznacza to, że plik .wpress jest uszkodzony, przesyłanie zostało przerwane lub na miejscu docelowym brakuje miejsca na dysku. Sprawdź, czy rozmiar pliku odpowiada oryginałowi, sprawdź dostępne miejsce na dysku za pomocą df -h i ponownie prześlij przez SFTP bezpośrednio do wp-content/ai1wm-backups/.

    „Przekroczono maksymalny czas wykonania”

    Dyrektywa PHP max_execution_time jest zbyt niska dla rozmiaru importu. Zwiększ ją do 300 lub 600 sekund w php.ini lub .htaccess jak pokazano powyżej.

    „Przesłany plik przekracza dyrektywę upload_max_filesize”

    Limit rozmiaru przesyłania nie został podniesiony lub zmiana nie została zastosowana do właściwego pliku konfiguracyjnego PHP. Uruchom php -i | grep upload_max_filesize z wiersza poleceń, aby potwierdzić, który php.ini jest aktywny.

    php -i | grep upload_max_filesize
    php -i | grep "Loaded Configuration File"

    Biały ekran śmierci po imporcie

    Tymczasowo włącz WP_DEBUG w wp-config.php, aby wyświetlić rzeczywisty błąd PHP:

    define('WP_DEBUG', true);
    define('WP_DEBUG_LOG', true);
    define('WP_DEBUG_DISPLAY', false);

    Następnie sprawdź /wp-content/debug.log pod kątem konkretnego błędu. Typowe przyczyny to wtyczka niekompatybilna z docelową wersją PHP lub wyczerpanie limitu pamięci.

    Uszkodzone obrazy po migracji

    Uruchom ukierunkowane wyszukiwanie i zamianę starej domeny w tabelach wp_posts i wp_postmeta. Używając WP-CLI:

    wp search-replace 'https://olddomain.com' 'https://newdomain.com' wp_posts wp_postmeta --precise --report-changed-only

    Macierz decyzji technicznych: kiedy używać All-in-One WP Migration

    ScenariuszZalecane podejście
    Witryna poniżej 512 MB, przenoszenie do nowego hostaDarmowa wersja, bezpośrednie przesyłanie pliku
    Witryna powyżej 512 MBPrześlij `.wpress` przez SFTP do `ai1wm-backups/` lub użyj wersji premium
    Przenoszenie z HTTP na HTTPSUruchom WP-CLI `search-replace` po imporcie, aby wykryć serializowane URL-e
    Migracja sieci multisiteUżyj wersji premium; darmowa wersja nie obsługuje multisite
    Automatyczne cykliczne kopie zapasoweZamiast tego użyj dedykowanej wtyczki do kopii zapasowych (UpdraftPlus, BackWPup)
    Przenoszenie na inną wersję PHPPrzetestuj zgodność wtyczek w środowisku testowym przed importem produkcyjnym
    Zmiana domenyZweryfikuj przepisanie URL w Ustawienia > Ogólne po imporcie

    Praktyczne kluczowe wnioski

    • Zawsze przesyłaj plik .wpress przez SFTP bezpośrednio do wp-content/ai1wm-backups/ dla witryn powyżej 200 MB — pozwala to uniknąć wszelkich ograniczeń rozmiaru przesyłania HTTP.
    • Podnieś upload_max_filesize, post_max_size, memory_limit i max_execution_time w miejscu docelowym przed rozpoczęciem importu, a nie po napotkaniu błędu.
    • Wtyczka wyklucza wp-config.php z archiwum — dane uwierzytelniające docelowej bazy danych są zachowane, ale ręcznie zweryfikuj WP_DEBUG, WP_SITEURL i sole bezpieczeństwa po imporcie.
    • Zawsze wyczyść permalinki natychmiast po imporcie. W Nginx sprawdź, czy dyrektywa try_files jest obecna w bloku serwera.
    • Uruchom wp search-replace --dry-run po każdej migracji obejmującej zmianę domeny, aby wykryć pozostałości serializowanych URL-i, które wtyczka mogła pominąć.
    • Potwierdź, że SSL jest aktywny w miejscu docelowym przed uruchomieniem — niezgodność certyfikatu SSL po migracji jest częstą przyczyną ostrzeżeń bezpieczeństwa przeglądarki, które podważają zaufanie użytkowników.
    • W przypadku migracji produkcyjnych zawsze najpierw testuj w środowisku testowym, szczególnie przy zmianie wersji PHP lub przenoszeniu między znacząco różnymi stosami serwerów.

    Często zadawane pytania

    Czy All-in-One WP Migration działa przy przenoszeniu WordPress na inną domenę?

    Tak. Wtyczka automatycznie przepisuje domenę źródłową na domenę docelową podczas importu, używając procesu podstawiania tokenów w zrzucie SQL. Po imporcie sprawdź, czy przepisanie się powiodło, sprawdzając Ustawienia > Ogólne i uruchamiając WP-CLI search-replace --dry-run, aby wykryć wszelkie URL-e osadzone w serializowanych danych PHP, które wtyczka mogła pominąć.

    Jaki jest maksymalny rozmiar pliku obsługiwany przez darmową wersję?

    Darmowa wersja nie ma sztywno zakodowanego limitu rozmiaru w samej wtyczce — ograniczenie pochodzi wyłącznie z dyrektyw PHP upload_max_filesize i post_max_size serwera. Na wielu hostingach współdzielonych domyślnie wynosi to 128 MB. Możesz całkowicie ominąć to ograniczenie, przesyłając plik .wpress przez SFTP do wp-content/ai1wm-backups/ i wybierając go z ekranu Import, co pomija mechanizm przesyłania HTTP.

    Czy migracja całkowicie nadpisze bazę danych witryny docelowej?

    Tak. Import usuwa wszystkie istniejące tabele w docelowej bazie danych i zastępuje je tabelami z witryny źródłowej. Wykonaj kopię zapasową docelowej bazy danych przed importem, jeśli zawiera jakiekolwiek dane, które chcesz zachować.

    Czy mogę używać All-in-One WP Migration dla WordPress Multisite?

    Darmowa wersja nie obsługuje migracji sieci Multisite. Do eksportowania i importowania pełnej sieci Multisite wymagane jest premium rozszerzenie „Multisite Extension”. Poszczególne podwitryny w sieci można czasami migrować jako samodzielne witryny przy użyciu darmowej wersji, ale wymaga to ręcznego czyszczenia wpisów bazy danych specyficznych dla sieci.

    Dlaczego zostaję wylogowany natychmiast po zakończeniu importu?

    To prawidłowe zachowanie. Import zastępuje całą bazę danych, w tym tabelę wp_users, danymi z witryny źródłowej. Konto administratora witryny docelowej już nie istnieje — aktywne są teraz konta użytkowników z witryny źródłowej. Zaloguj się przy użyciu nazwy użytkownika i hasła z oryginalnej witryny źródłowej.

    15%

    Zaoszczędź 15% na wszystkich usługach hostingowych

    Sprawdź swoje umiejętności i zdobądź Rabat na dowolny plan hostingowy

    Użyj kodu:

    Skills
    Rozpocznij