Koszmary związane z aktualizacją wtyczki WordPress (moja własna historia) i rozwiązania

Opublikowany: 2022-09-15
Spis treści ukryj
1. Wszystko szło dobrze…
2. Coś się zepsuło…
3. Biznes w niebezpieczeństwie…
4. Kto jest winny?
5. Co za wstyd…
6. Wyciągnięta lekcja…
7. Zaktualizuj dylemat: być albo nie być?
8. Kompletny przewodnik po aktualizacji WordPressa – rdzeń, wtyczki i motywy
9. Podziel się swoimi historiami / najlepszymi praktykami…

Oto moja własna – koszmarna – historia aktualizacji WordPressa – i wyciągnięte wnioski. Pod koniec zamieściłem też kilka wskazówek, więc nie wpadnij w taką sytuację jak my!

Wszystko szło dobrze…

Być może wiesz, że mamy firmę zajmującą się analizą e-commerce – Putler. Używamy rozszerzenia WooCommerce i Subskrypcje wraz z wieloma innymi wtyczkami, aby uruchomić jego backend. Używamy naszej własnej wtyczki, która synchronizuje dane WooCommerce z Putlerem, więc otrzymuję wszystkie zaawansowane raporty w Putler.

Zbudowałem stronę Putlera jakieś trzy lata temu, potem zaktualizowałem ją 3-4 razy i wszystko działało bezproblemowo. Na razie w porządku.

Coś się zepsuło…

Coś się zepsuło...

Pewnego dnia klient powiedział , że nie jest w stanie zalogować się do Putlera, pomimo aktywnej subskrypcji.

Choć brzmiało to dziwnie, rzeczywiście tak było. Jego subskrypcja PayPal była aktywna, otrzymywaliśmy miesięczne płatności, ale w WooCommerce jego subskrypcja wyświetlała się jako „płatność nie otrzymana” / „oczekująca na anulowanie”.

Nie mogliśmy znaleźć konkretnego powodu, aby tak się stało, więc określiliśmy to jako wyjątek i ręcznie oznaczyliśmy jego subskrypcję jako „aktywną”.

Kilka dni później inny abonent zgłosił podobny problem. Poprawiliśmy to również ręcznie i poprosiliśmy naszego administratora serwera, aby sprawdził wszelkie problemy na serwerze.

Administrator serwera powiedział, że wszystko jest w porządku. Otrzymywaliśmy płatności w porządku, większość subskrypcji wyświetlała się jako aktywna w ramach WooCommerce. Wzruszyłem więc ramionami i odrzuciłem to jako „tymczasowy” problem.

Biznes w niebezpieczeństwie…

Tydzień później, gdy przeglądałem miesięczne dane o przychodach, dotarło do mnie, że nasze miesięczne przychody spadły o 20% . To nietypowe jak na cykliczny biznes, więc zacząłem uważnie przyglądać się zamówieniom.

Okazało się, że przez ostatnie dwa tygodnie wiele powtarzających się zamówień nie zostało zrealizowanych. PayPal wysyłał powiadomienia o pomyślnym otrzymaniu płatności, ale nie udało im się połączyć z rzeczywistymi subskrypcjami w systemie. W końcu te subskrypcje zostały anulowane z powodu zaległych płatności.

Dużym problemem jest automatyczne anulowanie subskrypcji. Jeśli tego nie znajdziemy i nie naprawimy, stracimy wszystkie interesy, ponieważ system anuluje każdą subskrypcję w odpowiednim czasie.

Byliśmy w ogniu.

Byliśmy w ogniu!

Kto jest winny?

Natychmiast usunęliśmy winę za wtyczkę Subskrypcje . Zaktualizowaliśmy go kilka dni temu i myśleliśmy, że nowa wersja go psuje. Rozpoczęliśmy szeroko zakrojone debugowanie i przeszliśmy przez logi błędów PHP, logi WooCommerce, logi IPN i inne. Mogliśmy dotrzeć do dokładnej funkcji, przy której to się zepsuło. Za każdym razem, gdy otrzymano powiadomienie PayPal, przetwarzanie przebiegało dobrze do pewnego momentu, a potem wszystko ucichło.

Byłem wściekły. Zacząłem przeklinać wtyczkę Subskrypcja i Brent. Brent Shepherd z Prospress – twórca wtyczki Subskrypcje – jest właściwie dobrym przyjacielem, dlatego obwinianie go było łatwe!

Potem pomyślałem o skorzystaniu z jego pomocy – w końcu jest przyjacielem. Dopadłem więc Gabora Javorszky'ego (z Prospress) na Slacku i opisał nasz problem. Powiedział, że problemy z PayPalem są powszechne i poprosił mnie o przesłanie wszystkich dzienników. Zasugerował również, że problem może spowodować inna wtyczka.

Minęły już dwa tygodnie od otrzymania pierwszej reklamacji i prawie miesiąc od początku problemu. Eskalowałem sprawę do najwyższego priorytetu i poprosiłem o szczegółowy audyt wszystkiego.

Dwa dni później znaleźliśmy prawdziwego winowajcę.

Jaka szkoda…

Była to wtyczka WooCommerce Putler Connector. Jedna z naszych własnych wtyczek.

Wstyd!!

W rzeczywistości ostatnia aktualizacja wtyczki konektora rozwiązała dokładnie ten problem. Nie aktualizowaliśmy do najnowszej wersji na naszej własnej stronie!

To był większy wstyd!!

Wyciągnięta lekcja…

Straciliśmy sporą część przychodów, dwa tygodnie czasu i wielu płacących klientów tylko dlatego, że przegapiliśmy aktualizację wtyczki . A gdybyśmy nie mogli rozwiązać problemu wcześniej, szkody byłyby poważne.

Tak, wszyscy mieliśmy przypadki, w których sprawy potoczyły się źle zaraz po aktualizacji rdzenia WordPressa, wtyczek lub motywu. Widzieliśmy „biały ekran śmierci”. Po przeprowadzeniu aktualizacji napotkaliśmy kryzys na aktywnych stronach internetowych.

Ale to nie znaczy, że możemy opuścić nasze strony bez aktualizacji.

I tak, nie wyciągaj pochopnych wniosków! (Przepraszam Brent!)

Dylemat aktualizacji: być albo nie być?

Przeprowadzanie aktualizacji na swojej aktywnej stronie może być niebezpieczne. Brak aktualizacji witryny może być równie – jeśli nie bardziej – niebezpieczny. Więc co robisz?

Aktualizować czy nie aktualizować?

Najpierw podsumujmy, dlaczego powinniśmy aktualizować naszą witrynę…

  • Aktualizacje bezpieczeństwa – jasne, nie chcemy dać się zhakować
  • Poprawki błędów, aktualizacje kompatybilności – my też ich potrzebujemy
  • Nowe funkcje – mogą być bardzo pomocne, mogą zaoszczędzić czas
  • Wsparcie – większość wtyczek premium zapewnia wsparcie tylko dla płatnych użytkowników

Przyjrzyjmy się teraz, dlaczego nie aktualizujemy naszych witryn:

  • Częste aktualizacje – niektóre lub inne rzeczy są zawsze aktualizowane!
  • Brak czasu – zajęty innymi obowiązkami, aktualizacja wielu witryn może być bardzo czasochłonna
  • Ryzyko, że aktualizacja zepsuje witrynę – duża aktualizacja z pewnością będzie wymagała przetestowania przed uruchomieniem, drobna aktualizacja również może spowodować awarię witryny
  • Niedostępny programista – jeśli ktoś inny zarządza Twoją witryną, jego dostępność i koszt również będą miały znaczenie
  • Strona na żywo; Jeśli nie jest zepsuty, nie naprawiaj tego – ma sens – czy to prawda?

Kompletny przewodnik po aktualizacji WordPressa – rdzeń, wtyczki i motywy

Jak więc podejść do aktualizacji WordPressa?

Oto kilka wskazówek, których sami przestrzegamy :

  • Regularnie rób kopie zapasowe – zarówno plików WordPress, jak i bazy danych
  • Przejrzyj dzienniki zmian , aby ustalić, czy jest to drobna aktualizacja, czy poważna
  • Jeśli to drobna aktualizacja, zrób to (nadal najpierw wykonaj kopię zapasową)
  • Aktualizuj jedną wtyczkę na raz
  • Przetestuj wszystko, co ważne na serwerze pomostowym, zanim spróbujesz na stronie na żywo
  • Potwierdź, że aktualizacja poszła dobrze
  • Jeśli istnieje jakiś niestandardowy kod , upewnij się, że będzie działał z nową wersją przed aktualizacją
  • Jeśli używasz motywu potomnego , nigdy nie aktualizuj motywu nadrzędnego bezpośrednio w aktywnej witrynie. Najpierw przetestuj w środowisku pomostowym.
  • Aktualizacje rdzenia WordPressa są ogólnie bezpieczne!
  • Aktualizacje WooCommerce należy wykonywać po upewnieniu się, że używane wtyczki WC są aktualne. Lepiej przetestować w środowisku lokalnym / pomostowym przed uruchomieniem — zwłaszcza między głównymi aktualizacjami.
  • Nigdy nie przechowuj kopii zapasowych w wp-content ani nawet w folderze public_html
  • Możemy zminimalizować wpływ, regularnie przeprowadzając aktualizacje

Kilka doskonałych artykułów na temat wykonywania aktualizacji WP:

  • Ultimate Guide aktualizujący WP i Multisite na WPMU Dev
  • Przewodnik po aktualizacji WordPressa w SitePoint
  • Aktualizacja WordPressa – rozszerzone instrukcje dotyczące WP Codex
  • Jak zaktualizować motywy WP na Design Wall

Podziel się swoimi historiami / najlepszymi praktykami…

Mam nadzieję, że moja historia pomoże ci uniknąć takich problemów. Aktualizuj często, aktualizuj ostrożnie!

Czy masz jakieś przerażające historie dotyczące aktualizacji WordPressa? Jak się po nich wyzdrowiałeś?

Jakie „najlepsze praktyki” stosujesz teraz, aby zaktualizować WordPress / WooCommerce / Wtyczki / Motywy?

Udostępnij je, publikując komentarz poniżej! Twój komentarz pomoże wielu innym.

Kredyty obrazkowe: Helgi Halldorsson, Pixabay, Wikimedia, Giphy