Jak łatwo przenieść stronę WordPress na inny hosting?

Zmiana hostingu i konieczność przeniesienia witryny opartej na WordPress może wiązać się z wieloma problemami.
Od problemów związanych z importem danych z bazy danych, po problemy konfiguracyjne, problemy z zainstalowanymi wcześniej wtyczkami, z linkami bezpośrednimi do mediów i plików itp.

Przed każdą zmianą w obrębie strony, jak również w przypadku przenosin strony, powinno się robić kopię zapasową strony – więcej w artykule: Jak robić kopie zapasowe strony. W artykule warto zwrócić uwagę na to, które dane (baza danych, pliki i katalogi) są szczególnie istotne dla Twojej strony.

Dzisiejszy wpis będzie mini poradnikiem dla osób, które chcą w szybki, bezproblemowy i bezpieczny sposób przenieść swoją stronę na inny hosting, bez zagłębiania się w kwestie techniczne.
Za pomocą wtyczki Duplicator można zarówno robić kopie zapasowe strony, jak i w sposób automatyczny przenieść stronę w inne miejsce.

Kopia zapasowa będzie zawierała wszystkie dane witryny czyli artykuły, strony, wgrywane pliki i media, włącznie z zainstalowanymi wtyczkami i motywami(bez konieczności ponownej instalacji po przenosinach strony).

Część pierwsza – tworzymy paczkę instalacyjną na starym serwerze

  • Zaczynamy od pobrania wtyczki (1) z oficjalnego repozytorium WordPress i jej aktywacji:
    duplicator_install
  • Klikamy zakładkę Paczki (Packages), gdzie będziemy mieli podgląd utworzonych przez nas „duplikatów” strony.
  • Klikamy po prawej stronie na przycisk Utwórz nową (Create new) (2) i ukaże nam się ekran:
    duplicator2

    Pojawia nam się informacja czy są spełnione podstawowe wymagania dotyczące działania wtyczki („Requirements: pass”) m.in. wersja PHP, potrzebne uprawnienia do zapisu, odpowiednie usługi na serwerze:
    duplicator_requirements

    Wpisujemy nazwę paczki i możemy przejść dalej. (3)

    W sekcji „Storage” mamy informację gdzie dokładnie na serwerze będzie znajdowały się tworzone pliki.
    W sekcji „Archive” mamy możliwość wyboru plików oraz tabel baz danych, które chcemy dodać lub wykluczyć z tworzonej paczki.

    W sekcji „Installer” mamy możliwość wpisania danych dostępu do bazy danych oraz adresu dla nowej strony (dane te można pozostawić puste i uzupełnić równie dobrze później podczas instalacji na nowym serwerze):
    duplicator_installer

  • W następnym kroku (krok 2) system jest sprawdzany czy wszystko się zgadza ile zajmie miejsca i ile czasu cały proces.. wszystkie komunikaty powinny się pojawić na zielono, wtedy na spokojnie możemy rozpocząć tworzenie naszej paczki. W przypadku wystąpienia ostrzeżeń (na czerwono) warto sprawdzić powód i go naprawić. Nie jest to jednak absolutnie konieczne, mimo takich ostrzeżeń jest możliwe przejście do dalszego etapu tworzenia paczki.
    duplicator3
    Po zakończeniu skanowania przechodzimy dalej. (4)
  • W kroku 3 paczka jest budowana, gdy proces się zakończy powinniśmy zobaczyć taki ekran:
    duplicator
    Klikamy na przyciski Installer i Archive, i pobieramy pliki na dysk. (5)
  • Podgląd przykladowych paczek z poziomu panelu administracyjnego (z tego poziomu również można pobrać wygenerowane wcześniej paczki):
    duplicator packages

Część druga – instalujemy paczkę na nowym serwerze

  • Wgraj spakowaną paczkę package.zip i plik installer.php na nowym serwerze (1) w głównym katalogu serwisu (przez ftp). Nie ma konieczności instalowania WordPressa, instalator zrobi to za nas.
  • Aby rozpocząć instalację wpisz w przeglądarce adres swojej nowej strony na końcu wpisując /installer.php (2) (np. mojastrona.pl/installer.php), odwołując się do wgranych wczesniej plików:
    duplicator6
    Bazę danych i użytkownika na nowym serwerze musimy utworzyć ręcznie.
    Następnie w instalatorze podajemy dane dostępu do bazy danych na nowym serwerze i klikamy Uruchom instalację. (3)
  • W drugim kroku weryfikujemy starą i nową ścieżkę oraz adres strony. Opcjonalnie możemy zmienić dane dostępu dla administratora strony klikając „New admin account”.
    duplicator
  • Instalacja zakończona – strona powinna już działać.
    duplicator9
    Na koniec „czyścimy instalację” Duplicatora i usuwamy utworzone pliki: installer.php wraz z paczką package.zip
    (w opcjach Duplicator -> Tools -> Cleanup ).

Napotkane problemy

Jeżeli pierwsza instalacja się nie powiedzie, można spróbować ponownie z nowymi ustawieniami.
W moim przykładzie instalacja przebiegła bez niespodzianek i przeniesiona strona działa jak trzeba. Jedyny problem jaki wystąpił wiązał się z aktualizacją wtyczek na nowym serwerze.
Podczas próby aktualizacji wtyczki pojawiał się błąd:

„Pobieranie nie powiodło się. Katalog docelowy przesyłania strumieniowego nie istnieje lub nie ma uprawnień do zapisu do niego.”

Wiązał się on z wpisem w pliku wp-config.php
define('WP_TEMP_DIR', '/home/user/domains/domena.pl/public_html/wp-content/uploads');

Wystarczyło poprawić ścieżkę dostępu dla aktualnego serwera i aktualizacje działają jak trzeba.

You Might Also Like

8 Comments

  1. Rożko

    „Pobieranie nie powiodło się. Katalog docelowy przesyłania strumieniowego nie istnieje lub nie ma uprawnień do zapisu do niego.”

    Wiązał się on z wpisem w pliku wp-config.php
    define(’WP_TEMP_DIR’, '/home/user/domains/domena.pl/public_html/wp-content/uploads’);

    Miałem ten sam problem. Dzięki za pomoc! 🙂

  2. Przemek

    No ja tez mam taki sam problem, jednak nie lubie grzebac w plikach, mam obawy ze cos napsoce i wogole strona siadzie, czy mozesz jakos nakierowac czy przedstawic co dokladnie trzeba zrobic w tym wypadku, na czym polega zmiana ?

  3. y0n45h

    Ne bardzo wiem co mam edytować, możecie doradzić?
    WP_DEBUG zwraca to:

    PHP Warning: unlink(/Applications/wordpress-4.7-0/apps/wordpress/tmp/wordpress-4.7.1-8nlHAO.tmp): No such file or directory in /home/y0n45h/domains/proofficium.pl/public_html/wp-admin/includes/file.php on line 506

    1. seowp

      Czy blad wystapil po aktualizacji? czy podczas przenoszenia strony?
      Sprawdź w pliku wp-config.php w katalogu głównym WordPress czy masz taką linię: define(’WP_TEMP_DIR’, '(/Applications/wordpress-4.7-0/apps/wordpress/tmp/’);
      jeżeli tak to ją zakomentuj i uruchom jeszcze raz aktualizację. Daj znac czy pomogło?

      1. y0n45h

        Błąd wystąpił po przeniesieniu strony z localhosta na zew. serwer linuxpl.com. Kiedy chciałem z aktualizować wtyczki. no localu wszystko działało poprawnie. co zrobić by zakomentować? // ?

  4. y0n45h

    Jest pełen sukces. Dziękuje za pomoc.

  5. Bartosh

    Witam, wszystkich spróbuje odkurzyć temat. Co jeśli w pliku WP-CONFIG.PHP powyższy wpis nie istnieje a problem występuje?

    1. seowp

      Warto by sprawdzić uprawnienia odczytu/zapisu katalogu wp-content (powinno być 775). Błąd może się również wiązać z tym, że jakaś wtyczka wymaga tej stałej (tego wpisu), a jej nie ma – wtedy trzeba go dodać do pliku konfiguracyjnego.

Leave a Reply