Wersja testowa WordPressa. Jak stworzyć stage?

Wersja testowa WordPressa (tzw. stage), to osobna kopia całej Twojej strony, na której możesz testować zmiany i aktualizacje w odizolowanym środowisku. Nawet jak coś zepsujesz, to uszkodzenia pozostaną na wersji testowej i nie trafią do głównej strony.

Każda aktualizacja motywu, wtyczki, a nawet samego WordPressa może spowodować różnego rodzaju problemy na stronie, które uniemożliwią jej wyświetlanie. Jeśli Twoja strona jest popularna, to z pewnością nie możesz pozwolić sobie nawet na najmniejsze przerwy w jej działaniu. WordPress nie jest jednak takim systemem, o którym można swobodnie zapomnieć. Trzeba dokonywać aktualizacji zarówno samego WordPressa, jak i zainstalowanych komponentów (motywów, wtyczek).

Ryzyko uszkodzenia występuje zatem zawsze, dlatego polecamy tworzyć kopie zapasowe WordPressa. Czy to jedyny sposób na to, aby odpowiednio się przygotować do większej aktualizacji lub wprowadzania zmian na stronie? Nie. Możesz jeszcze stworzyć tzw. stage. To oddzielna, wersja testowa WordPressa, przeznaczona do testów, widoczna tylko dla Ciebie. Dzięki temu wszystkie zmiany, które wprowadzasz na stronę, są wdrażane w oddzielnym środowisku testowym. Coś poszło nie tak? Nic nie szkodzi, Twoja publiczna wersja strony pozostaje nienaruszona. Wszystko poszło dobrze na wersji testowej? Świetnie, możesz teraz to samo wdrożyć na wersji publicznej.

Czym jest tzw. stage, czyli wersja testowa WordPressa?

Wersja testowa strony (tzw. stage), zwana również wersją roboczą czy deweloperską, to nic innego jak działająca kopia Twojej strony, odseparowana od głównej witryny, uruchomiona pod innym adresem. Co najważniejsze, jest niedostępna dla nikogo poza Tobą. Nie jest także indeksowana przez Google.

Służy ona do eksperymentowania, a także testowania zmian i aktualizacji przed wprowadzeniem ich do wersji produkcyjnej strony, czyli tej głównej, dostępnej dla wszystkich.

Wersja testowa (stage) wyróżnia się następującymi cechami:

  • nie jest dostępna publicznie (jest widoczna tylko dla Ciebie oraz ewentualnych współpracowników)
  • nie jest indeksowana w wyszukiwarkach internetowych
  • zmiany wprowadzone na wersji testowej nie mają wpływu na główną, publiczną wersję strony

Jak widzisz, zaletą posiadania wersji testowej WordPressa jest możliwość bezstresowego testowania aktualizacji, zmian i nowości. Nawet jeśli zrobisz coś nie tak i strona ulegnie uszkodzeniu, to nie wpłynie to w żaden sposób na wersję produkcyjną, czyli główną stronę pod Twoją domeną.

Wersja testowa WordPressa – w jaki sposób ją utworzyć?

Jako że wersja testowa WordPressa to nic innego jak kopia działająca pod innym adresem, to z pewnością domyślasz się już, że istnieje kilka sposobów na jej wykonanie.

W repozytorium WordPressa można znaleźć wtyczkę WP Staging, która pozwala jednym kliknięciem stworzyć wersję testową strony. Brzmi dobrze? Niby tak, jednak darmowa wersja WP Staging ma poważne ograniczenia, które stawiają cały sens użycia bezpłatnej wersji pod znakiem zapytania. W darmowej wersji nie możemy użyć osobnej bazy dla wersji testowej, przez co współdzieli ona tę samą bazę, co wersja produkcyjna. Dopiero płatna wersja pozwala wykorzystać oddzielną bazę danych. To niezbyt dobre rozwiązanie – po co nam wersja testowa, skoro nadal jest ona powiązana z wersją produkcyjną? Uszkodzenie bazy przez wersję testową może „położyć” nam wersję produkcyjną.

Najprostszym sposobem jest ręczne stworzenie wersji testowej. Warto wiedzieć, że można to zrobić w ramach swojego hostingu, wykorzystując subdomenę, dostępne wolne miejsce na serwerze i możliwość stworzenia oddzielnej bazy danych. Wystarczy utworzyć kopię strony i uruchomić ją jako drugiego WordPressa na naszym serwerze. Należy w tym celu:

  • utworzyć na serwerze kopię swojej strony na WordPressie w osobnym katalogu
  • stworzyć subdomenę (np. test.adres-witryny.pl), która posłuży jako adres wersji testowej i skierować ją na katalog z utworzoną kopią plików WordPressa
  • stworzyć nową, oddzielną bazę danych i zaimportować do niej dane swojego WordPressa
  • dostosować ustawienia adresów URL i bazy danych w wersji testowej WordPressa
  • wyłączyć indeksowanie strony, aby wersja testowa nie była indeksowana przez Google

Oczywiście, można ten proces nieco skrócić i ułatwić, wykorzystując wtyczkę Duplicator (pozwala ona dość szybko stworzyć kopię WordPressa i odtworzyć ją pod innym adresem). Może się jednak zdarzyć, że przy dużej stronie Duplicator pominie niektóre pliki. Warto także pamiętać, że niedawno wtyczka ta miała sporą lukę w zabezpieczeniach, dlatego my polecamy tradycyjne rozwiązania bez wtyczek, które mogą się wydawać nieco dłuższe i męczące, ale za to w pełni bezpieczne. Pokażę Ci zatem, jak ręcznie uruchomić wersję testową swojego WordPressa na swoim własnym hostingu.

Krok 1: Utwórz kopię plików swojego WordPressa w osobnym katalogu

Zacznijmy od plików WordPressa na serwerze. Musisz zrobić kopię plików swojego WordPressa w osobnym katalogu na serwerze. W tym celu zaloguj się za pomocą dowolnego klienta FTP (np. FileZilla) na swój serwer.

Znajdź i otwórz katalog, w którym przechowujesz swoją stronę na WordPressie. Zaznacz wszystkie pliki i foldery WordPressa, a następnie skopiuj je na dysk twardy. W tym celu kliknij zaznaczone elementy prawym przyciskiem myszy i wybierz Pobierz.

Pobierz swojego WordPressa na dysk

Klient FTP rozpocznie pobieranie plików Twojego WordPressa na dysk. Gdy to nastąpi, kolejnym krokiem jest stworzenie nowego, oddzielnego folderu na serwerze, przeznaczonego na wersję testową strony, i przekopiowanie do niego plików WordPressa.

Przejdź do głównego folderu swojego serwera (public_html) i stwórz w nim nowy katalog pod stage WordPressa. Na potrzeby poradnika nazwiemy go wpstage.

Utwórz folder pod stage WordPressa

Następnie wyślij do katalogu wpstage wszystkie foldery i pliki swojego WordPressa, które przed chwilą pobrałeś na dysk komputera. Ten proces może potrwać dłuższą chwilę.

Wyślij kopię WordPressa do folderu wpstage

W ten sposób utworzyłeś na swoim serwerze kopię całej strony w osobnym katalogu.

Krok 2: Stwórz subdomenę, czyli osobny adres pod wersję testową WordPressa

Kolejnym krokiem jest przygotowanie adresu, pod którym wersja testowa WordPressa będzie dostępna. Nie musisz kupować nowej domeny. Najprościej skorzystać z subdomeny, czyli dodatkowego adresu internetowego, który możesz stworzyć w ramach swojej aktualnej domeny. Dzięki temu wersja testowa będzie dostępna np. pod adresem test.adres-witryny.pl, podczas gdy wersja produkcyjna dalej będzie działać z adresu adres-witryny.pl.

Proces tworzenia subdomeny może różnić się w zależności od tego, gdzie masz wykupiony hosting. Jeśli masz hosting w LH.pl, to subdomenę możesz stworzyć w swoim panelu klienta, przechodząc do zakładki Serwery > Subdomeny. Zobacz, jak stworzyć subdomenę w LH.pl.

Stwórz subdomenę dla stage WordPressa

W trakcie dodawania subdomeny należy wskazać, na jaki katalog na serwerze ma ona kierować. Wpisz tu nazwę katalogu, w którym znajduje się utworzona w pierwszym kroku kopia plików WordPressa. W naszym wypadku będzie to folder wpstage.

W ten sposób utworzyłeś subdomenę i przekierowałeś ją na katalog, w którym przechowywana jest kopia Twojej strony.

Krok 3: Wyeksportuj bazę danych WordPressa

Pliki to nie wszystko – WordPress opiera się także na bazie danych. Ją również musimy wyeksportować, a następnie skopiować do nowej, czystej bazy, przeznaczonej pod wersję testową WordPressa. Operacje na bazie danych wykonamy za pomocą narzędzia phpMyAdmin, dostępnego w ramach każdego hostingu.

Link do phpMyAdmin znajdziesz w swoim panelu klienta – w LH.pl jest to sekcja Twoje serwery > Bazy MySQL.

Wejdź do phpmyadmin

Zaloguj się do swojej bazy danych za pomocą phpMyAdmin, wpisując login i hasło do bazy. Jeśli masz problemy z zalogowaniem do bazy, zapoznaj się z poradnikiem, jak zalogować się do bazy danych w LH.pl.

W kolumnie po lewej znajdziesz listę baz danych. Wybierz bazę danych swojego WordPressa. Następnie przejdź do zakładki Eksport.

Eksportuj bazę danych

Ustaw eksport w następujący sposób:

Metoda eksportu: dostosuj

Tabele: upewnij się, że zaznaczone są wszystkie na liście

Wyjście: zaznacz pole „Zapisz wynik do pliku” i jako kompresję ustaw „.gzip”

Na samym dole kliknij przycisk Wykonaj i poczekaj, aż plik z kopią bazy zostanie wygenerowany i rozpocznie się jego pobieranie. Zapisz go w dogodnym miejscu na dysku twardym.

Po wyeksportowaniu bazy danych wyloguj się z phpMyAdmin. W tym celu kliknij ikonę drzwi w górnym lewym rogu.

Wyloguj się z bazy danych

W ten sposób utworzyłeś i pobrałeś kopię wszystkich danych z bazy danych MySQL Twojego WordPressa. Następnym krokiem będzie utworzenie nowej bazy pod wersję testową i zaimportowanie do niej wyeksportowanej kopii.

Krok 4: Utwórz nową bazę danych i zaimportuj do niej kopię bazy WordPressa

Gdy mamy już kopię bazy danych wersji produkcyjnej WordPressa, to teraz musimy utworzyć nową bazę danych pod wersję testową i zaimportować do niej dane naszej strony.

W swoim panelu klienta przejdź do zarządzania bazami danych (w LH.pl to zakładka Serwery > Bazy MySQL) i utwórz nową bazę danych pod testowego WordPressa.

Utwórz bazę danych pod stage WordPressa

Możesz nadać jej dowolną nazwę – na potrzeby poradnika będzie to wpstagesql. Jeśli nie wiesz, jak to zrobić, zapoznaj się z poradnikiem, w którym pokazujemy, jak stworzyć nową bazę danych.

WAŻNE! Zapamiętaj lub zapisz sobie gdzieś nazwę nowej bazy danych, a także login i hasło do niej – będą one później potrzebne.

Przejdź ponownie do phpMyAdmin w swoim hostingu, ale tym razem zaloguj się do swojej nowej bazy danych. W kolumnie po lewej stronie wybierz swoją nową, pustą bazę danych, którą przed chwilą utworzyłeś. W naszym wypadku jest to baza, która w nazwie posiada wartość wpstagesql. Powinna być pusta – upewnij się, że nie ma w niej żadnej tabel.

Po jej wybraniu przejdź do zakładki Import. Kliknij przycisk Wybierz plik, a następnie wskaż plik z wyeksportowaną wcześniej bazą danych.

Importuj bazę danych

Po wskazaniu pliku kliknij Wykonaj i poczekaj, aż dane do bazy danych zostaną zaimportowane.

W ten sposób zaimportowałeś kopię bazy produkcyjnego WordPressa do bazy danych przeznaczonej pod testowego WordPressa.

Krok 5: Wskaż adres testowego WordPressa w nowej bazie danych

Po zaimportowaniu bazy danych nie wychodź jeszcze z phpMyAdmin – musisz w zaimportowanej bazie zmienić adres URL, aby wskazywał na Twojego testowego WordPressa, a nie tego produkcyjnego. To konieczne, aby powiązać nową bazę danych z testowym WordPressem.

Przejdź w phpMyAdmin do tabeli wp_options. W tabeli wp_options znajdziesz dwa wiersze, które zawierają adres Twojej strony: siteurl oraz home.

Edytuj w zaimportowanej bazie siteurl i home

Zauważ, że aktualnie kierują one na adres Twojego głównego, produkcyjnego WordPressa (w moim wypadku http://adres-witryny.pl).

W obu tych wierszach musisz kliknąć Edytuj, a następnie zmienić swój obecny adres strony (np. http://adres-witryny.pl) na adres subdomeny (http://test.adres-witryny.pl) testowego WordPressa. Po zmianie adresu kliknij Wykonaj.

Wpisz adres swojego testowego WordPressa

Jeśli prawidłowo wykonaliśmy zmiany, to teraz zarówno sireurl jak i home będą kierować na subdomenę, którą przygotowaliśmy pod testowego WordPressa.

Poprawnie wpisane nowe adresy testowego WordPressa

Uwaga! W przypadku subdomeny zwróć uwagę na kwestię certyfikatu SSL i protokołu https. Jeżeli dla swojej domeny głównej wygenerowałeś bezpłatny certyfikat SSL (Let’s Encrypt) LUB zakupiłeś płatny certyfikat BEZ funkcji Wildcard, to Twoje subdomeny nie są objęte protokołem https. Oznacza to, że wpisując adres subdomeny należy używać przedrostka http zamiast https.

W ten sposób zaktualizowałeś ustawienia adresu URL w bazie testowego WordPressa, aby wskazywały one na domenę powiązaną ze stage’em.

Krok 6: Wskaż nową bazę danych w pliku wp-config.php testowego WordPressa

Została jeszcze jedna istotna rzecz do skonfigurowania. Aby WordPress zadziałał z utworzonej kopii, należy w jego ustawieniach (pliku wp-config.php) wprowadzić dane do nowej bazy danych.

W tym celu zaloguj się na serwer FTP, przejdź do katalogu z testowym WordPressem (np. folder wpstage), a następnie edytuj plik wp-config.php. Znajdziesz tu następujące, przykładowe linie:

define( 'DB_NAME', 'serwerXXXX_wordpress' );
define( 'DB_USER', 'serwerXXXX_wordpress' );
define( 'DB_PASSWORD', 'haslodoPRODUKCYJNEJbazydanych' );  

Tu przydadzą Ci się dane, które miałeś zapisać lub zapamiętać podczas tworzenia nowej bazy danych pod wersję testową.

Zmień nazwę bazy danych i nazwę użytkownika, wpisując tu dane do nowej bazy danych (np. serwerXXXX_wpstagesql). To samo zrób z hasłem – usuń stare i wpisz hasło do nowej bazy danych, którą stworzyłeś w poprzednich krokach.

define( 'DB_NAME', 'serwerXXXX_wpstagesql' );
define( 'DB_USER', 'serwerXXXX_wpstagesql' );
define( 'DB_PASSWORD', 'haslodoTESTOWEJbazydanych' );  

Zapisz zmiany w pliku i zamknij okno edytora. FileZilla automatycznie wykryje zmiany w pliku i zaoferuje jego przesłanie na serwer. Potwierdź tę czynność.

W ten sposób zaktualizowałeś konfigurację testowego WordPressa, aby korzystał on z nowej bazy danych.

Krok 7: Zaloguj się do testowego WordPressa i wyłącz indeksowanie go w wyszukiwarkach

Twój testowy WordPress jest już gotowy. Możesz teraz go wyświetlić, wpisując adres utworzonej subdomeny w przeglądarce.

To całkowicie oddzielna instalacja, niezależna, w żaden sposób niepowiązana z wersją produkcyjną. Odpala się z oddzielnego folderu i wykorzystuje osobną bazę danych. Żadne zmiany tu wprowadzone nie trafią do strony produkcyjnej pod głównym adresem.

Wywołaj testowego WordPressa

Na sam koniec warto wykonać jeszcze jedną ważną rzecz: wyłączyć indeksowanie w Google testowej wersji. W tym celu zaloguj się do panelu administratorskiego swojego testowego WordPressa. Po zalogowaniu się przejdź do zakładki Ustawienia > Czytanie.

W tym miejscu znajdź i zaznacz pole Proś wyszukiwarki o nieindeksowanie tej witryny. Zachowaj zmiany klikając przycisk Zapisz zmiany.

Wyłącz indeksowanie testowego WordPressa

W ten sposób zabezpieczysz się przed ewentualnym indeksowaniem i duplikowaniem treści z wersji testowej.

Wiele osób blokuje także dostęp do wersji testowej, zabezpieczając stronę hasłem. Wtedy nikt bez podania hasła nie będzie mógł wyświetlić Twojego testowego WordPressa, nawet jeśli zna do niego adres. Możesz to zrobić za pomocą pliku .htaccess – zobacz, jak zabezpieczyć katalog na serwerze hasłem.

Wersja testowa WordPressa a wersja produkcyjna. Jak przenieść zmiany ze stage na produkcję?

No dobrze, masz teraz dwie wersje WordPressa – jedną produkcyjną (pod główną domeną) i jedną testową (pod subdomeną). Przymierasz się do aktualizacji strony lub wprowadzenia nowych funkcji, więc najpierw robisz to i testujesz na wersji testowej. Wszystko wychodzi dobrze i chcesz teraz przenieść te zmiany na wersję produkcyjną. Jak to zrobić?

W większości przypadków nie jest to takie proste. Owszem, rozwiązania wtyczkowe, takie jak WP Staging w wersji Premium (płatnej) pozwalają „wypychać” zmiany wprowadzone na wersji testowej do wersji produkcyjnej WordPressa jednym kliknięciem. Niestety, w przypadku ręcznie stworzonego stage’a takiej opcji nie ma. Co prawda można samodzielnie wdrożyć pewne rozwiązania, które zautomatyzują „wypychanie” zmian z wersji testowej na produkcyjną, jednak zawsze w trakcie takich działań coś może pójść nie tak (np. może zostać przekopiowana tylko część zmian, co poskutkuje uszkodzeniem strony produkcyjnej).

Najlepiej potraktować wersję testową jako środowisko robocze, w którym eksperymentujemy i sprawdzamy stabilność naszych zmian. Gdy wszystko pójdzie dobrze, to wprowadzone zmiany należy ręcznie odwzorować na wersji produkcyjnej.

Default image
Błażej Starosta
Wieloletni webmaster, tworzący serwisy przy użyciu popularnych CMS typu WordPress oraz Prestashop. Ma doświadczenie w prowadzeniu sklepów internetowych i stara się być na bieżąco ze wszystkimi nowinkami technologicznymi. Uwielbia dzielić się swoją wiedzą, zawsze chętnie pomoże rozwikłać problemy.

1 komentarz

  1. W przypadku przeniesienia ręcznego wersji testowej do stabilnej najrozsądniej jest zrobić ten sam proces co w przypadku rozpoczęcia – ręczna migracja bazy, plików. Można też użyć wtyczki WP migrate która zautomatyzuje proces. Jedynie trzeba bazę danych ręcznie podmienić i pobrać kopie bezpieczenstwa. Sposób jest wiele choć żaden z nich nie sprawi, że będzie to trwało 3 sekundy. Trzeba się „naklikać”.

Zostaw komentarz