Jak przenieść stronę WordPress na inny serwer

Każda strona WordPress składa się z plików i bazy danych, dlatego jej przeniesienie na inny serwer składa się z dwóch głównych kroków: przeniesienia plików oraz bazy danych. W tym wpisie pokazuję, jak zrobić to dobrze. Dasz radę, nawet jeśli się na tym nie znasz :-)

Procedura przenosin strony

  1. Stary serwer: Skopiuj pliki strony.
  2. Stary serwer: Skopiuj bazę danych.
  3. Nowy serwer: Utwórz bazę danych na nowym serwerze.
  4. Nowy serwer: Wgraj dane ze starej bazy do nowej.
  5. Twój komputer: Zmodyfikuj plik wp-config.php.
  6. Nowy serwer: Wgraj pliki na nowy serwer.
  7. Domena: Delegacja domeny.

Stary serwer: Skopiuj pliki strony

Aby skopiować pliki strony, potrzebujesz dostępu FTP do starego serwera. Dane logowania – nazwę hosta FTP, nazwę użytkownikahasło – albo otrzymałeś mejlem przy wykupie hostingu, albo są one dostępne w panelu klienta hostingu. Szukaj czegoś, co ma w nazwie "FTP".

Zainstaluj program Filezilla. Po jego uruchomieniu zobaczysz coś takiego:

Filezilla

Uzupełnij dane logowania w miejscu oznaczonym 1 i kliknij "Quickconnect". W okienku 2 pojawi się lista katalogów znajdujących się na starym serwerze. Katalog, który trzeba skopiować, zazwyczaj nazywa się public_html lub www.

W okienku 3 utwórz nowy katalog, np. wp-backup: kliknij w okienku prawym klawiszem i wybierz "Create directory and enter it". Teraz przeciągnij katalog public_html (lub www – zależy jak się u ciebie nazywa) z okienka 2 do okienka 3. Kopiowanie plików może trwać bardzo długo – mój rekord to kilka godzin w piątkowy wieczór. Zależy od tego, ile masz zainstalowanych wtyczek i motywów, i ile zdjęć znajduje się na serwerze.

Po tym kroku wszystkie pliki strony są bezpiecznie skopiowane do katalogu wp-backup na twoim komputerze.

Stary serwer: Skopiuj bazę danych

Aby skopiować bazę danych, musisz zalogować się do phpMyAdmin, czyli do miejsca, w którym możesz zarządzać bazą. I znowu – dane logowania – nazwę hosta, nazwę użytkownikahasło – albo otrzymałeś mejlem przy wykupie hostingu, albo są one dostępne w panelu klienta hostingu. Pewnie w panelu klienta znajduje się nawet link do strony logowania. Jeśli nie możesz znaleźć nazwy użytkownika i hasła, odczytaj je z pliku wp-backup/public_html/wp-config.php. Chodzi o następujące pola:

/** MySQL database username */
define( 'DB_USER', 'nazwa_użytkownika' );

/** MySQL database password */
define( 'DB_PASSWORD', 'hasło' );

Po zalogowaniu twoim oczom ukaże się panel phpMyAdmin:

Panel phpMyAdmin

Wybierz z lewej strony 1 bazę, którą chcesz skopiować. Następnie w górnym pasku wybierz "Eksport" 2 i koniecznie zaznacz "Dostosuj" 3. Potem zjedź na sam dół i kliknij "Wykonaj". Baza zostanie zapisana do pojedynczego pliku z rozszerzeniem .sql. Zapis bazy jest z reguły szybki.

Nowy serwer: Utwórz bazę danych na nowym serwerze

Czas na przygotowanie miejsca na twoją stronę na nowym serwerze. Wiele hostingów oferuje automatyczną instalację WordPressa, ale nie korzystaj z tej opcji. Wygodniej będzie odtworzyć stronę na podstawie skopiowanych plików.

Musisz jednak utworzyć bazę danych. Niektóre hostingi tworzą na dzień dobry bazę danych i wysyłają ci w mejlu dane do niej (nazwę hosta, nazwę bazy, nazwę użytkownika i hasło). W innych bazę musisz utworzyć sam. Aby to zrobić, zaloguj się do panelu klienta na nowym serwerze. Znajdź gdzieś opcję "Utwórz bazę danych" (lub coś w ten deseń). Będziesz musiał określić nazwę bazy danych, nazwę użytkownika i hasło. Zapisz sobie te dane, bo niedługo będą potrzebne.

Nowy serwer: Wgraj dane ze starej bazy do nowej

Gdy masz już nową bazę, jest ona pusta. Trzeba do niej wgrać dane ze starej bazy.

Zaloguj się do phpMyAdmin na nowym serwerze. Link do logowania znajdziesz w panelu klienta hostingu, a dane logowania zapisałeś sobie wcześniej.

Z lewej strony wybierz bazę, do której chcesz wgrać dane. Następnie w górnym pasku wybierz "Import" i kliknij przycisk "Przeglądaj". Wskaż plik z rozszerzeniem .sql, w którym jest zapisana stara baza danych. Zjedź na dół i kliknij "Wykonaj". Dane ze starej bazy zostaną zaimportowane do nowej.

Twój komputer: Zmodyfikuj plik wp-config.php

Przejdź do pliku wp-backup/public_html/wp-config.php i zmień dane dostępowe do nowej bazy danych. Dane do zmiany zaznaczyłam na czerwono:

/** The name of the database for WordPress */
define( 'DB_NAME', 'nazwa_bazy' );

/** MySQL database username */
define( 'DB_USER', 'nazwa_użytkownika' );

/** MySQL database password */
define( 'DB_PASSWORD', 'hasło' );

/** MySQL hostname */
define( 'DB_HOST', 'host' );

Nowy serwer: Wgraj pliki na nowy serwer.

Zaloguj się przez Filezillę do nowego serwera. Dane logowania otrzymałeś mejlem lub znajdziesz je w panelu klienta hostingu.

Wykonaj akcję odwrotną do tej opisanej w punkcie "Stary serwer: Skopiuj pliki strony", czyli skopiuj zawartość katalogu wp-backup/public_html (okienko 3) do katalogu public_html w okienku 2. Pliki muszą być skopiowane w ten sposób, aby bezpośrednio w katalogu public_html w okienku 2 znajdował się plik wp-config.php oraz katalogi wp-content, wp-adminwp-includes. Po tym poznasz, że pliki zostały skopiowane w dobre miejsce.

Delegacja domeny

Na koniec jeszcze jeden drobiazg, czyli pokazanie światu, gdzie od teraz znajduje się twoja strona. Na razie domena ciągle wskazuje stary serwer.

Zaloguj się do miejsca, w którym wykupiłeś domenę. Znajdź sekcję "Serwery DNS" (lub coś w ten deseń) i zastąp to, co jest tam teraz, serwerami DNS związanymi z twoim nowym serwerem. Informację o nazwach tych serwerów otrzymałeś mejlem lub jest ona dostępna w panelu klienta hostingu. Serwery DNS są przynajmniej 2 i jest to coś w stylu "dns1.mydevil.net" (dla hostingu MyDevil). Przekierowanie może trwać nawet kilkanaście godzin, więc nie denerwuj się, tylko cierpliwie czekaj :-)

Voilà! Przeprowadzka gotowa! Najtrudniejsze w tym wszystkim jest chyba znalezienie haseł i loginów ;-)

Pani Marta
Jestem Marta. Pani Marta. I piszę o rzeczach, które inspirują mnie i ciekawią w pracy web developera. Na moim blogu znajdziesz porady dotyczące WordPressa i programowania stron, a także moje osobiste przemyślenia na najróżniejsze tematy.