Beztroska z automatyczną Pluginaktualizacją dla WordPress . Czy to działa?

Florian Simeth Ostatnia aktualizacja w dniu 23.10.2020 r.
8 Min.
Pluginaktualizacje samochodowe
Ostatnia aktualizacja w dniu 23.10.2020 r.

Automatyczne aktualizacje dla mniejszych wersji WordPress sprawdzały się przez lata. Ale czy to też działa z Plugins? To pytanie jest następujące WordPress -W swojej analizie ma również pomocne wskazówki od eksperta ds. bezpieczeństwa i konserwacji Marca Niliusa.Florian Simeth

KażdyWordPress , kto pracuje od dłuższego czasu wie, że automatyczne aktualizacje podstawowego oprogramowania działają całkiem dobrze i zazwyczaj bez problemów. Zazwyczaj myśl o automatycznych Pluginaktualizacjach sprawia, że większość administratorów stron internetowych ma włosy na końcuPlugins. Jeśli kiedykolwiek zacierałeś zęby przed kliknięciem przycisku aktualizacji, wiesz o czym mówię.

Nigdy tak naprawdę nie wiadomo na pewno, czy aktualizacje przejdą prawidłowo. Nawet jeśli sama aktualizacja wcale nie zawodzi, ale błędy czają się gdzieś - nieoczywiste - pod ziemią. Większość kolegów, z którymi rozmawiałem, nie wykonywałaby automatycznych Pluginaktualizacji, a przynajmniej nie dla wszystkichPlugins. Ale dlaczego tak jest naprawdę?

Kiedy automatyczne Pluginaktualizacje niosą ze sobą ryzyko

Do wersji 5.3 z WordPress Udział wzięło 658 wolontariuszy. Ten mężczyzna (i kobieta) nie ma całej władzy... Plugin-Projekt. W przeważającej mierze większa część wolnych Plugins na stronie WordPress -Plugin-katalog jest tworzony tylko przez jedną osobę (a może mały zespół). To nie znaczy, że te Plugins są złe same w sobie. Ale wiemy z wcześniejszych doświadczeń, że to zwykle ci, Pluginsktórzy otwierają dziury w zabezpieczeniach a własna WordPress instancja staje się celem dla hakerów.

Można zatem założyć, że jakość kodu cierpi lub nie jest wystarczająco sprawdzona. Dlaczego tak jest, nie będę już dłużej tłumaczył. Ale to wyjaśnia, dlaczego klikamy na przycisk aktualizacji dla znanych, takich Pluginsjak YoastSEO, a nie dla innych.

"Zasadniczo, oczywiście, można rozpoznać problematyczne przypadki po tym, że coś już wcześniej poszło nie tak", napisał mi. Marc Nilius w e-mailowym wywiadzie. Według jego własnych oświadczeń, obecnie czeka na niego około 200 WordPress -i zna jego "pappenheimer" tylko za dobrze. Teraz Yoast z pewnością ma duży zespół za swoim własnym darmowym YoastSEOPlugin, który szacuje się na ponad pięć milionów WordPress-strony są aktywne. Dla szefa firmy robi wszystko, aby upewnić się, że nic nie pójdzie źle. Jest to związane z wysiłkiem. Wysiłek, którego sam deweloper może nie być w stanie lub nie być skłonny podjąć. Więc co robić?

Możliwości minimalizacji ryzyka poprzezPlugins

1. nie Pluginsużywać starych

"Demokratyzujące Wydawnictwo" jest wskazówką przewodnią dla WordPress . Że każdy może po prostu szybko dostać WordPress -strona jest genialna, ale automatycznie prowadzi do tego, że ci ludzie w pewnym momencie chcą ją rozwinąć. Z Plugins. Ponieważ zwykle nie mogą się zaprogramować, szukają lekarstwa w wiecznym WorldWideWeb. I jest ich mnóstwo. 

Obecnie tylko w Plugin-katalog prawie 55,000 rozszerzeń. Cokolwiek działa, jest używane. Nie zwracając uwagi na to, czy Plugin lub czy jest on zgodny z aktualną WordPress wersją. Nie zawsze jest to poprawne i ostatecznie często prowadzi do zdrowej nieufności wobec aktualizacji. W końcu, aktualizacje często w pewnym Pluginsmomencie przestają działać. Chociaż może to potrwać kilka lat.

Oczywiście są też pozytywne przykłady. Za WooSidebars na przykład, jest ogromną firmą. Jednak od roku Pluginnie otrzymywał żadnych aktualizacji. Nie został on przetestowany z najnowszymi WordPress wersjami, ale w wielu przypadkach nadal działa doskonale. Jak długo jeszcze? pierwsze uwagi na temat obszaru wsparcia już wskazują na koniec tam. Ale użytkownik niczego nie zauważa. Podczas instalacji problem ten jest sygnalizowany tylko niewielką, niepozorną uwagą. Niebezpieczna rzecz.

woosidebary

Oczywiście, na początku swojej kariery blogowej często nie masz pieniędzy na indywidualny rozwój. Dla tych ludzi nie ma innej alternatywy. Niemniej jednak należy pamiętać, że ze względu na wspomniane wyżej zagrożenia dla bezpieczeństwa należy stosować możliwie jak najmniej (starych) Pluginsśrodków.

2. Pluginsnie dostosuj się

Aby zaoszczędzić czas na rozwój, oficjalne i nieoficjalne Plugins często po prostu zaadaptowane przez własnych programistów. Jeśli numer wersji lub nazwa Plugins nie ulega zmianie, oferuje WordPress aktualizację, choć nie wolno tego robić, ponieważ w przeciwnym razie nadpisałby on własne zmiany.

"Dostosowane Pluginsczęsto za bardzo zależą od Themefunkcjonalności", Marc też wie. Jeśli coś się zmieni w Themeto też się Pluginnie uda. Więc jest wiele problemów. Robienie wszystkiego od podstaw samemu, tzn. korzystanie tylko z własnego rozwoju, również tutaj nie jest realną alternatywą.

3. nie używaj złychPlugins

Co jest "złe" Plugin? Na to pytanie nie jest łatwo odpowiedzieć. Zwłaszcza nie w kategoriach laickich. Oczywiście można zapytać operatorów, czy automatyczne testy nowych wersji są przeprowadzane. Ale kto to robi? Wielu WordPress użytkowników nawet nie wie, że to jest możliwe. Ponadto, takie testy (jeśli są wykonywane) często nie mają nic wspólnego z sytuacjami na żywo. Co jest zrozumiałe z punktu widzenia dewelopera. Kto testuje każdy Plugin ze wszystkimiTheme? Albo jakikolwiek Plugin z kimkolwiek innym Plugin? Nie mogę tego zrobić. Nie można też ufać deweloperom, że to zrobią.

Więc tutaj też, "zły" Plugins nie używać nie jest też prawdziwą alternatywą. Chociaż ocena jakości jest już pierwszą przeszkodą dla wielu użytkowników, nowe Plugins przynajmniej aktywnie przetestujcie go sami przed umieszczeniem go na żywo. Ale więcej o tym za chwilę. 

Dlaczego automatyczne aktualizacje zawodzą

Faktem jest, że... WordPress -Plugins a nie po prostu nie używać. Wyżej wymienione problemy będą istniały zawsze. Więc trzeba znaleźć inne rozwiązanie. Tak więc pytanie, które należy zadać brzmi: "Jak możesz - pomimo wszystkich problemów - nadal wykonywać automatyczne aktualizacje dla WordPress -Plugins? I to pytanie nieuchronnie prowadzi do następnego: "Co mogłoby się nie udać?"

Oto kilka możliwości:

  1. Błąd śmiertelny PHP: Strona w ogóle nie działa z powodu poważnego błędu.
  2. To Pluginnie działa (już) z innymi Pluginsi/lub Theme. Objawia się to w różnych rzeczach:
          a) funkcje nie są już dostępne; lub
          b) zmiana układu w froncie.
  3. Brak kompatybilności wstecznej utrudnia cofanie się do tyłu.
  4. Baza danych jest tak duża, że załadowanie kopii zapasowej zajęłoby bardzo dużo czasu.

Rozwiązania zapewniające sukces - PluginAktualizacje

Rozpoznawać Pluginste złe

Zacznijmy od użytkownika. Jak mogliby Pluginrozpoznać "złego"? Ponieważ laik nie może sprawdzić, czy jakość kodu jest dobra, trzeba by stworzyć system, który mógłby to zrobić. Pytanie brzmi: Czy coś takiego mogłoby zadziałać? A odpowiedź jest całkiem jasna: Tak!

Miło z tego powodu, że mały WordPress zespół już pracuje nad takim systemem. Nazywa się Tide. Tides vision polega na udostępnieniu wszystkim WordPress utomatyzowanych testów jakości Plugins i Themes oraz udostępnienie wyników tych testów zarówno autorom, jak i użytkownikom końcowym tych testów Plugins oraz Themes żeby było to widoczne.

Nie jest jeszcze ukończony, ale w przyszłości Tide pomoże świeckim lepiej zrozumieć, jaki sprzęt Pluginsinstalują. Do tego czasu, musisz Plugin-Trzymaj metadane, które są ustawione w wordpress.orgPlugin-katalog dla każdego z osobna Plugin są wyświetlane:

Plugin meta
  1. Data ostatniej aktualizacji. Częste aktualizacje mogą wskazywać na aktywny proces rozwoju. W większości przypadków programiści zajmują się wtedy również usuwaniem błędów.
  2. Liczba instalacji. Bardzo wysoka liczba wskazuje nie tylko na popularność, ale może być również wskazówką, że autorzy pracują z Plugin Zarabiać pieniądze (np. poprzez wersję pro). Stwarza to pewną presję ze strony producenta. Na pewno ma interes w tym, że wolne Plugin działa bezbłędnie.
  3. Testowane do czasu. Jest to również tylko numer wersji, który może być w każdej chwili zmieniony przez dewelopera bez konieczności udowadniania go przez osobę trzecią. Jednak aktualny numer wersji wskazuje, że autorzy regularnie go Pluginaktualizują.
  4. Wersja PHP. Chociaż to miłe, że programiści nadal obsługują niskie numery wersji PHP, to wyższa wersja byłaby bezpieczniejsza. PHP w wersji 5.6.x nie otrzymał aktualizacji zabezpieczeń od końca 2018 roku. Obecnie 7.4 jest aktualną wersją. Będzie otrzymywać aktualizacje zabezpieczeń do grudnia 2022 roku.
Dobre i bezpieczne rozpoznPlugins anie

W celu uzyskania dalszej pomocy, jak ocenić jakość WordPress -Plugins wystarczy spojrzeć na nasz artykuł "13 Wskazówki dotyczące prawidłowego Plugindoboru" od Torsten Landsiedelteraz.

Zautomatyzowane testy przeglądarek

Teraz robi się trochę trudniej. Szczególnie dla WordPress użytkownika, który nie posiada żadnej wiedzy z zakresu programowania. Jeśli zależy Ci na ważnych funkcjach, powinieneś je regularnie testować - oczywiście najlepiej automatycznie.

smoła lalkowa to biblioteka NodeJS zapewniająca wysokopoziomowe API do sterowania przeglądarką Chrome za pomocą protokołu DevTools. Lalkarka działa domyślnie bezgłowo, ale można ją skonfigurować tak, aby otwierała przeglądarkę, dzięki czemu można obserwować, co się dzieje.

Testy funkcjonalne

Istnieje wiele przypadków użycia do takich testów. Operatorzy sklepów mogą sprawdzić, czy produkty mogą być nadal umieszczane w koszyku. Albo czy można jeszcze wysyłać formularze.

Oczywiście, nie wszystkie przypadki mogą być uwzględnione. Jednak mały test automatyczny jest w większości przypadków bardziej skuteczny niż zwykła kontrola wzrokowa. Przecież nie zawsze jest możliwe przetestowanie wszystkich funkcji strony po każdej małej aktualizacji. Zwłaszcza jeśli jest to bardzo obszerne.

Testy regresji wizualnej

Nawet "kontrola wzrokowa" może być już zautomatyzowana za pomocą aktualnych środków. To działa stosunkowo łatwo, na przykład z BackstopJS. Konfiguracja jest wykonywana szybko za pomocą pliku JSON. Do rozpoczęcia porównywania wystarczy test backstop w konsoli. Na koniec narzędzie otwiera okno przeglądarki i pokazuje różnice:

testowanie regresji wizualnej

Test regresji wizualnej z BackstopJS: Przycisk zakupu zniknął po Pluginaktualizacji na mojej stronie.

Ponieważ BackstopJS dostarcza również szczegółowy, możliwy do odczytania przez maszynę raport z różnicą w procentach, możesz na przykład zostać poinformowany przez e-mail, jeśli nastąpiła znacząca zmiana w układzie.

Rollback

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

  1. Jeśli hoster posiada interfejs, który może automatycznie wyzwolić cofanie się.
  2. Albo jeśli masz Dostęp do SSH Ma.
  3. A jeśli kopia zapasowa jest wystarczająco mała. W przeciwnym razie, w najgorszym przypadku, proces przywracania będzie trwał kilka godzin.

Wielu programistów wie zbyt dobrze, że większość z nich jest często niemożliwa. Albo w ogóle nie ma dostępu do SSH, albo z powodu braku zasobów na serwerze występują timeouty.

Zalety aktualizacji automatycznych (Auto-Updates)

Automatyczne aktualizacje przynoszą również znaczne korzyści. Zwłaszcza jeśli zarządzasz kilkoma WordPress stronami, zaoszczędzisz dużo czasu. Kolejny plus: W przypadku luk w zabezpieczeniach, zostaną one zaktualizowane Plugin automatycznie, gdy tylko bezpieczna aktualizacja będzie dostępna. Dalsze zalety automatycznych aktualizacji mogą być następujące w naszym nowym e-booku.

Inne rozwiązania?

Oczywiście, mój pogląd jest tylko jednym z wielu. Istnieją inne, zazwyczaj droższe rozwiązania. Na przykład, zamiast robić kopię zapasową później, można zrobić kopię strony przed (Staging-Koncepcja), a tym samym przeprowadzić wszelkie możliwe aktualizacje i testy. Jeśli podczas testu wszystko pójdzie dobrze, aktualizacje mogą być również instalowane na stronie na żywo. Wtedy oczywiście (najczęściej) całkowicie automatycznie i bez uniesionych włosów na szyi.

Innym pomysłem byłoby po prostu stworzenie statycznych stron przezWordPress . Wówczas strona ta byłaby nieco bardziej niezależna od rzeczywistego rdzenia. Pluginsw tym celu istnieje już od ośmiu lat: Na przykład. WPStatic. Ale znowu, to nie działa dla wszystkich. Zwłaszcza nie dla bardzo dynamicznych stron, takich jak sklepy internetowe.

Wniosek

Jak ty to robisz, robisz to źle, prawda? Nie! W końcu to zależy od Twojej własnej strony internetowej, Twoich własnych życzeń i oczywiście Twojego portfela. Jeśli nie prowadzisz krytycznych stron i to dobrze, że strona rzuca błędami, instalujesz Automatyczna aktualizacjaPlugin

RAIDBOXES Rozmawiał pan również z FULLY MANAGED Dodaj możliwość aktywacji automatycznej Plugin- i Themeaktualizacji. W ustawieniach Twojego BOXdodatku możesz włączyć również pojedyncze Pluginsi Themes, z którymi już miałeś problemy, Wyłączyć z automatycznych aktualizacji

Prawdopodobnie automatyczne Pluginaktualizacje dla większości małych stron i tak będą stosunkowo łatwe. Jeśli masz większe strony, możesz mieć większą portmonetkę, aby podjąć odpowiednie działania. Każdy w międzyczasie musi znaleźć swoje własne rozwiązanie.

Florian Simeth jest dyplomowanym inżynierem (FH) technologii medialnej i informatycznej, a od 2012 roku pasjonatem WordPress deweloper. Poza wsparciem ze strony jego WordPress plugins pisze online i offline dla takich mediów jak PHP i WordPress magazyn.

Artykuły pokrewne

Komentarze do tego artykułu

Napisz komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola oznaczone są * Zaznaczone.