7 narzędzi debugowania WordPress do rozwiązywania problemów

Mimo że WordPress jest kontrolowanym środowiskiem, w którym błędy są znacznie rzadsze niż w typowym środowisku programistycznym, zawsze istnieje okno lub drzwi, przez które mogą wpełznąć problemy.

Zasadniczo można powiedzieć, że im większą elastyczność daje narzędzie, tym więcej potencjalnych błędów można napotkać.

W konkretnym przypadku WordPressa jest duża elastyczność, a co za tym idzie, wiele potencjalnych błędów. Masz otwartą architekturę wtyczek, której możesz użyć do dodania funkcji do CMS; masz serwer WWW, dostawcę usług hostingowych, system zarządzania bazą danych i sieć. Wszystkie te komponenty są niezależnymi czynnikami, które przyczyniają się do ich udziału w potencjalnych problemach.

Rodzaje problemów, które możesz napotkać, obejmują niską wydajność, nieprawidłową lub uszkodzoną zawartość, komunikaty o błędach, a co najgorsze: biały ekran śmierci (WSoD), co oznacza, że ​​Twoja witryna uległa awarii i wymaga natychmiastowej uwagi.

Nawet niewielki problem z wydajnością – taki jak opóźnienie poniżej 2 sekund – jest czymś, o co powinieneś się martwić, ponieważ może (i będzie) zaszkodzić Twojej strategii SEO i Twojej pozycji w wynikach wyszukiwania. A to przekłada się bezpośrednio na coraz mniejszą liczbę odwiedzających każdego dnia, ponieważ w dzisiejszych czasach szybka reakcja to wszystko, szczególnie dla użytkowników mobilnych.

Dlatego tak ważne jest posiadanie narzędzi, z których możesz korzystać, gdy czujesz, że Twoja witryna nie działa poprawnie. A nawet jeśli tak, zawsze jest miejsce na poprawę jego wydajności lub użyteczności.

Co to jest debugowanie?

Debugowanie to zadanie wykonywane przez programistów w celu wykrywania i usuwania błędów (zwanych również błędami) ze swoich programów. Odbywa się to za pomocą wyspecjalizowanych narzędzi, które pozwalają zobaczyć, co dzieje się wewnątrz programu podczas jego wykonywania.

Czasami najtrudniejszą częścią zadania debugowania jest dokładne określenie składnika, polecenia lub instrukcji, które powodują błąd. Aby to zrobić, programiści robią to samo, co lekarz, który musi postawić diagnozę: przeanalizować objawy i, jeśli to konieczne, przeprowadzić badania, aby zidentyfikować źródło problemu. Programistyczny odpowiednik studiów medycznych to narzędzie monitorujące, które dostarcza informacji o wewnętrznym działaniu strony internetowej.

Zobaczmy kilka opcji.

WP_DEBUG

WordPress ma wbudowaną pomoc w debugowaniu, która jest często pomijana. Jest to „flaga” o nazwie WP_DEBUG, która uruchamia tryb debugowania w WordPress za każdym razem, gdy jest aktywowana. Kiedy aktywujesz WP_DEBUG, generowany jest dziennik, który rejestruje całą aktywność Twojej witryny. Czytając ten dziennik, możesz dowiedzieć się, co nie działa poprawnie w Twojej witrynie WordPress.

Aby włączyć WP_DEBUG, musisz wykonać pewne kodowanie, edytując plik wp-config.php i dodając niezbędne wiersze, aby nakazać swojej stronie internetowej rejestrowanie całej aktywności w dzienniku. To zadanie kodowania nie jest dla wszystkich: musisz być bardzo ostrożny podczas edycji pliku wp-config.php, ponieważ jeśli zgubisz linię lub nawet znak, Twoja witryna może przestać działać. Przed zrobieniem czegokolwiek wykonaj kopię zapasową swojej witryny/plików. Jeśli coś zepsujesz, możesz przywrócić kopię zapasową i przywrócić wszystko do normy.

Aby edytować plik wp-config.php, użyj menedżera plików dostawcy hostingu lub użyj klienta FTP, aby pobrać plik i otworzyć go lokalnie za pomocą preferowanego edytora tekstu. Plik znajduje się w głównym katalogu instalacji WordPressa. Po otwarciu znajdź wiersz, w którym zdefiniowano WP_DEBUG. To powinno wyglądać tak:

define( 'WP_DEBUG', false );

Jeśli nie ma takiej linii, wyszukaj następujący komentarz:

/* That’s all, stop editing! Happy blogging. */

i dodaj następujące wiersze powyżej tego komentarza. Te polecenia poinstruują Twoją witrynę, aby rejestrowała wszystkie błędy bez ich wyświetlania, co jest przydatne w przypadku witryn publicznie dostępnych:

define('WP_DEBUG', true); 
define('WP_DEBUG_LOG', true); 
define('WP_DEBUG_DISPLAY', false); 
@ini_set('display_errors',0);

Zapisz zmodyfikowany plik, a jeśli korzystasz z FTP, prześlij go do swojej witryny. Następnie spróbuj sprowokować błąd (lub poczekaj na jego wystąpienie) i sprawdź plik debug.log. Znajdziesz go w folderze wp-content swojej instalacji WordPress. Możesz go otworzyć za pomocą edytora tekstu i poszukać komunikatów o błędach, które ujawniają, co powoduje problemy w Twojej witrynie.

Po wykonaniu tej czynności należy wyłączyć rejestrowanie, zmieniając wartości „true” na „false” we wszystkich dodanych lub zmienionych liniach w pliku wp-config.php.

Raportowanie błędów WPDB

Jeśli wiesz lub podejrzewasz, że baza danych Twojej witryny powoduje problemy, możesz włączyć raportowanie błędów WPDB. To również wymaga trochę kodowania. Po włączeniu raportowania błędów możesz poinstruować swoją witrynę, aby zaczęła wyświetlać błędy bazy danych na ekranie.

Nie powinieneś tego robić na działającej stronie internetowej, chyba że nie obchodzi Cię, czy odwiedzający otrzymują komunikaty o błędach na swoich ekranach. Lepiej jest skorzystać ze strony inscenizacyjnej (jak opisano poniżej), na której możesz przetestować wszystko, co chcesz, nie pozwalając wszystkim zobaczyć, co dzieje się pod maską.

Czytanie tych raportów o błędach lub dzienników wymaga pewnej wiedzy technicznej, podobnie jak na przykład wiedza medyczna do odczytania zdjęcia rentgenowskiego. Będziesz musiał rozszyfrować trochę żargonu programowania, sieci lub bazy danych, ale prawdopodobnie znajdziesz główny problem, który ma wpływ na twoją witrynę, a następnie uzyskasz pomoc od kogoś, kto może rozwiązać ten konkretny problem.

Aby rozpocząć generowanie raportów o błędach bazy danych, dodaj następujący wiersz do pliku wp-config.php (w taki sam sposób, jak wyjaśniono wcześniej, aby wygenerować dziennik debugowania):

define( 'SAVEQUERIES', true);

Ustawiając tę ​​wartość na true, baza danych zacznie przechowywać wszystkie zapytania, które wysyła Twoja witryna. Wtedy będziesz mógł sprawdzić liczbę zapytań wywołanych przez każde żądanie strony i komendy użyte w każdym z nich. Jednym ze sposobów wyświetlania zapytań na ekranie jest dodanie tych wierszy do pliku PHP motywu w ramach przepływu wykonywania:

global $wpdb; 
print_r( $wpdb->queries );

Po zakończeniu debugowania należy usunąć te wiersze, aby przywrócić witrynę do normalnego działania.

Korzystanie ze strony inscenizacyjnej

Witryna testowa to klon Twojej rzeczywistej witryny, w której możesz testować zmiany lub nowe funkcje przed ich udostępnieniem. Dobrym pomysłem jest również użycie strony tymczasowej do debugowania problemów lub monitorowania jej zachowania, ponieważ daje to swobodę wypróbowania wszystkiego, co chcesz, bez ingerowania w rzeczywistych użytkowników Twojej witryny.

Ważne jest, aby witryna pomostowa dokładnie odzwierciedlała zawartość i strukturę Twojej rzeczywistej witryny. Za każdym razem, gdy aktualizujesz swoją witrynę WordPress o nową zawartość lub nowe dodatki (głównie wtyczki i motywy), powinieneś odświeżyć swoją witrynę testową z kopią rzeczywistej. W ten sposób, jeśli wystąpi problem na Twojej aktywnej stronie internetowej, będziesz mógł go zreplikować w swoim środowisku pomostowym.

Wielu zarządzanych dostawców hostingu WordPress oferuje witrynę pomostową jako wartość dodaną do swoich płatnych planów. Jest to najbardziej przyjazny dla użytkownika sposób na stworzenie środowiska scenicznego, w którym można grać i wypróbowywać różne rzeczy bez ryzyka. Ale jeśli Twój dostawca usług hostingowych nie oferuje Ci takiej możliwości, możesz utworzyć witrynę testową za pomocą Inscenizacja WP podłącz. Ta wtyczka ułatwia sklonowanie witryny, a następnie używanie klonu tak, jakby to był prawdziwy. Zawsze będziesz wiedzieć, kiedy jesteś w środowisku inscenizacyjnym, ponieważ pomarańczowy pasek na górze ekranu Ci to powie.

Jeśli lubisz brudzić sobie ręce, zawsze możesz ręcznie utworzyć witrynę pomostową na subdomenie, zakładając, że dostawca hostingu umożliwia dodanie subdomeny do Twojego konta. Proces tworzenia strony testowej w ten sposób może być nieco skomplikowany, więc jeśli jesteś początkującym WordPressem, możesz użyć innej opcji.

Monitor zapytań

Jego nazwa może być myląca, ponieważ Monitor zapytań robi znacznie więcej niż tylko monitorowanie zapytań. Jest to kompletny panel programistyczny dla WordPress, umożliwiający debugowanie skryptów, arkuszy stylów, wywołań API, zapytań do bazy danych, błędów PHP i innych. Niektóre zaawansowane funkcje umożliwiają debugowanie wywołań Ajax i sprawdzanie możliwości użytkownika.

Po zainstalowaniu i aktywacji Query Monitor zacznie wyświetlać informacje o zachowaniu Twojej witryny w najbardziej użyteczny sposób.

Na przykład pokazuje zagregowane zapytania do bazy danych pogrupowane według funkcji, wtyczek lub motywów, które je uruchomiły. Menu paska narzędzi administratora pokazuje aktualne statystyki bieżącej strony, ze wszystkimi informacjami dotyczącymi debugowania, które mogą być potrzebne do oceny problemu, który należy rozwiązać.

Korzystając z Monitora zapytań, możesz stopniowo zawęzić wyszukiwanie błędów według wtyczki lub motywu, aż znajdziesz ten, który obniża wydajność Twojej witryny lub powoduje awarię. Podobnie jak WordPress, Query Monitor jest całkowicie darmowy i open-source.

Wcześniej znany jako Firebug, Narzędzia programistyczne Firefoksa to specjalna wersja Firefoksa przeznaczona dla programistów, oferująca najnowsze funkcje i narzędzia programistyczne. Nie jest to specyficzne dla WordPressa, ale okazuje się bardzo przydatne do debugowania stron internetowych.

Nieuniknione jest porównywanie narzędzi programistycznych Firefox z bardziej popularnymi narzędziami Chrome DevTools. W ten sposób wyróżnia się solidny układ Firefoksa. Na przykład możesz kliknąć prawym przyciskiem myszy dowolny element, aby wyświetlić kartę inspektora, a konsola internetowa oferuje bogate dane wyjściowe podczas drukowania obiektów, pokazując znacznie więcej informacji niż tylko nazwa. Dostarcza dodatkowych informacji dla niektórych typów, umożliwiając szczegółowe badanie właściwości obiektu i dostarczając bogatszych informacji dla elementów DOM.

Za pomocą narzędzia Inspector możesz badać i modyfikować kod HTML i CSS strony, co pozwala robić to ze stronami ładowanymi lokalnie w Firefoksie lub na urządzeniu zdalnym, takim jak Firefox dla Androida.

Konsola internetowa wyświetla wszystkie informacje, których możesz potrzebować na temat strony internetowej: JavaScript, żądania sieciowe, CSS, ostrzeżenia, komunikaty o błędach i komunikaty informacyjne jawnie zarejestrowane przez kod JavaScript. Umożliwia także interakcję ze stroną internetową poprzez bezpośrednie wykonywanie wyrażeń JavaScript w kontekście strony.

Nowa relikwia

Jako jeden z największych graczy w branży APM (Application Performance Monitoring), Nowa relikwia to produkt komercyjny, z którego codziennie korzystają tysiące programistów na całym świecie, aby uzyskać informacje o wydajności ich oprogramowania. Ma architekturę wtyczek, która pozwala na dodanie funkcjonalności stronom trzecim, co daje praktycznie nieskończone spektrum technologii, które można monitorować za pomocą tego narzędzia.

W przedziale cenowym od 9,37 do 200 USD na hosta miesięcznie jest przeznaczony do profesjonalnych zadań debugowania. Niesie też ze sobą dłuższą krzywą uczenia się, więc oprócz wydawania pieniędzy na rozwiązanie, musisz także zainwestować czas, aby nauczyć się z niego korzystać. Użytkownicy New Relic doceniają łatwość jego integracji z aplikacjami do monitorowania APM i infrastruktury.

Kinsta pozwala łatwo zintegrować New Relic z pulpitu nawigacyjnego MyKinsta.

Pasek debugowania

Pasek debugowania to zestaw wtyczek dostępnych za pośrednictwem menu debugowania na pasku administracyjnym WordPress, który pokazuje szeroką gamę informacji debugowania. Jego opcje obejmują konsolę, skróty, stałe, typy postów, cron, akcje i filtry, transjenty, żądania zdalne oraz skrypty list i zależności stylów. Jest to wtyczka typu open source, więc można z niej korzystać za darmo.

Główna wtyczka, Debug Bar, zapewnia podstawową funkcjonalność, rozszerzoną o pozostałe wtyczki. Działa z wbudowanymi flagami debugowania oferowanymi przez WordPress, takimi jak WP_DEBUG i SAVEQUERIES. Gdy te flagi są aktywne, pasek debugowania dodaje przydatne informacje dotyczące debugowania, takie jak ostrzeżenia PHP i zapytania MySQL, dzięki czemu nie musisz szukać i czytać plików dziennika.

Każda opcja w menu Debug Bar zapewnia swój udział w debugowaniu. Na przykład konsola udostępnia konsolę, w której można uruchomić dowolny kod PHP, co jest doskonałe do testowania zawartości zmiennych (między innymi). Cron wyświetla informacje o zaplanowanych wydarzeniach WordPressa, takie jak czas następnego wydarzenia, liczba zaplanowanych wydarzeń, lista niestandardowych zaplanowanych wydarzeń itp. Akcje i filtry to kolejna opcja wyświetlania hooków dołączonych do bieżącego żądania. Zakładka Actions pokazuje akcje powiązane z bieżącym żądaniem, podczas gdy zakładka Filters pokazuje wszystkie tagi filtrów wraz z funkcjami dołączonymi do każdego z nich.

Debugowanie dla wszystkich

Narzędzia do debugowania są przeznaczone głównie dla profesjonalistów zajmujących się tworzeniem oprogramowania. Ale nawet jeśli nie jesteś programistą, jeśli po prostu prowadzisz blog WordPress, warto mieć przynajmniej podstawową wiedzę na temat monitorowania i debugowania witryny. W ten sposób możesz przekazać programiście informacje, które pomogą mu znaleźć źródło problemu, a jednocześnie, że jeśli poczujesz się źle, możesz zaoszczędzić lekarzowi trochę pracy, samodzielnie mierząc temperaturę przed pójściem do szpitala.

Dowiedz się, jak zarabiać pieniądze jako profesjonalista WordPress.