Jak wykonać kopię zapasową i zaktualizować witrynę?

  • Poziom trudności:

Niespecjalnie lubię przysłowie „ludzie dzielą się na tych, którzy robią kopie zapasowe i tych, którzy będą je robili” bo jest w nim coś z wywyższania się tych, którzy są przezorni nad tymi, którzy ostrożności nie zachowują ale mimo wszystko jest w nim sporo racji. Szczególnie da się to zobaczyć jeśli posiadasz stronę na WordPressie i sam musisz zadbać o jej bezpieczną aktualizację. Kopia zapasowa w tej sytuacji jest niezbędnym minimum jakie powinieneś wykonać przed aktualizowaniem czegokolwiek.

Boję się aktualizować, żeby nic mi nie znikło

Najczęściej strach przed aktualizacją WordPressa związany jest z tym, że ktoś kiedyś zaktualizował motyw bez Child Theme (o tym co to jest dowiesz się później) albo update’ował wtyczki bez zrobienia uprzednio kopii zapasowej i skończyło się to nie najlepiej dla właściciela strony. „Lepiej zostawić WP tak jak jest i nic nie aktualizować” – myśli być może wiele osób. Niestety jest to złudna metoda na zapewnienie sobie świętego spokoju, bowiem długo nieaktualizowany WordPress jest bardziej podatny na ataki, nie ma łatanych na bieżąco luk bezpieczeństwa przez co witryna może trafić w niepowołane ręce.

Jedno jest pewne – pośpiech nie jest dobrym doradcą. Zanim podejmiesz jakiekolwiek kroki w kierunku aktualizowania czegokolwiek na WordPressie przeczytaj podstawowe komunikaty wyświetlające się w pobliżu przycisku:

O konieczności wykonania kopii przed aktualizacją WordPressa ostrzega poniższy komunikat:

Niestety mało osób zwraca na niego uwagę licząc na to, że jakoś to będzie. A potem zdarza się, że coś przestaje działać i zaczyna się nerwowe poszukiwanie pomocy na grupach. Czasami – jeśli reakcja nie jest wystarczająco szybka – może się okazać, że jest już za późno. W poniższym materiale podpowiem Ci jak takiej sytuacji uniknąć.

Skoro jednak czytasz ten wpis i chcesz się dowiedzieć w jaki sposób przygotować się do aktualizacji WordPressa, to jestem spokojny o to, co będzie się działo z Twoją stroną. Po sporządzeniu pełnej kopii zapasowej i przeprowadzeniu procesu aktualizacji będziesz mógł zapoznać się z kilkoma najczęstszymi problemami jakie pojawiają się przy tej okazji i we właściwy sposób zareagować aby je rozwiązać.

Z tego wpisu dowiesz się:

  • co aktualizować i w jakich sytuacjach aktualizować nie warto?
  • jak zrobić kopię zapasową plików poprzez klienta FTP oraz kopię zapasową bazy danych?
  • której wtyczki użyć aby wykonywać kopie zapasowe cyklicznie?
  • jak wygląda sam proces aktualizacji?
  • jakie rozwiązanie pomoże w bezproblemowym powrocie do starszych wersji wtyczki?
  • jakie błędy możesz natrafić po skończeniu procesu aktualizacji?

Zaczynajmy!

Jak często pojawiają się aktualizacje i czy warto reagować na każdą z nich?

Nie ma tygodnia, kiedy na średnio rozbudowanej stronie nie czekałaby na każdego z nas aktualizacja. Najczęściej jest to aktualizacja wtyczek, rzadziej motywu, a najrzadziej samego silnika WordPressa. Średnio dwa razy w roku ukazuje się nowa duża wersja WordPressa (4.7, 4.8, 4.9 itp.), zaś kilka albo i kilkanaście razy w roku pojawiają się mniejsze aktualizacje. Te mniejsze zazwyczaj są aktualizacjami wynikającymi z  bezpieczeństwem WordPressa i są nazywane trzema cyframi (4.8.1, 4.8.2, 4.8.3 itp.). Zazwyczaj jeśli ustawienia serwerowe na to pozwalają WordPress sam się aktualizuje aby załatać dziury bezpieczeństwa. Nawet jeśli posiadasz starą wersję silnika, WP będzie dodawał kolejne numery i wprowadzał mniejsze aktualizacje automatycznie. Większe aktualizacje będziesz musiał wykonywać samodzielnie.

Z doświadczenia wiem, że nie warto długo zwlekać z aktualizacjami. Tam gdzie czeka się na update latami zdarza się, że niektóre standardowe funkcje WP przestają działać.

W momencie kiedy pojawi się nowa wersja WordPressa – warto poczytać na jej temat. Jeśli nie zmienia nic w kwestii bezpieczeństwa, a mamy wątpliwości czy nie pojawią się problemy z jej używaniem, uzasadnione jest wstrzymanie się kilka dni i wykonanie aktualizacji w późniejszym czasie. Nie ma co jednak czekać za długo.

Jakie działania warto podjąć przed aktualizacją?

Przed wykonaniem poniższych czynności przeczytaj akapit do końca.

Chcąc zaktualizować WordPressa do najnowszej wersji warto wykonać następujące czynności (w kolejności podanej poniżej):

  1. Wykonaj kopię zapasową swojej bazy danych i plików
  2. Zaktualizuj wtyczki.
  3. Zaktualizuj motyw (szablon) witryny.
  4. Zaktualizuj silnik WordPressa.

Krok 1: Wykonujemy kopię zapasową

Zakres kopii zapasowej zależny jest od tego czy czeka nas aktualizacja wtyczki albo kilku wtyczek, motywu czy też całego WordPressa. Skorzystaj z instrukcji, którą używam za każdym razem kiedy aktualizuję WP:

Aktualizacja wtyczki – wykonuję kopię zapasową katalogu /wp-content/plugins/ oraz kopię bazy danych
Aktualizacja motywu – wykonuję kopię zapasową katalogu /wp-content/themes/ oraz kopię bazy danych
Aktualizacja WordPressa – wykonuję kopię zapasową całej witryny oraz kopię bazy danych

Nie musisz wykonywać za każdym razem całościowej kopii. Jeśli jednak nie jesteś pewien co może Ci się przydać, a co nie – zrób kopię całościową. Dla świętego spokoju.

Kopia plików z serwera FTP

Zacznijmy od podstaw czyli uzyskania dostępu do serwera za pomocą klienta FTP. Tutaj znajdziesz darmowy kurs ze szczegółową instrukcją jak taki dostęp otrzymać.

Po zalogowaniu się do FileZilli, Total Commandera albo innego klienta FTP, którego używasz upewnij się, że po lewej stronie masz dostęp do swojego dysku i wszystkich katalogów, a po prawej dostęp do katalogów i plików na serwerze. Jeśli znajdziesz katalog z instalacją WordPressa, wtedy na liście po prawej zobaczysz następującą strukturę:

W jaki sposób sprawdzić czy struktura z prawej, którą masz aktualnie otwartą dotyczy Twojej strony internetowej? Szybkim sposobem jest zmiana nazwy (kliknij na nazwę i wciśnij F2) pliku index.php na dowolnie inną nazwę i sprawdzenie czy strona się wyświetla. Jeśli zamiast strony pojawi się np. strony lista zatytułowana Directory listing for / albo informacja o zablokowanej stronie – znaczy to, że znalazłeś właściwą strukturę WordPressa. Teraz możesz wrócić do nazewnictwa pliku: index.php.

Skoro upewniliśmy się, że kopiujemy właściwe pliki, możesz zaznaczyć je wszystkie (Ctrl + A) i przeciągnąć z prawej na lewą do np. utworzonego wcześniej katalogu „backup” oznaczonego nazwą strony i np. bieżącą datą służącą do szybkiego zorientowania się jakiego okresu dotyczy kopia.

W trakcie wykonywania kopii zwróć uwagę, że wszystkie przenoszone pliki trafiają do karty „Pliki w kolejce”, a następnie przechodzą do karty „Udane transfery”.

Jeśli jakiś plik trafi do zakładki „Nieudane transfery” – wtedy warto przerzucić go z powrotem do „Pliki w kolejce” i powtórzyć przesyłanie niewłaściwie przeniesionych plików.

Kopia bazy danych MySQL

Warto pamiętać, że wykonanie kopii zapasowej plików z serwera to tylko część pracy jaka nas czeka przy backupowaniu strony. Teraz musimy zrobić kopię bazy danych MySQL. Aby ją wykonać należy znaleźć narzędzie phpMyAdmin. Instrukcję w jaki sposób je odnaleźć znajdziesz tutaj – gdyby jednak się nie udało, wtedy zawsze możesz o dostęp zapytać w biurze obsługi klienta Twojego hostingu.

Zalogować się do phpMyAdmin możesz przy pomocy nazwy użytkownika i hasła do Twojej bazy. Jeśli nie masz tych danych to w łatwy sposób znajdziesz je poznać edytując plik wp-config.php. Następnie wystarczy, że upewnisz się że jesteś wewnątrz bazy danych, klikniesz z menu górnego Eksport, wybierzesz szybką metodę eksportu i wskażesz miejsce, gdzie ma zostać zapisany plik .sql (najlepiej zapisać go w tym samym katalogu, w którym przed chwilą zrobiłeś kopię zapasową plików aby Ci się nic nie pomieszało).

To wszystko. Udało Ci się wykonać kopię całej witryny. Możesz teraz śmiało przystąpić do wykonywania aktualizacji.

Alternatywne metody wykonania kopii zapasowej

Jeśli wykonałeś ręcznie pełną kopię zapasową (jesteś pewien że wszystkie pliki zostały przetransferowane z serwera, a także pamiętałeś o zrobieniu kopii zapasowej bazy danych), wtedy nie musisz czytać poniższego akapitu i możesz przejść do drugiego kroku. Jeśli jednak chcesz się dowiedzieć jak funkcjonują wtyczki wykonujące kopie zapasową, na czym polega automatyzacja procesu backupu oraz na jakie zagrożenia trzeba uważać – poniżej znajdziesz ich krótki przegląd:

Najpopularniejsza wtyczka do backupu nastawiona bardziej na kopiowanie serwisu do innej lokalizacji. W wersji darmowej pozwala nie tylko na zrobienie kopii zapasowej ale na dość łatwe zduplikowanie serwisu w innym miejscu tak aby na bazie jednej instalacji WordPressa uruchomić bliźniaczą instalację i stworzyć drugą stronę. Wersja płatna pozwala na planowanie wykonywania kopii zapasowych oraz zapisywanie ich na Dropboxie, FTP, Google Drive lub Amazon S3.

Tak wykonuje się kopię zapasową plików oraz bazy (w jednej paczce):

Zdecydowanie bardziej zaawansowane narzędzie. Pozwala na zrobienie kopii zapasowej, przywrócenie kopii oraz wykonanie klonu witryny w celu migracji na inny serwer. Kopie można pobrać na dysk jak również połączyć wtyczkę z kontem zdalnego przechowywania (Dropboxem, Google Drive, FTP, Email i innymi). Pozwala również na cykliczne planowanie kopii zapasowej, a to wszystko w wersji darmowej.

Podobnie rozbudowana jak UpdraftPlus ale nieco mniej intuicyjna. Pozwala na cykliczne (Schedule) ustawienie automatycznych kopii.

Najprostsza wtyczka do Backupu z jaką miałem styczność. Niestety wersja darmowa jest bardzo okrojona: cykliczne ustawianie kopii zapasowych, zapis do chmury są możliwe po wykupieniu płatnej wersji.

Próbowałem na swojej testowej instalacji WP pobrać plik .sgbp (plik z kopią zapasową), niestety bezskutecznie. Z tego co się zorientowałem w momencie kiedy to się powiedzie to należy pobrać dodatkowy program na Windows lub Maca który pozwoli rozpakować to specyficzne archiwum. Osobiście to rozwiązanie mnie nie przekonuje ale wtyczkę postanowiłem zaprezentować ze względu na najmniejszy stopień przekombinowania – przynajmniej na samym początku podczas robienia kopii zapasowej.

Jeśli postanowisz używać wtyczek, pamiętaj o tym aby ustawić ograniczoną ilość kopii zapasowych. Średnio co kilka miesięcy zdarza mi się natrafić na stronę, która zawiera tak dużo kopii zapasowych, że w ciągu kilku miesięcy na hostingu zaczyna brakować miejsca. Szkoda w takich sytuacjach tracić pieniądze i powiększać pakiet hostingowy skoro można zoptymalizować funkcjonowanie wtyczki do Backupu do 2-3 kopii, a resztę usunąć z serwera.

Krok 2: Harmonogram aktualizacji

Kiedy już upewnisz się, że zrobiłeś kopię zapasową swojej strony (plików z serwera oraz bazy danych), możesz przystąpić do wykonania aktualizacji.

Przejdź do sekcji Kokpit -> Aktualizacje i zwróć uwagę jakie elementy masz do zaktualizowania. Aktualizuj je w kolejności podanej na poniższym zrzucie ekranu (w czerwonych kółkach):

Skoro punkt pierwszy masz już za sobą – możesz przejść do aktualizacji wtyczek.

Krok 3: Wykonujemy aktualizację wtyczek

Są różne szkoły aktualizowania wtyczek. Wiele zależy od tego jak długą miałeś przerwę od ostatniego update’u. Jeśli robisz porządek ze swoją stroną po kilku latach od jej założenia i nigdy nie wykonywałeś aktualizacji, proponuję byś po kopii zapasowej aktualizował jedną wtyczkę po drugiej obserwując czy poszczególne funkcjonalności na stronie działają po aktualizacji np. czy po aktualizacji wtyczki Contact Form 7 formularz kontaktowy wyświetla się poprawnie i czy wysyła w dalszym ciągu wiadomości itp.

Wykonywanie aktualizacji wtyczek po kolei pozwoli Ci także zorientować się, że np. zaktualizowana wtyczka wyłączyła wyświetlanie strony. Nie zdarza się to często ale może tak się stać. Tak czy inaczej – klikając „uruchom aktualizację” raz za razem będziesz wiedzieć kto jest „winowajcą”. W kroku 6 powiem jak włączyć wyświetlanie strony po takiej awarii.

Skoro już znasz teorię czas przejść do praktyki. Przejdź do sekcji Wtyczki -> Zainstalowane wtyczki i klikaj każdorazowo na „uruchom aktualizację”:

Aby wrócić do poprzedniej wersji najłatwiej połącz się ze stroną przy pomocy Klienta FTP a następnie przejdź do katalogu /wp-content/plugins/ i podmień katalog ze skonfliktowaną wtyczką (np. zmieniając nazwę niedziałającej i umieszczając katalog starszej wtyczki z Twojej kopii zapasowej).

Gdybyś potrzebował zweryfikować która wersja wtyczki będzie kompatybilna z Twoimi ustawieniami strony, najprostszym rozwiązaniem jest instalacja pluginu WP Rollback i w sekcji Wtyczki -> Zainstalowane wtyczki wybór Rollback przy konkretnej wtyczce. Pozwoli to na dokonanie wyboru instalacji dowolnej archiwalnej lub nowszej wersji wtyczki i przetestowanie jej w naturalnym środowisku Twojej witryny.

Krok 4: Wykonujemy aktualizację motywu

Stop! Zanim zrobisz cokolwiek przeczytaj uważnie poniższą informację.

Istnieje konkretny sposób modyfikowania motywów polegający na przygotowaniu tak zwanego Child Theme i wprowadzaniu modyfikacji we przygotowanym w ten sposób motywie. Jeśli w sekcji Wygląd -> Motywy znajdziesz Child Theme, wtedy najprawdopodobniej aktualizacja motywu nie spowoduje, że modyfikacje wprowadzone na witrynie znikną. W przeciwnym wypadku NIE AKTUALIZUJ SAMODZIELNIE MOTYWU, a z pewnością nie rób tego nie zrobiwszy wcześniejszej pełnej kopii zapasowej, bo możesz stracić wszystkie modyfikacje wyglądu Twojej witryny.

Jeśli jednak posiadasz Child Theme i motyw potomny, zrobiłeś kopię zapasową plików oraz bazy danych i chcesz spróbować – zaktualizuj motyw potomny (bez Child Theme w nazwie). W niektórych przypadkach jest to konieczne zanim wykonasz aktualizację silnika WordPressa, ponieważ aktualna wersja motywu naprawia błędy, które mogłyby się pojawić, gdybyś zaktualizował WP przed aktualizacją motywu.

Ponieważ na mojej testowej witrynie nie posiadałem Child Theme, dlatego nie wykonałem aktualizacji. Jeśli u Ciebie jest podobnie – proponuję, żebyś się z nią wstrzymał.

Krok 5: Wykonujemy aktualizację WordPressa

Jeśli zaktualizowałeś wszystkie wtyczki i używany motyw to z pewnością został Ci silnik WordPressa. Aktualizacja nie jest skomplikowana i wymaga wciśnięcia jednego przycisku, a WordPress wszystko zrobi za Ciebie. Po aktualizacji oczywiście konieczne jest sprawdzenie czy witryna działa i jak zachowują się poszczególne funkcjonalności.

Krok 6: Naprawiamy witrynę zepsutą w wyniku aktualizacji

Najczęstszymi problemami wynikającymi z aktualizacji jest konflikt starszej wtyczki z nową wersją WordPressa. Wtyczka może nie być gotowa pod nowe rozwiązania zastosowane w WP przez co może przestać działać. Gorzej jeśli przeszkodzi w korzystaniu z innych wtyczek.

Wtyczka blokująca wyświetlanie widgetów

Kilkanaście dni temu klient zgłosił mi problem z wyświetlaniem wszystkich Widgetów. Wszedłem więc na stronę i okazało się, że lista dostępnych widgetów wygląda w następujący sposób:

Jedno spojrzenie wystarczyło, żeby znaleźć głównego podejrzanego. Ponieważ strona z widgetami wczytywana jest do góry do dołu i od lewej do prawej, a przestała się wczytywać na Facebook Page Like Widget to najprawdopodobniej to jest wtyczka, która powoduje tutaj konflikt. Jak się okazało, klient zaktualizował WordPressa, jednak wtyczki zostawił niezaktualizowane. Facebooku Page Like Widget nie był przygotowany pod nową wersję WP i dlatego przeszkodził we wczytaniu listy wszystkich widgetów. Po aktualizacji wtyczki wszystko wróciło do normy. Błędem był tu brak aktualizowania poszczególnych elementów witryny według proponowanej w harmonogramie kolejności.

Biała strona i błąd PHP

Niekiedy bywa tak, że strona internetowa przestanie się wyświetlać. Wtedy warto wczytać się w komunikat podawany na tejże stronie. Przykładowo może to być:

Parse error: syntax error, unexpected ‚}’ in /public_html/wp-content/plugins/basic-plugin/basic-plugin.php on line 50

Informacja jest podana w jasny i przejrzysty sposób, jednak język angielski może niektórych odstraszyć. W wolnym tłumaczeniu komunikat o błędzie mówi o tym, że w linijce 50 wtyczki Basic Plugin pojawił się nieoczekiwany znak „}”. Warto go zlikwidować aby wtyczka zaczęła działać (jeśli znasz podstawy PHP oraz wiesz gdzie szukać).

Jeśli nie czujesz się na siłach edytować kod PHP wtyczek, możesz ją w łatwy sposób wyłączyć. Na początku sprawdź w komunikacie błędu o jaką wtyczkę chodzi, a następnie przejdź do klienta FTP, wejdź do katalogu /wp-content/plugins/ i wyłącz wtyczkę zmieniając nazwę jej katalogu:

Życzę Ci dużo wytrwałości w regularnym aktualizowaniu swojej witryny oraz jak najmniej problemów związanych z update’ami.

UDOSTĘPNIJ