Debugging WordPress: Panduan Yang Perlu Anda Ketahui

Diterbitkan: 2023-06-27

Tautan terlemah dalam proyek pengkodean apa pun adalah Anda . Artinya, kesalahan manusia hampir selalu menjadi jaminan, yang akan muncul dalam bentuk bug dan masalah lainnya. Anda tidak ingin semua ini masuk ke situs langsung Anda, itulah sebabnya debugging WordPress adalah langkah yang diperlukan selama proyek Anda.

Faktanya, WordPress menyertakan mode debugnya sendiri, yang dapat membantu saat Anda bekerja dengan platform tersebut. Jika Anda menggabungkan ini dengan debugger di luar platform, Anda akan memiliki sistem yang kuat untuk menangkap apa pun yang bersembunyi di kegelapan.

Untuk posting ini, kita akan melihat 🔎 WordPress debugging, dan menunjukkan cara menyiapkannya. Namun pertama-tama, kita akan melihat perbedaan antara debugging WordPress dan jenis penangkapan bug lainnya. Dari sana, kami akan menjelaskan mengapa WordPress membutuhkan sistem debugnya sendiri sebelum kami menunjukkan cara menggunakannya.

Perbedaan antara debugging WordPress dan debugging kode umum

Tentu saja, WordPress menggunakan PHP untuk menjalankan hampir semuanya, seperti banyak aplikasi web lainnya. Namun, debugging WordPress dapat berbeda dari debugging kode umum karena struktur dan ekosistemnya yang spesifik.

Perbedaan utama antara debugging WordPress dan debugging kode umum adalah bagaimana Anda akan melihat kesalahan. WordPress akan menampilkan pesan kesalahan yang berkaitan dengan platform di frontend. Sebaliknya, debug kode umum sering terjadi di dalam Terminal atau editor kode khusus Anda:

Intellij IDEA IDE menjalankan debugger.

Perbedaan lainnya adalah penggunaan fungsi khusus WordPress untuk membantu proses debug. WordPress menyediakan serangkaian fungsinya sendiri yang akan Anda gunakan untuk berinteraksi dengan Content Management System (CMS). Ini berbeda dari fungsi PHP biasa, dan akan mengharuskan Anda mengambil pendekatan khusus untuk menggunakannya untuk debugging.

Secara keseluruhan, perbedaan antara debugging WordPress dan debugging kode umum terletak pada struktur spesifik dan ekosistem WordPress. Dengan demikian, Anda harus memahami arsitektur WordPress, bersama dengan apa yang ditawarkan platform untuk men-debug masalah secara efektif.

Mengapa debugging WordPress memerlukan proses khusus

WordPress tidak hanya menggunakan PHP intinya. Itu juga menjalankan PHP eksternal dalam bentuk tema dan plugin. Jika Anda menggabungkan pengembangan pihak ketiga dengan cara menggabungkan semua ini, ini bisa menimbulkan bug saat Anda menggabungkan semua kode menjadi satu. Dengan demikian, WordPress menawarkan alat debugging sendiri untuk membantu membasmi masalah ini selama pengembangan.

Area lain yang perlu Anda pahami (dan yang memengaruhi mengapa Anda memerlukan debugging WordPress khusus) adalah file inti dan struktur foldernya. Membuat tema, misalnya, bergantung pada hierarki template yang mungkin penting saat Anda melakukan pemindaian baris untuk menemukan sumber kesalahan.

Gambaran umum tentang hierarki template WordPress.
Kredit gambar: WordPress.org

Selain itu, desain WordPress didasarkan pada Pengalaman Pengguna (UX) yang baik. Proses debug WordPress khusus memperhitungkan kebutuhan akan pelaporan kesalahan yang mudah digunakan. Alih-alih menggunakan pelacakan tumpukan yang rumit dalam editor kode Anda, WordPress malah menampilkan pesan kesalahan yang jelas di frontend:

Kesalahan WordPress di front-end situs web.

Berbicara tentang UX, WordPress menawarkan serangkaian fungsi khusus untuk membantu membuat alur kerja Anda lebih efisien dan aman. Akibatnya, proses debug khusus WordPress berarti Anda harus memahami fungsi-fungsi ini dan bagaimana mereka berinteraksi dengan platform.

Secara keseluruhan, WordPress memiliki ekosistem yang kompleks, fokus pada UX, dan fungsi khusus. Semua ini membutuhkan mode debugnya sendiri. Di bagian selanjutnya, kita akan melihat cara mengaktifkannya.

Cara mengaktifkan mode debug WordPress (dan fungsinya)

Anda dapat mengaktifkan mode debug WordPress melalui file wp-config.php . Kami memiliki panduan cepat tentang cara melakukan ini, dan Anda tidak akan membutuhkan waktu lebih dari satu menit. Namun, ada beberapa mode berbeda yang ingin Anda ketahui, dan berpotensi digunakan:

  • WP_DEBUG . Ini adalah mode debug dasar di WordPress. Ini memungkinkan debugging umum di dalam platform.
  • WP_DEBUG_LOG . Mode ini menyimpan semua kesalahan, peringatan, dan pemberitahuan PHP ke file debug.log di direktori konten-wp . Ini berguna untuk mengidentifikasi masalah yang sulit ditemukan yang tidak muncul di frontend.
  • WP_DEBUG_DISPLAY . Mode ini menampilkan semua error, peringatan, dan pemberitahuan PHP di frontend. Ini berguna untuk mengidentifikasi masalah dengan tema dan plugin, tetapi mungkin juga menampilkan pesan untuk elemen yang tampaknya tidak rusak. Misalnya, Anda akan sering melihat pemberitahuan tentang konvensi validasi data yang salah.

Ketiga fungsi ini dapat terjalin, jadi Anda harus berhati-hati agar dapat menggunakannya secara optimal dan aman. Misalnya, Anda sering ingin mengaktifkan WP_DEBUG dan WP_DEBUG_LOG untuk menyimpan kesalahan apa pun ke file debug.log . Namun, jika Anda tidak menonaktifkan WP_DEBUG_DISPLAY , menampilkan error tersebut di frontend akan berdampak buruk bagi UX.

Anda juga dapat melampaui perintah roti dan mentega dan mengaktifkan beberapa konstanta lain yang kami bahas di artikel lain:

  • SCRIPT_DEBUG . Untuk alasan kinerja, WordPress menggunakan file CSS dan JavaScript yang diperkecil, tetapi ini bisa menjadi mimpi buruk untuk di-debug. Setelah Anda mengaktifkan SCRIPT_DEBUG , WordPress akan menggunakan versi pengembangan file yang tidak dioptimalkan.
  • SAVEQUERIES . Ini menyimpan semua kueri database dalam larik, yang dapat membantu Anda mengidentifikasi kueri yang lambat atau tidak efisien yang memengaruhi kinerja situs Anda.

WordPress tidak akan menjadi platform tanpa pluginnya. Karena itu, ada banyak plugin yang berguna untuk membantu proses debug WordPress. Selanjutnya, kita akan melihat beberapa.

Menggunakan plugin debugging WordPress selama pengembangan

Plugin harus menjadi bagian dari gudang senjata Anda untuk membantu menyelidiki kesalahan. Faktanya, dokumentasi resmi WordPress tentang debugging menyertakan beberapa opsi yang direkomendasikan.

Misalnya, Query Monitor akan memberi Anda informasi mendetail tentang kueri yang Anda jalankan. Ini adalah cara yang fantastis untuk membantu mengidentifikasi kueri yang menyebabkan masalah kinerja.

Debug Bar menambahkan menu debug ke bilah admin WordPress. Ini memungkinkan Anda mengakses informasi debug setiap saat, dan menyertakan informasi mendetail tentang kesalahan PHP, kueri basis data, serta permintaan HTTP.

Karena WordPress menggunakan banyak fungsi dan konstanta khusus, Anda mungkin ingin mengawasi apakah mereka tidak digunakan lagi. Plugin Log Deprecated Notices mengidentifikasi (dan mencatat) setiap penggunaan fungsi, hook, atau argumen yang tidak digunakan lagi di WordPress. Anda akan menggunakan plugin untuk membantu menjaga kode Anda tetap up-to-date dengan standar WordPress terbaru.

Namun, masih banyak lagi plugin yang dapat Anda instal untuk membantu proses debug WordPress. Salah satu opsi fantastis adalah Simply Show Hooks:

Plugin ini memungkinkan Anda melihat setiap pengait yang dijalankan halaman. Ini akan sering menjadi plugin go-to, karena Anda dapat melihat sekilas apa yang digunakan WordPress untuk mengait halaman, yang akan mengurangi perburuan awal Anda untuk bug.

Jika Anda ingin menemukan plugin yang lebih merupakan solusi lengkap, DebugPres bisa menjadi pilihan yang baik:

Plugin ini memberi Anda informasi debug waktu-nyata, yang mencakup kesalahan PHP, kueri basis data, dan permintaan HTTP. Ini juga mencakup konsol waktu nyata untuk memantau kesalahan sisi server.

Anda mungkin ingin melakukan semi-otomatis pembuatan contoh awal dari mode debug WordPress. Inilah gunanya plugin WP Debugging yang luar biasa.

Ini memungkinkan Anda menyetel status default untuk semua konstanta debug yang tersedia tanpa perlu membuka file wp-config.php . Anda akan mengaktifkannya melalui aktivasi dan penonaktifan cepat di dalam menu Plugin WordPress.

Memilih plugin debugging WordPress

Ketika datang untuk memilih plugin debugging WordPress, metrik kualitas plugin seperti waktu Pembaruan Terakhir kurang menjadi perhatian. Ini karena mereka sering melakukan tugas yang tidak memerlukan basis kode arus konstan.

Misalnya, Log Deprecated Notices memiliki pembaruan terakhir pada tahun 2021. Namun, meskipun demikian, ini masih merupakan plugin yang direkomendasikan untuk pengembang WordPress. Karena itu, kami berpendapat bahwa jika plugin berfungsi sebagaimana mestinya dan tidak menimbulkan masalah lebih lanjut, Anda sebaiknya menggunakannya untuk tujuan debugging.

Manfaat Pemantauan Kinerja Aplikasi (APM)

Alat APM memungkinkan Anda memantau kinerja aplikasi, termasuk situs web WordPress. Informasi kinerja mendetail mencakup waktu respons, tingkat kesalahan, dan lainnya.

Sepertinya alat APM dan debugging tidak memiliki banyak kesamaan. Namun, ini dapat membantu Anda mengurangi beberapa pekerjaan debug, bergantung pada skenarionya. Terlebih lagi, Anda dapat melakukan debug terlebih dahulu, lalu mempertahankan performa tersebut menggunakan APM.

Dalam hal debugging WordPress, alat APM memiliki sejumlah manfaat:

  • Anda dapat mengidentifikasi hambatan kinerja di situs web WordPress Anda. Analisis waktu nyata berarti Anda dapat mengidentifikasi masalah apa pun yang mungkin memperlambat situs web Anda.
  • Alat APM dapat membantu mengoptimalkan kinerja situs Anda. Ini memungkinkan Anda melakukan peningkatan yang ditargetkan dan meningkatkan kinerja secara keseluruhan.
  • Dengan memantau metrik kinerja utama, Anda dapat mengidentifikasi masalah apa pun yang mungkin memengaruhi kesehatan situs web Anda.
  • Alat APM juga dapat membantu mengidentifikasi masalah keamanan di situs web WordPress Anda. Dengan memantau lalu lintas dan aktivitas situs, Anda dapat menemukan perilaku yang tidak biasa atau mencurigakan yang mungkin merupakan indikasi masalah keamanan.

Ada beberapa alat APM yang tersedia yang cocok dengan WordPress. Misalnya, Kinsta memiliki alat APM sendiri, sementara WP Engine mengintegrasikan APM Relik Baru ke dalam layanannya.

Secara umum, alat APM dapat membantu meningkatkan UX situs web WordPress Anda, dan berdampak pada pekerjaan debug Anda. Meskipun ini bukan pengganti, APM dapat membantu Anda memastikan apakah perbaikan bug sudah optimal, dan di mana Anda dapat meningkatkan kode Anda.

Kiat untuk membantu Anda dengan debugging WordPress

Fokus kami untuk posting ini adalah pada debugging WordPress. Dengan pemikiran ini, kami akan menawarkan enam tips untuk membantu Anda mendapatkan sesi debug yang lebih baik.

  1. Mulailah dengan analisis kode statis
  2. Bersandar pada alat debugging Anda
  3. Klasifikasikan setiap bug yang Anda temui
  4. Mundur dan lakukan pencarian biner untuk mencari setiap kemungkinan bug
  5. Jalankan debugger setelah setiap rangkaian kode baru
  6. Lihatlah untuk memecahkan masalah daripada menghancurkan bug

1. Mulailah dengan analisis kode statis

Analisis kode statis adalah tempat Anda menganalisis kode tanpa menjalankannya. Tujuan Anda adalah untuk mengidentifikasi potensi kesalahan dan kerentanan. Anda dapat melakukan ini melalui pemindaian baris demi baris, meskipun alat akan lebih efisien. PHP CodeSniffer atau PHP Mess Detector keduanya bekerja dengan baik di sini, dengan yang pertama juga menjadi bagian dari alat pengeditan JetBrains.

Alat-alat ini dapat membantu mengidentifikasi pelanggaran standar pengkodean, kode yang tidak digunakan, dan masalah potensial lainnya yang dapat memengaruhi kinerja dan keamanan situs web WordPress Anda. Biasanya Anda akan menginstalnya di lingkungan pengembangan dan menjalankannya di basis kode Anda. Laporan yang dihasilkan akan menguraikan setiap potensi masalah. Ini memberi Anda cara untuk mengidentifikasi dan memperbaikinya.

Dimulai dengan analisis kode statis memungkinkan Anda mengatasi potensi masalah sejak awal dalam proses pengembangan. Ini dapat membantu memastikan situs web WordPress Anda berfungsi dengan baik, sebelum masalah apa pun menjadi lebih sulit dan memakan waktu untuk diperbaiki.

2. Bersandar pada alat debug Anda

Berbicara tentang alat debugging, mereka hampir penting terlepas dari bahasa atau platform CMS Anda. Ini terutama berlaku untuk WordPress, karena ada berbagai plugin hebat untuk membantu Anda. Namun, alat pihak ketiga di luar platform juga akan memberikan nilai.

Dalam kebanyakan kasus, alat debug akan memberi Anda pemahaman yang lebih dalam tentang situs Anda. Ini akan memungkinkan Anda membuat keputusan yang lebih tepat dalam hal mengoptimalkan kinerja, meningkatkan UX, dan meningkatkan keamanan.

3. Klasifikasikan setiap bug yang Anda temui

Satu tugas admin rutin dengan debugging adalah mengklasifikasikan setiap bug yang Anda temukan. Ini dapat membantu dalam hal mengidentifikasi akar penyebab suatu masalah dan menentukan perbaikan terbaik.

Anda sebaiknya mempertimbangkan beberapa faktor di sini, seperti tingkat keparahan masalah, dampak pada UX, dan kerumitan perbaikan. Misalnya, Anda dapat menggunakan sistem tingkat keparahan, seperti kritis, mayor, minor, atau kosmetik. Ini dapat membantu memprioritaskan bug mana yang harus diatasi terlebih dahulu, berdasarkan dampaknya terhadap fungsionalitas situs web dan UX.

Cara lain untuk mengklasifikasikan bug adalah dengan menggunakan kategori seperti kegunaan, fungsionalitas, atau keamanan. Ini dapat membantu mengidentifikasi bagaimana bug berdampak pada area tertentu di situs web Anda. Pada gilirannya, ini mempermudah untuk menentukan akar penyebab masalah dan pendekatan terbaik untuk memperbaikinya.

Terlebih lagi, Anda tidak memerlukan sistem khusus untuk menyimpannya – spreadsheet berfungsi dengan baik. Anda bahkan mungkin memiliki sistem di dalam editor kode atau Lingkungan Pengembangan Terintegrasi (IDE) seperti kode warna.

4. Mundur dan lakukan pencarian biner untuk mencari setiap kemungkinan bug

"Backtracking" adalah tempat Anda menelusuri kembali langkah-langkah Anda untuk mengidentifikasi di mana bug muncul pertama kali. Anda mungkin melihat perubahan kode terbaru, menguji basis kode sebelumnya, atau meninjau log Anda. Ini adalah cara yang baik untuk merampingkan proses debugging untuk memastikan Anda mengatasi semua potensi masalah.

Dengan cara yang sama, pencarian biner dapat menjadi teknik yang berguna untuk debugging WordPress, terutama ketika berhadapan dengan masalah yang kompleks. Ini melibatkan pengujian bagian yang berbeda dari basis kode dengan cara yang sistematis untuk mengidentifikasi lokasi bug. Anda dapat mengisolasi bagian kode tertentu, menjalankan pengujian, lalu pindah ke bagian berikutnya untuk lebih mempersempit masalah.

Ini adalah cara yang efisien untuk mengidentifikasi bug dan mencari cara untuk memperbaikinya. Anda mungkin akan menghemat waktu dan tenaga dibandingkan dengan pendekatan debug yang lebih serampangan. Lebih baik lagi, ini mungkin pendekatan yang lebih baik untuk basis kode yang lebih besar atau masalah yang lebih kompleks.

Namun, pencarian biner memang membutuhkan pendekatan metodis dan terorganisir untuk menguji dan mengevaluasi semua potensi masalah. Dengan demikian, dokumentasi itu penting, karena memungkinkan Anda mereproduksi dan memperbaiki masalah apa pun yang Anda identifikasi dengan mudah.

5. Jalankan debugger setelah setiap rangkaian kode baru

Sama seperti menyimpan perubahan Anda secara berkala, Anda juga harus membiasakan menjalankan debugger setelah setiap rangkaian kode selesai. Tentu saja, Anda ingin memastikan kode berfungsi seperti yang Anda inginkan sebelum melanjutkan.

Salah satu manfaat besar di sini adalah bagaimana Anda tidak akan memiliki bug yang tersisa. Hal ini dapat membantu mencegah masalah dari bola salju dan menjadi lebih sulit untuk diperbaiki saat pengembangan berlangsung.

Namun, pendekatan ini dapat memakan waktu, terutama untuk basis kode yang besar atau masalah yang tidak kritis. Karena itu, Anda mungkin membatasi menjalankan debugger hanya untuk perubahan kode penting, atau untuk area basis kode yang lebih bermasalah.

6. Berusaha memecahkan masalah daripada menghancurkan bug

Ketika datang ke debugging WordPress, akan sangat membantu untuk mengalihkan fokus Anda dari sekadar “menghancurkan bug” menjadi memecahkan masalah. Ini berarti mengambil pendekatan yang lebih proaktif untuk mengidentifikasi dan mengatasi masalah, daripada hanya bereaksi terhadap kesalahan yang terjadi.

Untuk memulai, cari akar penyebab masalah, kemudian bekerja untuk mengatasi penyebab tersebut, bukan hanya memperbaiki gejala langsung dari masalah tersebut. Ini mungkin melibatkan pengerjaan ulang bagian tertentu dari basis kode atau mengadopsi praktik pengembangan baru untuk mencegah masalah serupa terjadi di masa mendatang.

Pendekatan ini dapat meningkatkan kualitas dan keandalan proyek Anda secara keseluruhan, mengurangi kemungkinan masalah di masa mendatang, dan meningkatkan UX. Selain itu, pendekatan ini dapat membantu Anda mengidentifikasi area perbaikan dalam proses pengembangan Anda, yang akan menghasilkan praktik pengembangan yang lebih efisien dan efektif.

Ke atas

Kesimpulan 🧐

Singkatnya, debugging WordPress akan menggunakan platform untuk melaporkan kesalahan kode yang memengaruhi operasinya. Selain itu, Anda akan menggunakan beberapa plugin khusus untuk memperingatkan Anda tentang masalah. Faktanya, opsi yang Anda dapatkan untuk men-debug WordPress dapat bekerja berdampingan dengan alat debug biasa seperti Xdebug.

Kabar baiknya adalah Anda tidak memiliki proses integrasi yang kikuk saat berhubungan dengan WordPress. Anda dapat bekerja dengan file wp-config.php dan mengaktifkan debugger (dan masuk) menggunakan nilai boolean. Ini akan menunjukkan kesalahan terkait bersama dengan lebih banyak detail daripada yang sering Anda dapatkan. Dari sana, Anda dapat bekerja untuk memperbaiki bug dan membuat situs Anda hampir selesai.

Apakah Anda memiliki pertanyaan tentang debugging WordPress, atau skenario apa pun yang Anda temui? Beri tahu kami di bagian komentar di bawah!