DebugPress ile WordPress'inizde neyin yanlış olduğunu öğrenin

Yayınlanan: 2020-10-13

Bugün, kurulumunuzla ilgili olası sorunları araştırmak için yakın zamanda piyasaya sürülen bir WordPress eklentisi olan DebugPress'i test edeceğiz.

WordPress'in avantajlarından biri, yeni bir kurulumda yapabileceğiniz değişiklik miktarının neredeyse sonsuz olmasıdır. Ancak bu aynı zamanda iki ucu keskin bir kılıç da olabilir. Bir WordPress kurulumu ne kadar karmaşıksa, uyumsuzluklara ve olası sorunlara sahip olmak o kadar kolay ve bunları bulmak o kadar zor olur.

DebugPress'i Yükleme ve Yapılandırma

DebugPress, Milan Petrovic'in WordPress.org eklenti dizininde bulabileceğiniz bir WordPress eklenti geliştiricisidir. Bu, WordPress kurulumunuza gidebileceğiniz, Eklentiler menüsüne erişebileceğiniz ve orada yeni bir tane ekleyebileceğiniz anlamına gelir. Sadece “ DebugPress ” anahtar kelimesini arayarak eklentiyi bulacaksınız ve oradan indirip etkinleştirebilirsiniz.

WordPress'inizde etkinleştirdikten sonra, eklentiyi yapılandırmak için DebugPress ayarlarına (Ayarlar menüsünde) gidin:

Değiştirebileceğiniz şeyler arasında, DebugPress paneline hangi kullanıcı rollerinin erişebileceğini sınırlama olanağına sahipsiniz. Hangi ek panellerin etkinleştirileceğine de karar verebilirsiniz. Benim durumumda, hepsini test kurulumumda etkinleştirdim.

Aynı şekilde, DebugPress'in tüm PHP hatalarını ve uyarılarını, ayrıca AJAX çağrılarını ve diğer seçenekleri izlemesini sağladım. Ayrıca, DebugPress'in WordPress hata günlüğündeki SQL sorguları ve etkinlik hakkındaki bilgileri gösterebilmesi için kurulumumun wp-config.php dosyasında aşağıdaki sabitleri tanımladım:

 define('WP_DEBUG', true); define('WP_DEBUG_DISPLAY', false); define('WP_DEBUG_LOG', true); define('SAVEQUERIES', true);

Geliştirme ve test kurulumumda DebugPress'i test ettiğim için ilk iki sabiti daha önce tanımlamıştım. Bir geliştiriciyseniz, WordPress'ten mümkün olduğunca fazla geri bildirim almakla ilgilenmeniz gerektiğinden (varsayılan olarak hepsini gizler) onları da tanımlamanızı öneririm.

Diğer iki sabit, hata günlüğünü (kurulumunuzun /wp-content/ klasöründe depolanan bir debug.log dosyası) ve bahsettiğimiz sorgu deposunu etkinleştirir. Bu sabitleri tanımlayamayacağınızı unutmayın, ancak bazı DebugPress panelleri mümkün olduğunca fazla bilgi görüntülemeyecektir.

DebugPress panelini görüntülemek için simge, WordPress üst çubuğunun sağ tarafında görünür.
DebugPress panellerini açma simgesi, üst WordPress yönetici çubuğunun sağ tarafında görünür.

Her şey hazır olduğunda, WordPress'inizin sağ üst köşesinde görünen hatanın simgesine gidebilirsiniz. Bu simge hem WordPress Kontrol Panelinde hem de web sitenizin ön ucuna eriştiğinizde görünecektir (ikincisini DebugPress ayarlarından değiştirebilirsiniz).

Orada DebugPress, WordPress kurulumunuz ve web sitenizin ön ucuna eriştiğinizde neler olduğu hakkında bilgi sağlar.

DebugPress bilgi panelleri

DebugPress düğmesine tıkladığımızda, sekmeler halinde gruplandırılmış birkaç panel içeren bir açılır pencere açılır. Her sekme, belirli bir bilgi türünün belirli panellerini içerir. Her birini ve hangi bilgileri içerdiklerini görelim.

İlk sekmede WordPress kurulumumuz hakkında temel bilgilere sahibiz. Burada PHP belleğini ve yürütme süresi sınırlarını, WordPress sürümünü ve kurulumun en önemli dizinlerini ve ayrıca kurulumun çok bölgeli olup olmadığını bilmek için bazı WordPress koşullu etiketlerinin değerini görebiliriz.

DebugPress Temelleri paneli.
DebugPress Temelleri paneli.

Ayrıca, DebugPress'te sayfa yükleme istatistikleriniz var. Bu, özellikle sayfanın yüklenmesinin beklenenden uzun sürdüğünü görmek ve yapılan SQL sorgularının sayısını, yürütülen kancaların sayısını ve PHP'nin kullandığı belleği bulmak için kullanışlıdır.

DebugPress İsteği sekmesinde, WordPress sunucusuna yapılan mevcut istek hakkında bilgimiz var. İstenen URL'nin yanı sıra hem istek hem de yanıtın başlıklarını görebiliriz. Yine bu, özellikle hem istekteki bilgilerin hem de alınan yanıtın doğru olup olmadığını ve herhangi bir sorun olup olmadığını görmek için yararlıdır.

DebugPress'te Talep Paneli.
Panel de DebugPress İsteği.

Yönetici sekmesinde, WordPress Kontrol Panelinin mevcut sayfası hakkında verileriniz vardır. Kurulumumda Nelio Content'in editoryal takvimine erişirken, mevcut ekranın değerlerinin yanı sıra $pagenow değişkeninin değerini de görebiliyorum:

DebugPress'te Yönetici Paneli
DebugPress Yönetici Paneli.

DebugPress'teki en ilginç sekmelerden biri Content . Burada, WordPress'te kayıtlı özel gönderi türlerinin tam listesinin yanı sıra özel taksonomileri ve gönderi durumlarını görebilirsiniz. Ayrıca, bu türlerin her birini genişletebilir ve sahip oldukları değerleri görebilirsiniz.

DebugPress İçerik Paneli.
DebugPress İçerik Paneli.

Sabitler sekmesinde, WordPress'te tanımlanan tüm sabitlere sahibiz. Ayrıca, tanımlanmış her bir sabitin değerini şu anda görebiliriz:

DebugPress Sabitleri Paneli.
DebugPress Sabitleri Paneli.

DebugPress'in SQL Sorguları sekmesinde, geçerli sayfayı görüntülemek için herhangi bir anda hangi SQL sorgularının yürütüldüğünü görebiliriz. Bu sorguların her birini görmenin yanı sıra, bunları yürütme zamanlarına göre sıralayabiliriz ve böylece hangi sorguların en yavaş olduğunu ve onları çağıran PHP işlevlerini bir bakışta görebiliriz.

Veritabanı ile garip şeyler yapan ve web sitenizi çok daha yavaş çalıştıran bir eklentiniz varsa, bu görünümle sorunlarınızın kaynağını tespit edebileceksiniz.

Hata Ayıklama SQL Sorguları paneline basın.
Hata Ayıklama SQL Sorguları paneline basın.

DebugPress Kullanıcı sekmesinde mevcut kullanıcının tüm bilgilerine sahibiz. Bu, hem wp_users tablosunda hem de WordPress veritabanının wp_usermeta tablosunda bulabileceğimiz bilgileri içerir.

Veritabanına erişiminiz yoksa ve kullanıcınızın rolünü ve size atanan belirli yetenekleri görmeniz gerekiyorsa, bu panel çok faydalı olacaktır.

DebugPress Kullanıcı Paneli.
DebugPress Kullanıcı Paneli.

Bir başka ilginç DebugPress paneli, WordPress'te sıraya alınan tüm stilleri ve komut dosyalarını belirli bir sayfada gösteren paneldir. JavaScript komut dosyalarımız kurulumları sırasında yüklenmediği için çoğu zaman bazı eklentilerimizin kullanıcılarıyla sorun yaşadık. Bu bilgilere sahip olmak, bizim gibi geliştiriciler için özel bir ilgi alanıdır.

Artık, WordPress kurulumlarına erişmemize izin verme konusunda daha isteksiz olan kullanıcılardan DebugPress'i yüklemelerini isteyebilir ve olması gerektiği gibi yüklenmeyen komut dosyaları olup olmadığını görmek için Enqueue sekmesinin ekran görüntüsünü bizimle paylaşabiliriz. Bu bilgilerle sorun giderme daha kolay olmalıdır.

DebugPress Enqueue Paneli.
DebugPress Enqueue Paneli.

PHP panelinde, geçerli sayfanın isteği için $_SERVER , $_REQUEST ve $_COOKIE PHP değişkenlerinde bulunan bilgileri görebiliriz:

DebugPress PHP Kontrol Paneli.
Hata Ayıklama PHP Paneline basın.

Ayrıca Sistem sekmesinde WordPress sunucusu hakkında genel bilgilere sahibiz. Burada kullandığınız PHP sürümünü, sunucu IP'sini ve yükleme boyutu ve yürütme süresindeki bazı sınırları görebilmeniz önemlidir:

DebugPress Sistem Paneli.
DebugPress Sistem Paneli.

Son olarak, AJAX sekmesinde, geçerli sayfada yürütülen AJAX çağrılarını görüyoruz. Bu görünümde ilginç şeyler bulamadığımı söylemeliyim: WordPress kurulumuna erişiminiz varsa, tarayıcının geliştirici konsolunda AJAX çağrıları hakkında bulabilecekleriniz, DebugPress'in burada gösterdiğinden çok daha ilginç.

Hata Ayıklama AJAX Paneline basın.
Hata Ayıklama AJAX Paneline basın.

Son olarak sağ üst köşede bulduğumuz DebugPress penceresini kapatma butonunun yanında kağıt yaprağı şeklinde bir buton olduğunu görüyoruz. Bu buton, başlangıçta etkinleştirdiğimiz WordPress günlüğünü görebileceğimiz görünümü açar.

Burada kurulumda logun nerede saklandığını ve dosyanın boyutunu görüyoruz. Günlük dosyasını yüklemek için büyük mavi düğmeyi kullanabilirsiniz, ancak korkarım bunu yapamadım.

DebugPress'teki WordPress günlüğünün görünümü.
DebugPress'teki WordPress günlüğünün görünümü.

Bu mavi düğmeye her tıkladığımda, DebugPress tarafından bir hata döndüren bir AJAX isteği başlatılıyor. Bu başarısız isteği DebugPress'in kendi AJAX sekmesinde görebiliriz.

WordPress günlük dosyasını herhangi bir metin düzenleyiciyle açarsam, bu düğmeye tıkladığımda DebugPress'te oluşan bir hata olduğunu görüyorum. Sanırım şu anda DebugPress'in bu sürümünde geliştiricinin gelecek sürümlerde düzelteceği bir hata var.

WordPress günlüğündeki bilgileri yüklemeye çalışırken DebugPress, DebugPress'in kendisinde görebileceğimiz bir hata veriyor.
WordPress günlüğünden bilgileri yüklemeye çalışırken, DebugPress, DebugPress'in kendisinde görebildiğimiz bir AJAX hatası veriyor.

Yine de, DebugPress'in sağladığı farklı görünümleri ve panelleri kapsamlı bir şekilde test ettikten sonra bulabildiğim tek dezavantaj bu oldu.

DebugPress hakkındaki görüş

DebugPress'in bize sağladığı tüm bilgilere başka yollarla da ulaşılabilse de, hepsini tek bir yerde bulundurmak bu eklentinin en değerli yanıdır.

Açıkçası, DebugPress, WordPress'inizde her zaman etkin durumda kalacak bir eklenti değildir, ancak neden olduğu hakkında fazla bir fikriniz olmayan bir istemcinin kurulumunda olası sorunları araştırmanız gerektiğinde çok yardımcı olabilir. Umarım DebugPress, hangi sorunların olduğunu tahmin etmenize yardımcı olabilir ve oradan WordPress'inizi düzeltmek için iş parçacığını çeker.

DebugPress ile WordPress'te sorunları bulmak biraz daha kolay olacak şekilde gerekli tüm bilgilere sahipsiniz. Umarım günlükle ilgili sorunları çözerler ve böylece WordPress geliştiricileri için tamamen önerilen bu eklentinin kalitesini daha da artırırlar.

Unsplash'ta Xuan Nguyen'in öne çıkan görseli.