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

Chociaż platforma WordPress jest środowiskiem o wysokiej stabilności, gdzie występowanie błędów jest znacznie rzadsze niż w typowych procesach tworzenia oprogramowania, zawsze istnieje szansa, że pewne problemy zakradną się do systemu.

Zasadniczo, im większą swobodę działania daje dane narzędzie, tym większa możliwość pojawienia się potencjalnych błędów.

W przypadku WordPressa, jego rozbudowana elastyczność niesie za sobą ryzyko wystąpienia różnorodnych problemów. Dostępna jest otwarta architektura wtyczek, umożliwiająca rozszerzenie funkcjonalności CMS. Ponadto, w grę wchodzą takie elementy jak serwer WWW, firma hostingowa, system zarządzania bazą danych i cała sieć. Każdy z tych komponentów stanowi niezależny czynnik, który może potencjalnie przyczynić się do pojawienia się problemów.

Zakres potencjalnych problemów obejmuje spadek wydajności, nieprawidłową lub uszkodzoną treść, komunikaty o błędach oraz, w najgorszym scenariuszu, tzw. biały ekran śmierci (WSoD), sygnalizujący awarię strony i konieczność natychmiastowej interwencji.

Nawet niewielkie obniżenie wydajności, takie jak opóźnienie rzędu poniżej 2 sekund, powinno być powodem do niepokoju, ponieważ może negatywnie wpłynąć na strategię SEO i pozycję strony w wynikach wyszukiwania. To z kolei może prowadzić do stopniowego spadku liczby odwiedzających, zwłaszcza że szybka reakcja jest obecnie kluczowa, szczególnie dla użytkowników mobilnych.

Dlatego posiadanie odpowiednich narzędzi, które można wykorzystać w sytuacjach, gdy strona nie działa prawidłowo, jest niezwykle ważne. Co więcej, nawet jeśli wszystko działa poprawnie, zawsze istnieje możliwość poprawy wydajności i użyteczności serwisu.

Czym jest debugowanie?

Debugowanie to proces, który polega na identyfikacji i usuwaniu błędów (często nazywanych „bugami”) w programach komputerowych. Wykorzystuje się do tego specjalistyczne narzędzia, które pozwalają na obserwowanie, co dzieje się wewnątrz programu podczas jego działania.

Najtrudniejszą częścią debugowania jest często zlokalizowanie konkretnego elementu kodu, który powoduje błąd. W tym celu programiści postępują podobnie do lekarza stawiającego diagnozę: analizują objawy i, w razie potrzeby, przeprowadzają badania, aby ustalić przyczynę problemu. W programowaniu ekwiwalentem takich badań są narzędzia monitorujące, które dostarczają informacji o działaniu strony internetowej od wewnątrz.

Przyjrzyjmy się kilku dostępnym opcjom.

WP_DEBUG

WordPress posiada wbudowany mechanizm debugowania, który często jest pomijany. Jest to „flaga” o nazwie WP_DEBUG, która aktywuje tryb debugowania w WordPressie. Po jej włączeniu generowany jest dziennik, który rejestruje całą aktywność strony. Analizując ten dziennik, można zidentyfikować elementy, które nie działają prawidłowo.

Aby aktywować WP_DEBUG, konieczna jest ingerencja w kod, poprzez edycję pliku wp-config.php i dodanie odpowiednich linii, które poinformują stronę o potrzebie rejestrowania aktywności. Ta czynność wymaga ostrożności, ponieważ błąd w edycji wp-config.php może spowodować nieprawidłowe działanie strony. Przed wprowadzeniem jakichkolwiek zmian zaleca się wykonanie kopii zapasowej plików. W przypadku pomyłki, będzie można przywrócić stronę do poprzedniego stanu.

Do edycji wp-config.php można użyć menadżera plików dostarczonego przez firmę hostingową lub klienta FTP, aby pobrać plik i otworzyć go w edytorze tekstu. Plik ten znajduje się w głównym katalogu instalacji WordPressa. Po jego otwarciu należy odnaleźć linię definiującą WP_DEBUG. Powinna ona wyglądać następująco:

define( 'WP_DEBUG', false );

Jeśli takiej linii nie ma, należy odszukać komentarz:

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

i dodać poniższe linie bezpośrednio nad nim. Poniższe polecenia nakazują stronie rejestrowanie błędów, ale bez ich wyświetlania, co jest zalecane w przypadku stron publicznych:

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

Po zapisaniu zmian, jeśli plik był edytowany za pomocą FTP, należy go przesłać na serwer. Następnie należy spróbować wywołać błąd (lub poczekać, aż wystąpi), a następnie sprawdzić plik debug.log, który znajdzie się w folderze wp-content. Plik ten można otworzyć w edytorze tekstu, gdzie widoczne będą komunikaty o błędach, które pomogą zdiagnozować przyczynę problemów.

Po zakończeniu debugowania należy wyłączyć rejestrowanie, zmieniając wartości „true” na „false” w dodanych lub zmienionych liniach w pliku wp-config.php.

Raportowanie błędów WPDB

Jeśli podejrzewasz, że problemy z witryną są związane z bazą danych, możesz aktywować raportowanie błędów WPDB. Ta opcja również wymaga ingerencji w kod. Po jej włączeniu, strona będzie wyświetlała błędy bazy danych na ekranie.

Takie działanie nie jest zalecane na aktywnej stronie internetowej, chyba że nie ma obaw o wyświetlanie komunikatów o błędach odwiedzającym. Zaleca się korzystanie ze strony testowej, gdzie można eksperymentować bez obawy o negatywny wpływ na działanie publicznej witryny.

Odczytywanie raportów błędów czy dzienników wymaga pewnej wiedzy technicznej. Podobnie jak interpretacja zdjęcia rentgenowskiego wymaga wiedzy medycznej, tak samo analiza raportów błędów wymaga znajomości żargonu programowania, sieci lub baz danych. Posiadanie takiej wiedzy pozwoli na identyfikację źródła problemu, a następnie uzyskanie pomocy od specjalisty, który będzie w stanie go rozwiązać.

Aby włączyć generowanie raportów błędów bazy danych, należy dodać następujący wiersz do pliku wp-config.php (w taki sam sposób, jak to zostało opisane przy okazji debugowania WP_DEBUG):

define( 'SAVEQUERIES', true);

Ustawienie tej wartości na true sprawi, że baza danych zacznie przechowywać wszystkie zapytania wysyłane przez stronę. W ten sposób będzie można przeanalizować liczbę zapytań generowanych przez każde żądanie strony oraz polecenia używane w każdym z nich. Jednym ze sposobów wyświetlenia zapytań na ekranie jest dodanie poniższych linii do pliku PHP motywu:

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

Po zakończeniu debugowania, należy usunąć te linie, aby przywrócić normalne działanie strony.

Korzystanie ze strony testowej

Strona testowa to klon rzeczywistej strony internetowej, na której można testować zmiany i nowe funkcje przed wprowadzeniem ich na produkcję. Jest to również dobre miejsce do debugowania i monitorowania zachowania strony, ponieważ umożliwia eksperymentowanie bez wpływu na realnych użytkowników.

Istotne jest, aby strona testowa odzwierciedlała zawartość i strukturę strony produkcyjnej. Wraz z każdą aktualizacją głównej strony, należy również odświeżyć stronę testową. W ten sposób, w przypadku wystąpienia problemu na stronie produkcyjnej, można go odtworzyć w środowisku testowym i bezpiecznie poszukiwać rozwiązania.

Wielu dostawców usług hostingowych WordPress oferuje stronę testową jako dodatek do płatnych planów. Jest to najbardziej przyjazny użytkownikom sposób na stworzenie środowiska, w którym można swobodnie testować i eksperymentować. Jeśli jednak Twój hostingodawca nie udostępnia takiej opcji, można skorzystać z wtyczki WP Staging, która ułatwia klonowanie strony. Wtyczka ta umożliwia korzystanie z klonu tak, jakby to była prawdziwa strona. Dodatkowo, o tym, że pracuje się w środowisku testowym, informuje pomarańczowy pasek u góry ekranu.

Osoby, które nie boją się pracy manualnej, mogą utworzyć stronę testową na subdomenie. Wymaga to jednak odpowiedniej konfiguracji, dlatego dla początkujących użytkowników WordPressa zaleca się wykorzystanie innych metod.

Monitor zapytań

Nazwa Monitor zapytań jest nieco myląca, ponieważ wtyczka ta oferuje znacznie więcej niż tylko monitorowanie zapytań. Jest to wszechstronne narzędzie deweloperskie dla WordPressa, które umożliwia debugowanie skryptów, arkuszy stylów, zapytań do API, zapytań do bazy danych, błędów PHP i innych elementów. Oferuje także zaawansowane funkcje, takie jak debugowanie zapytań AJAX i sprawdzanie uprawnień użytkownika.

Po zainstalowaniu i aktywowaniu, Monitor zapytań zacznie wyświetlać informacje o działaniu strony w czytelnej formie.

Przykładowo, wtyczka pokazuje zagregowane zapytania do bazy danych, pogrupowane według funkcji, wtyczek lub motywów, które je uruchomiły. W menu paska administracyjnego wyświetlane są bieżące statystyki danej strony, wraz z danymi debugowania, które mogą być pomocne w diagnozowaniu problemu.

Monitor zapytań pozwala na stopniowe zawężanie obszaru poszukiwań błędu, poprzez analizę poszczególnych wtyczek i motywów. Dzięki temu łatwiej jest zlokalizować źródło problemu, które powoduje obniżenie wydajności lub awarię strony. Podobnie jak sam WordPress, Monitor zapytań jest darmowym oprogramowaniem open-source.

Narzędzia programistyczne Firefox, wcześniej znane jako Firebug, to specjalna edycja przeglądarki Firefox, przeznaczona dla programistów, oferująca zaawansowane narzędzia i funkcje. Nie są one specyficzne dla WordPressa, ale przydają się podczas debugowania stron internetowych. Narzędzia programistyczne Firefoksa

Narzędzia programistyczne Firefox często porównywane są z popularnymi Chrome DevTools. W tym porównaniu, Firefox wyróżnia się swoim czytelnym i przejrzystym interfejsem. Na przykład, kliknięcie prawym przyciskiem myszy dowolnego elementu, uruchamia kartę inspektora. Konsola internetowa oferuje rozbudowane dane wyjściowe podczas wyświetlania obiektów, prezentując więcej informacji niż tylko nazwę. Dodatkowo, dostarcza ona szczegółowych danych dla wybranych typów, umożliwiając szczegółową analizę właściwości obiektów i elementów DOM.

Inspektor umożliwia analizę i modyfikowanie kodu HTML i CSS strony, zarówno tej ładowanej lokalnie w Firefoksie, jak i na urządzeniach zdalnych, takich jak Firefox dla Androida.

Konsola internetowa wyświetla różnorodne informacje o stronie, takie jak: kod JavaScript, żądania sieciowe, arkusze CSS, ostrzeżenia, komunikaty o błędach i komunikaty informacyjne zarejestrowane w kodzie JavaScript. Dodatkowo, umożliwia interakcję ze stroną poprzez bezpośrednie wykonywanie poleceń JavaScript.

Nowa relikwia

Nowa Relikwia to jeden z czołowych graczy w dziedzinie APM (Application Performance Monitoring). Jest to komercyjne oprogramowanie, które jest wykorzystywane przez tysiące programistów do monitorowania wydajności ich aplikacji. Oprogramowanie to ma modułową budowę, pozwalającą na dodawanie nowych funkcjonalności, co sprawia, że spektrum monitorowanych technologii jest praktycznie nieskończone.

New Relic oferuje plany subskrypcji w przedziale cenowym od 9.37 do 200 USD miesięcznie za host, co sprawia, że jest to rozwiązanie przeznaczone do profesjonalnych zastosowań. Wymaga jednak dłuższego czasu nauki, aby w pełni wykorzystać jego potencjał. Użytkownicy New Relic doceniają jego łatwą integrację z innymi narzędziami do monitorowania APM i infrastruktury.

Platforma Kinsta umożliwia łatwą integrację z New Relic z poziomu panelu MyKinsta.

Pasek debugowania

Pasek debugowania to zestaw wtyczek dostępnych poprzez menu debugowania w panelu administracyjnym WordPressa. Dostarcza on szeroki wachlarz informacji potrzebnych przy debugowaniu. Jego możliwości obejmują m.in. konsolę, skróty, stałe, typy postów, cron, akcje i filtry, transienty, zapytania zdalne oraz listę skryptów i zależności stylów. Jest to wtyczka typu open-source, co oznacza, że jest dostępna do użytku bez żadnych opłat.

Główna wtyczka, Debug Bar, zapewnia podstawową funkcjonalność, która jest rozszerzana przez pozostałe wtyczki. Współpracuje ona z flagami debugowania oferowanymi przez WordPressa, takimi jak WP_DEBUG i SAVEQUERIES. Kiedy te flagi są aktywne, pasek debugowania dodaje przydatne informacje związane z debugowaniem, takie jak ostrzeżenia PHP i zapytania MySQL, dzięki czemu nie ma konieczności ręcznego przeszukiwania i analizy plików dziennika.

Każda opcja w menu Debug Bar dostarcza informacji istotnych z punktu widzenia debugowania. Przykładowo, konsola umożliwia uruchamianie dowolnego kodu PHP, co jest przydatne podczas testowania wartości zmiennych. Opcja Cron wyświetla informacje o zaplanowanych wydarzeniach w WordPressie, takie jak czas następnego zdarzenia, ich ilość, lista niestandardowych zdarzeń itp. Akcje i filtry to kolejne opcje, które prezentują hooki przypisane do aktualnego żądania. Zakładka Akcje prezentuje akcje powiązane z aktualnym żądaniem, a zakładka Filtry wyświetla wszystkie tagi filtrów wraz z funkcjami do nich przypisanymi.

Debugowanie dla każdego

Narzędzia do debugowania przeznaczone są głównie dla profesjonalistów z branży IT, jednak nawet jeśli nie jesteś programistą, a jedynie prowadzisz bloga na WordPressie, warto zapoznać się z podstawowymi zasadami monitorowania i debugowania swojej strony. Dzięki temu, będziesz mógł dostarczyć informatykowi danych, które ułatwią mu zlokalizowanie źródła problemu. Podobnie jak w medycynie, podstawowa wiedza w zakresie diagnostyki pozwala zaoszczędzić czas i energię zarówno pacjenta, jak i lekarza.

Odkryj, jak zarabiać jako profesjonalista WordPress.