Automatyczne aktualizacje wtyczek WordPress

Czy dzięki automatycznym aktualizacjom wtyczek WordPress nie musisz się martwić?

Automatyczne aktualizacje dla mniejszych wersji WordPress sprawdzają się od lat. Ale czy działa to także w przypadku aktualizacji wtyczek? A jeśli tak, to na jakich warunkach? Florian Simeth, programista WordPress, postanowił sprawdzić to zagadnienie.

Każdy, kto używa WordPress od jakiegoś czasu, wie, że automatyczne aktualizacje głównego oprogramowania działają całkiem dobrze i zazwyczaj bez problemów. Natomiast myśl o automatycznych aktualizacjach wtyczek sprawia, że większości użytkowników stron internetowych stają włosy na karku. Każdy, kto kiedykolwiek zacisnął zęby przed kliknięciem przycisku „aktualizuj”, wie, o czym mówię.

Nie ma fundamentalnej pewności, że aktualizacja przebiegnie prawidłowo. Nawet jeśli sama aktualizacja nie zawiedzie, ale błędy czają się gdzieś — niewidocznie — pod powierzchnią. Większość pytanych przeze mnie kolegów nie przeprowadza automatycznych aktualizacji wtyczek, przynajmniej nie dla wszystkich wtyczek WordPress. Ale dlaczego tak się dzieje?

Automatyczne aktualizacje wtyczek: Zagrożenia

Setki osób dobrowolnie przyczyniają się do powstawania nowych wersji WordPress. Jednak nie każdy projekt wtyczki ma taką potęgę. Większość darmowych wtyczek w katalogu wtyczek WordPress jest tworzona przez jedną osobę (lub mały zespół). Nie oznacza to, że te wtyczki są złe same w sobie. Wiemy jednak z doświadczeń, że to głównie wtyczki otwierają luki w zabezpieczeniach i w ten sposób własna instancja WordPress staje się powierzchnią ataku dla hakerów.

Można więc założyć, że jakość kodu jest niska lub nie jest on wystarczająco przetestowany. Nie chciałbym dłużej wyjaśniać, dlaczego tak się dzieje. Ale to tłumaczy, dlaczego szybko klikam przycisk aktualizacji dla dobrze znanych wtyczek, takich jak YoastSEO, a dla innych nie.

”Ogólnie rzecz biorąc, rozpoznajesz problematyczne przypadki, ponieważ już wcześniej coś poszło nie tak" - napisał w wywiadzie mailowym twórca WordPress, Marc Nilius. Według jego własnych informacji obecnie utrzymuje on około 200 instancji WordPress i zna swoich „przyjaciół” aż za dobrze.

Teraz Yoast ma z pewnością duży zespół, który stoi za swoją darmową wtyczką YoastSEO, która jest aktywna na ponad pięciu milionach witryn WordPress. W przypadku flagowego okrętu firmy, robią oni wszystko, aby nic nie poszło źle. To wiąże się z wysiłkiem. Wysiłkiem, którego sam programista może nie być w stanie lub nie chcieć podjąć. Co więc można zrobić?

Sposoby minimalizowania ryzyka związanego z wtyczkami

1. Nie używaj starych wtyczek

„Demokratyzacja publikowania” jest zasadą przewodnią WordPress. Fakt, że każdy może szybko założyć stronę w WordPressie, jest genialny, ale automatycznie prowadzi do tego, że te osoby chcą w pewnym momencie rozbudować stronę. I robią to za pomocą wtyczek. Ponieważ zazwyczaj nie potrafią sami programować, szukają w czeluściach WorldWideWeb środków zaradczych. A jest ich mnóstwo. 

Obecnie w samym katalogu wtyczek WordPress znajduje się prawie 55 000 rozszerzeń. Używane jest to, co działa. Nie zwracając uwagi na to, czy dana wtyczka jest dalej rozwijana lub czy jest kompatybilna z aktualną wersją WordPressa. Nie zawsze jest to właściwe i w końcu często prowadzi do nabrania zdrowej nieufności wobec aktualizacji. Ponieważ często takie wtyczki w pewnym momencie przestają działać. Nawet jeśli może to potrwać kilka lat.

Wybierz wtyczki WordPress

Czy chcesz prawidłowo ocenić jakość wtyczek do WordPress? Przeczytaj artykuł Wtyczki do WordPress: 13 wskazówek, jak dokonać właściwego wyboru. Dowiesz się z niego również, co możesz zrobić, jeśli pojawią się problemy.

Oczywiście, są też pozytywne przykłady. Na przykład WooSidebars jest wspierane przez wielką firmę. Mimo to wtyczka WooCommerce przez długi czas nie otrzymywała żadnych aktualizacji. Nie została przetestowana z najnowszymi wersjami WordPressa, ale w wielu przypadkach nadal działa doskonale. Jak długo jeszcze? Wcześniejsze komentarze w dziale wsparcia mówiły o tym, że to już koniec. Jednak użytkownicy nic nie zauważyli. Podczas instalacji tylko mała, niepozorna informacja wskazuje na to niedociągnięcie. Niebezpieczna rzecz.

Oczywiście, kiedy zaczynasz karierę blogową, często nie masz pieniędzy na indywidualny rozwój. Dla takich osób czasami nie ma innej alternatywy. Niemniej jednak należy pamiętać, że — ze względu na wspomniane wyżej zagrożenia bezpieczeństwa — nie należy używać przestarzałych wtyczek do WordPress.

Uwaga dotycząca bezpieczeństwa wtyczek WordPress
Uwagi dotyczące przestarzałych wtyczek na wordpress.org

2. Nie dostosowuj samodzielnie wtyczek

Aby zaoszczędzić czas na rozwój, oficjalne i nieoficjalne wtyczki WordPress są często po prostu dostosowywane przez ich twórców. Jeśli numer wersji lub nazwa wtyczki nie zostaną zmienione, WordPress oferuje aktualizację, choć może ona nie zostać przeprowadzona, ponieważ spowodowałaby nadpisanie własnych zmian.

"Własne wtyczki często zbyt mocno zależą od funkcjonalności motywu", Marc również o tym wie. Jeśli coś się zmieni w motywie, wtyczka przestaje działać poprawnie. Pojawia się więc wiele problemów. Jednak robienie wszystkiego samemu od zera, czyli korzystanie tylko z własnych opracowań, również nie jest tutaj realną alternatywą.

3. Nie używaj niewłaściwych wtyczek

Co to jest „niewłaściwa” wtyczka? Na to pytanie nie jest łatwo odpowiedzieć. Szczególnie nie dla laika. Oczywiście można zapytać, czy przeprowadzane są automatyczne testy nowych wersji. Ale kto to robi? Wielu użytkowników WordPress nawet nie wie, że coś takiego jest możliwe. Co więcej, takie testy (jeśli są przeprowadzane) często nie mają nic wspólnego z sytuacją na żywo.

Jest to zrozumiałe z punktu widzenia programistów. Kto testuje każdą wtyczkę z każdym możliwym motywem WordPressa? Albo każdą wtyczkę z każdą inną wtyczką? To niemożliwe. Nie możesz też ufać, że zrobią to ci, którzy tworzą wtyczki do WordPressa.

Również w tym przypadku obowiązuje następująca zasada: czasami nie można używać „niewłaściwych” wtyczek, ponieważ nie zawsze można je rozpoznać. Chociaż ocena jakości jest już pierwszą przeszkodą dla wielu użytkowników, powinieneś przynajmniej aktywnie testować nowe wtyczki, zanim umieścisz je na stronie. Ale o tym więcej za chwilę.

"*" wyświetla wymagane pola

Chcę otrzymywać newsletter, aby być informowanym o nowych artykułach na blogu, e-bookach, funkcjach i nowościach dotyczących WordPress. Mogę wycofać swoją zgodę w dowolnym momencie. Należy zapoznać się z naszą Polityką prywatności.
To pole służy do weryfikacji i nie powinno być zmieniane.

Dlaczego automatyczne aktualizacje wtyczek zawodzą

Faktem jest, że nie możesz po prostu nie używać wtyczek do WordPress. Problemy wymienione powyżej będą istniały zawsze. Trzeba więc znaleźć inne rozwiązanie. Pytanie, które należy zadać, brzmi: "Jak można — mimo wszystkich problemów — nadal przeprowadzać automatyczne aktualizacje wtyczek WordPress?". A to pytanie nieuchronnie prowadzi do następnego: "Co może pójść nie tak?".

Oto kilka możliwości:

  1. PHP-Fatal-Error: Strona nie działa w ogóle z powodu poważnego błędu.
  2. Wtyczka nie działa (już) z innymi wtyczkami i/lub motywem. Objawia się to na różne sposoby:
          a) funkcje nie są już dostępne lub
          b) zmienia się układ we frontend.
  3. Brak wstecznej kompatybilności utrudnia wycofanie się z systemu.
  4. Baza danych jest tak duża, że wykonanie kopii zapasowej zajęłoby bardzo dużo czasu.

Sposoby na udaną aktualizację wtyczek

Rozpoznawanie złych wtyczek

Zacznijmy od użytkownika. Jak mógłby on rozpoznać "złą" wtyczkę? Ponieważ laik nie może sprawdzić, czy kod jest dobrej jakości, musiałby powstać system, który by to robił. Pytanie brzmi: Czy coś takiego by działało? Odpowiedź jest dość oczywista: Tak!

Fajne jest to, że mały zespół WordPress już pracuje nad takim systemem. Nazywa się on Tide. Wizją Tide jest przeprowadzanie automatycznych testów jakości dla wszystkich wtyczek i motywów WordPressa oraz udostępnianie wyników tych testów zarówno autorom, jak i użytkownikom tych wtyczek i motywów.

Przypływ WordPressa
Testowanie jakości za pomocą Tide for WordPress

Narzędzie to nie jest jeszcze gotowe, ale w przyszłości Tide pomoże laikom lepiej rozpoznawać, jakie wtyczki WordPressa właśnie instalują. Do tego czasu musisz trzymać się metadanych wtyczki, które są wyświetlane na stronie wordpress.org w katalogu wtyczek dla każdej z nich:

  1. Data ostatniej aktualizacji. Częste aktualizacje mogą wskazywać na aktywny proces rozwoju. W większości przypadków programiści zajmują się także naprawianiem błędów.
  2. Liczba instalacji. Bardzo wysoka liczba nie tylko wskazuje na popularność, ale może być także wskazówką, że autorzy zarabiają na wtyczce (np. poprzez wersję Pro). Wywołuje to pewną presję ze strony producenta. Z pewnością mają oni interes w tym, aby darmowa wtyczka również działała bez błędów.
  3. "Przetestowane do:" Jest to również tylko numer wersji, który może zostać zmieniony przez producenta w dowolnym momencie bez konieczności potwierdzania go przez osoby trzecie. Jednak aktualny numer wersji wskazuje, że wtyczka jest regularnie aktualizowana.
  4. Wersja PHP. Choć to miło, że programiści wspierają niskie wersje PHP, bezpieczniejsza byłaby wyższa wersja.

Zautomatyzowane testy przeglądarki

Teraz jest to trochę trudniejsze. Szczególnie dla tych, którzy nie mają żadnej wiedzy na temat programowania. Każdy, kto polega na ważnych funkcjach, powinien je regularnie testować - najlepiej automatycznie, oczywiście.

Puppeteer to biblioteka NodeJS, która dostarcza wysokopoziomowego API do kontrolowania przeglądarki Chrome za pomocą protokołu DevTools. Puppeteer domyślnie działa bez głowy, ale można go skonfigurować tak, aby otwierał przeglądarkę, dzięki czemu można obserwować, co się dzieje.

Testy funkcjonalne

Istnieje wiele przypadków użycia takich testów. Jeśli masz sklep internetowy z WooCommerce, możesz sprawdzić, czy produkty nadal można dodawać do koszyka. Albo czy nadal można wysyłać formularze.

Oczywiście, nie wszystkie przypadki mogą zostać uwzględnione. Jednakże mały automatyczny test jest w większości przypadków bardziej skuteczny niż zwykła kontrola wzrokowa. W końcu nie zawsze da się przetestować wszystkie funkcje strony po każdej małej aktualizacji. Szczególnie jeśli jest bardzo obszerny.

Wizualne testy regresji

Nawet "inspekcja wzrokowa" może być zautomatyzowana przy użyciu dzisiejszych środków. Działa to stosunkowo łatwo, na przykład z BackstopJS. Konfiguracja odbywa się szybko za pomocą pliku JSON. Do rozpoczęcia porównania wystarczy test backstopu w konsoli. Na koniec narzędzie otwiera okno przeglądarki i wyświetla różnice.

Ponieważ BackstopJS daje również szczegółowy, czytelny dla maszyn raport z wartością wyróżnienia w procentach, możesz na przykład zostać powiadomiony przez e-mail, gdy nastąpiła znacząca zmiana w układzie.

Rollback

Załóżmy, że wszystkie aktualizacje zostały wykonane, a testy automatyczne nie powiodły się. Co robić? Oczywiście, kopie zapasowe mogą być importowane automatycznie. Ale to działa tylko w trzech przypadkach: 

  1. Jeśli hoster posiada interfejs, za pomocą którego można automatycznie wywołać rollback.
  2. Lub jeśli masz dostęp do SSH.
  3. I jeśli kopia zapasowa jest wystarczająco mała. W przeciwnym razie przywrócenie systemu zajmie w najgorszym wypadku kilka godzin.

Wielu programistów wie aż za dobrze, że większość z tych rzeczy jest często niemożliwa. Albo dostęp do SSH nie jest w ogóle możliwy, albo występują przerwy w dostępie z powodu braku zasobów na serwerze.

Managed WordPress Hosting

W niektórych z tych przypadków zarządzany hosting WordPressa zdejmuje z ciebie wiele pracy. W naszym e-booku 13 zalet zarządzanego hostingu WordPress dowiesz się, jak możesz zaoszczędzić czas na projekty związane z WordPressem i WooCommerce.

Inne rozwiązania?

Oczywiście mój pogląd jest tylko jednym z wielu. Istnieją inne, przeważnie droższe rozwiązania. Na przykład zamiast importować kopię zapasową po zakończeniu pracy, możesz wcześniej wykonać kopię witryny (koncepcja inscenizacji, jak w przypadku Raidboxes, oprócz kopii zapasowych WordPressa) i użyć jej do przeprowadzenia wszystkich możliwych aktualizacji i testów. Jeśli wszystko pójdzie dobrze w testach, aktualizacje mogą zostać zastosowane również w witrynie na żywo. Oczywiście (zazwyczaj) całkowicie automatycznie i bez wzbudzania emocji.

Innym pomysłem byłoby po prostu pozwolić WordPressowi na tworzenie statycznych stron. Wtedy strona byłaby nieco bardziej niezależna od rdzenia. Wtyczki do tego celu istnieją już od ośmiu lat: Na przykład WPStatic. Jednak nie jest to rozwiązanie dla każdego przypadku użycia, a już na pewno nie dla bardzo dynamicznych stron, takich jak sklepy internetowe.

Moje wnioski

Jak to zrobisz, zrobisz to źle, prawda? Nie. Ostatecznie zależy to od twojej strony internetowej, twoich życzeń i oczywiście portfela. Jeśli nie prowadzisz krytycznych witryn i nie przeszkadza ci, że na stronie pojawiają się błędy, dobrze zrobisz, korzystając z automatycznych aktualizacji.

Również w Raidboxes masz możliwość włączenia automatycznych aktualizacji wtyczek i motywów za pomocą dodatku Fully Managed. W ustawieniach skrzynki możesz także wyłączyć z automatycznych aktualizacji poszczególne wtyczki i motywy, z którymi miałeś już problemy.

Jednak automatyczne aktualizacje wtyczek prawdopodobnie i tak przebiegają stosunkowo gładko dla większości małych stron. Osoby posiadające większe strony mają zazwyczaj do dyspozycji więcej środków finansowych, aby podjąć odpowiednie działania. Wszyscy zainteresowani muszą znaleźć swoje własne rozwiązanie.

Twoje pytania dotyczące aktualizacji wtyczek

Czy masz jakieś pytania do Floriana lub dotyczące tego artykułu? Zachęcamy do komentowania. Chcesz być informowany o kolejnych artykułach na temat WordPress i WooCommerce? Obserwuj nas na LinkedInFacebookTwitter lub poprzez nasz Newsletter.

Spodobał Ci się ten artykuł?

Zostawiając opinię pomożesz nam udoskonalać publikowane przez nas treści.

Napisz komentarz

Twój adres e-mail nie zostanie opublikowany. Pola wymagane oznaczone są *.