Gdy tworzymy swój motyw bądź konfigurujemy jakiegoś „gotowca” to nie robimy tego na docelowej domenie a gdzieś, w ukryciu przed robotami indeksującymi i ewentualnymi odwiedzającymi. Jest to podyktowane względami SEO bo nie chcemy aby roboty zindeksowały naszą witrynę z frazami „Lorem Ipsum” lub zawartością „demo”. A gdy na przykład odświeżamy layout to nie chcemy by nasi klienci/czytelnicy widzieli stronę, która się „rozjeżdża”.
Gdy uznamy, że nasza strona jest już gotowa do tego by można ją było pokazać światu musimy wykonać kilka czynności aby po wpisaniu jej adresu była ona widoczna. Istnieje kilka sposobów na migrację strony, w tym wpisie pokażę jak zrobić to bez pomocy zewnętrznych pluginów typu Duplicator, ten sposób opiszę w kolejnym wpisie. Tak więc zaczynamy.
- Jeśli migrujemy z innego serwera to za pomocą klienta FTP skopiujmy sobie pliki naszego WordPressa na nasz komputer. Jeśli strona była tworzona lokalnie to punkt ten oczywiście pomijamy. (Bardziej zaawansowani użytkownicy mogą przenieść sobie pliki bezpośrednio pomiędzy serwerami za pomocą SSH).
- Logujemy się do phpMyAdmin tworzonej strony, przechodzimy do zakładki „Eksport” i eksportujemy sobie naszą bazę danych (Niektóre hostingi pozwalają na eksport bazy z poziomu swoich paneli zarządzania)
- Pobrane wcześniej pliki kopiujemy do folderu docelowej strony
- Na docelowym hostingu tworzymy sobie nową bazę danych i logujemy się do niej za pomocą phpMyAdmin
- Wybieramy zakładkę „Import” i importujemy plik stworzony w punkcie 2.
- Po zaimportowaniu bazy przechodzimy do zakładki SQL i wklejamy kod poniższego zapytania
UPDATE wp_options SET option_value = replace(option_value, 'http://www.staradomena.pl', 'http://www.nowadomena.pl') WHERE option_name = 'home' OR option_name = 'siteurl'; UPDATE wp_posts SET guid = replace(guid, 'http://www.staradomena.pl','http://www.nowadomena.pl'); UPDATE wp_posts SET post_content = replace(post_content, 'http://www.staradomena.pl', 'http://www.nowadomena.pl');
Gdzie oczywiście zamieniamy http://www.staradomena.pl na adres na którym tworzyliśmy witrynę a http://www.nowadomena.pl na adres docelowy. Po zmianie danych klikamy „Wykonaj”
- Wracamy do naszego klienta FTP i gdy skopiowały się nam już wszystkie pliki to otwieramy sobie do edycji plik wp-config.php
- W pliku wp-config.php znajdujemy sekcje:
/** Nazwa bazy danych, której używać ma WordPress */ define('DB_NAME', 'database_name'); /** Nazwa użytkownika bazy danych MySQL */ define('DB_USER', 'username'); /** Hasło użytkownika bazy danych MySQL */ define('DB_PASSWORD', 'password'); /** Nazwa hosta serwera MySQL */ define('DB_HOST', 'localhost');
Gdzie
define('DB_NAME', 'database_name');
– to nazwa naszej nowej bazy danych utworzonej w punkcie 4define('DB_USER', 'username');
– to nazwa użytkownika w/w bazydefine('DB_PASSWORD', 'password');
– to hasło do bazy danych
Po wypełnieniu w/w danych wysyłamy plik na serwer. - Przechodzimy pod adres naszej nowej strony i powinniśmy ją zobaczyć.
- Może się zdarzyć tak, że zobaczymy komunikat „Błąd łączenia z bazą danych”. Należy wtedy sprawdzić dane podane w pliku wp-config.php gdyż być może wkradła nam się literówka bądź spacja. Możliwe jest również, że nasz hosting posiada inny adres bazy danych. Wtedy musimy znaleźć w panelu sterowania hostingu ów adres i zamienić go w linii
/** Nazwa hosta serwera MySQL */
define('DB_HOST', 'localhost');
Ponownie zapisujemy plik i wysyłamy go na serwer.
W teorii, dobrze napisany motyw powinien zacząć działać po wykonaniu wyżej wymienionych czynności. W praktyce może być inaczej i na przykład nie będą nam się wyświetlały niektóre obrazy. Co prawda miało być bez pluginów ale w takim przypadku może być pomocna wtyczka Velvet Blues Update URLs w której podajemy stary i nowy adres a ona zajmie się ich podmianą. Może się również zdarzyć tak, że w motywie jakieś URLe są wpisane „na sztywno” (choć nie powinny bo od tego są funkcje WP jak get_template_directory_uri() ) – wtedy nie pozostaje nic innego jak edycja plików motywu i ich podmiana.