{"id":7097,"date":"2024-05-16T17:12:43","date_gmt":"2024-05-16T15:12:43","guid":{"rendered":"https:\/\/www.nicalia.com\/nicapedia\/guias\/wordpress\/configuracion-de-wordpress\/lo-basico-sobre-wordpress\/habilitar-modo-debug-en-wordpress\/"},"modified":"2026-06-09T09:52:41","modified_gmt":"2026-06-09T07:52:41","slug":"habilitar-modo-debug-en-wordpress","status":"publish","type":"docs","link":"https:\/\/www.nicalia.com\/nicapedia\/habilitar-modo-debug-en-wordpress\/","title":{"rendered":"C\u00f3mo habilitar el modo Debug en WordPress: gu\u00eda completa"},"content":{"rendered":"<p>El <strong>modo Debug<\/strong> de WordPress es un sistema de diagn\u00f3stico integrado en el n\u00facleo del CMS que registra errores PHP, avisos y advertencias generados por el c\u00f3digo de WordPress, los plugins y el tema activo. Activarlo te permite identificar la causa exacta de errores, pantallas en blanco o comportamientos inesperados que de otro modo ser\u00edan invisibles.<\/p>\n<p>La configuraci\u00f3n del modo Debug se realiza editando el archivo <strong>wp-config.php<\/strong>, ubicado en la carpeta ra\u00edz de tu instalaci\u00f3n de WordPress. Puedes acceder a \u00e9l desde el <a href=\"https:\/\/www.nicalia.com\/nicapedia\/acceder-al-administrador-de-archivos\/\">Administrador de Archivos de cPanel<\/a> o mediante <a href=\"https:\/\/www.nicalia.com\/nicapedia\/acceder-a-ftp-con-filezilla-de-forma-rapida-y-sencilla\/\">FTP con FileZilla<\/a>.<\/p>\n<p>\u26a0\ufe0f <strong>No dejes el modo Debug activo en un sitio en producci\u00f3n con tr\u00e1fico real.<\/strong> Las constantes <code>WP_DEBUG<\/code> y <code>WP_DEBUG_DISPLAY<\/code> en <code>true<\/code> pueden mostrar informaci\u00f3n t\u00e9cnica sensible (rutas del servidor, nombres de usuario, etc.) a los visitantes del sitio. \u00dasalas solo para diagn\u00f3stico y desact\u00edvalas cuando termines.<\/p>\n<p><!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     H2: CONSTANTES DE DEBUG\n     \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 --><\/p>\n<h2>Constantes de debug disponibles en WordPress<\/h2>\n<table>\n<thead>\n<tr>\n<th>Constante<\/th>\n<th>Valor<\/th>\n<th>Efecto<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>WP_DEBUG<\/code><\/td>\n<td><code>true<\/code><\/td>\n<td>Activa el modo debug. Habilita el registro de errores, avisos y <em>notices<\/em> de PHP.<\/td>\n<\/tr>\n<tr>\n<td><code>WP_DEBUG<\/code><\/td>\n<td><code>false<\/code><\/td>\n<td>Desactiva el modo debug (valor por defecto).<\/td>\n<\/tr>\n<tr>\n<td><code>WP_DEBUG_DISPLAY<\/code><\/td>\n<td><code>false<\/code><\/td>\n<td>Oculta los errores en la pantalla (no los muestra a los visitantes). Recomendado en producci\u00f3n.<\/td>\n<\/tr>\n<tr>\n<td><code>WP_DEBUG_LOG<\/code><\/td>\n<td><code>true<\/code><\/td>\n<td>Guarda los errores en un archivo <code>debug.log<\/code> dentro de <code>wp-content\/<\/code>.<\/td>\n<\/tr>\n<tr>\n<td><code>WP_DEBUG_LOG<\/code><\/td>\n<td><code>'\/ruta\/al\/archivo.log'<\/code><\/td>\n<td>Guarda los errores en un archivo con ruta y nombre personalizados.<\/td>\n<\/tr>\n<tr>\n<td><code>SCRIPT_DEBUG<\/code><\/td>\n<td><code>true<\/code><\/td>\n<td>Fuerza a WordPress a cargar las versiones no minificadas de los archivos CSS y JS del n\u00facleo.<\/td>\n<\/tr>\n<tr>\n<td><code>SAVEQUERIES<\/code><\/td>\n<td><code>true<\/code><\/td>\n<td>Guarda las consultas a la base de datos para su an\u00e1lisis. Impacto en rendimiento \u2014 solo para desarrollo.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     H2: CONFIGURACI\u00d3N RECOMENDADA\n     \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 --><\/p>\n<h2>Configuraci\u00f3n recomendada seg\u00fan el contexto<\/h2>\n<h3>Para producci\u00f3n \u2014 Debug activo pero silencioso<\/h3>\n<p>Esta configuraci\u00f3n activa el debug y guarda los errores en un archivo de log, pero <strong>no los muestra en pantalla<\/strong> a los visitantes:<\/p>\n<pre><code>\/\/ Activar modo Debug\ndefine('WP_DEBUG', true);\n\n\/\/ No mostrar errores en pantalla\ndefine('WP_DEBUG_DISPLAY', false);\n@ini_set('display_errors', 0);\n\n\/\/ Guardar errores en wp-content\/debug.log\ndefine('WP_DEBUG_LOG', true);<\/code><\/pre>\n<p>Con esta configuraci\u00f3n, los errores se escriben en <code>wp-content\/debug.log<\/code> y puedes revisarlos cuando necesites sin exponer informaci\u00f3n al p\u00fablico.<\/p>\n<h3>Para desarrollo local \u2014 Debug completo con salida en pantalla<\/h3>\n<p>Esta configuraci\u00f3n muestra los errores directamente en pantalla, \u00fatil cuando trabajas en local o en un entorno de desarrollo sin visitantes:<\/p>\n<pre><code>\/\/ Activar modo Debug con salida en pantalla\ndefine('WP_DEBUG', true);\ndefine('WP_DEBUG_DISPLAY', true);\ndefine('WP_DEBUG_LOG', true);<\/code><\/pre>\n<h3>Para desactivar el debug completamente<\/h3>\n<pre><code>define('WP_DEBUG', false);<\/code><\/pre>\n<p><!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     H2: C\u00d3MO EDITAR WP-CONFIG\n     \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 --><\/p>\n<h2>C\u00f3mo editar wp-config.php paso a paso<\/h2>\n<ol>\n<li>Accede al <a href=\"https:\/\/www.nicalia.com\/nicapedia\/acceder-al-administrador-de-archivos\/\">Administrador de Archivos de cPanel<\/a> o conecta por FTP con <a href=\"https:\/\/www.nicalia.com\/nicapedia\/acceder-a-ftp-con-filezilla-de-forma-rapida-y-sencilla\/\">FileZilla<\/a>.<\/li>\n<li>Navega hasta la carpeta ra\u00edz de tu instalaci\u00f3n de WordPress (normalmente <code>public_html<\/code> o el subdirectorio donde instalaste WordPress).<\/li>\n<li>Localiza el archivo <code>wp-config.php<\/code> y \u00e1brelo para editar.<\/li>\n<li>Busca la l\u00ednea que contiene <code>define('WP_DEBUG'<\/code>. Si ya existe, modifica el valor. Si no existe, a\u00f1ade las constantes <strong>antes<\/strong> de la l\u00ednea <code>\/* That's all, stop editing! *\/<\/code>.<\/li>\n<li>Guarda los cambios.<\/li>\n<\/ol>\n<p>\u2139\ufe0f Las constantes de debug deben colocarse antes de la l\u00ednea <code>\/* That's all, stop editing! Happy publishing. *\/<\/code> para que WordPress las procese correctamente.<\/p>\n<p><!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     H2: LEER EL ERROR LOG\n     \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 --><\/p>\n<h2>C\u00f3mo leer el archivo de log de debug<\/h2>\n<p>Cuando <code>WP_DEBUG_LOG<\/code> est\u00e1 en <code>true<\/code>, WordPress guarda los errores en el archivo <code>wp-content\/debug.log<\/code>. Para revisarlo:<\/p>\n<ul>\n<li><strong>Desde el Administrador de Archivos:<\/strong> navega a <code>wp-content\/<\/code> y abre el archivo <code>debug.log<\/code> con el editor de texto.<\/li>\n<li><strong>Desde SSH:<\/strong> ejecuta <code>tail -f \/ruta\/a\/wp-content\/debug.log<\/code> para ver los errores en tiempo real mientras reproduces el problema.<\/li>\n<li><strong>Desde FTP:<\/strong> descarga el archivo <code>debug.log<\/code> a tu equipo y \u00e1brelo con cualquier editor de texto.<\/li>\n<\/ul>\n<p>Una vez reproducido el error que est\u00e1s investigando, busca en el log las l\u00edneas m\u00e1s recientes \u2014 estar\u00e1n al final del archivo. Cada l\u00ednea suele indicar el tipo de error (PHP Notice, PHP Warning, PHP Fatal error), el mensaje descriptivo, el archivo afectado y la l\u00ednea exacta del c\u00f3digo.<\/p>\n<p>Ejemplo de entrada en el log:<\/p>\n<pre><code>[23-Sep-2025 18:42:11 UTC] PHP Warning: Undefined variable $ejemplo in \/home\/usuario\/public_html\/wp-content\/plugins\/mi-plugin\/mi-plugin.php on line 45<\/code><\/pre>\n<p>\u26a0\ufe0f <strong>El archivo debug.log puede crecer mucho<\/strong> si hay errores recurrentes. Vac\u00edalo o elim\u00ednalo peri\u00f3dicamente, y desactiva <code>WP_DEBUG<\/code> cuando termines el diagn\u00f3stico.<\/p>\n<p><!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     H2: ERRORES COMUNES\n     \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 --><\/p>\n<h2>Situaciones frecuentes con el modo Debug<\/h2>\n<h3>Activo WP_DEBUG pero no veo ning\u00fan error en pantalla<\/h3>\n<p>Verifica que <code>WP_DEBUG_DISPLAY<\/code> no est\u00e1 en <code>false<\/code> en tu <code>wp-config.php<\/code>. Tambi\u00e9n puede estar sobreescrito por una configuraci\u00f3n en el servidor (<code>php.ini<\/code> o <code>.htaccess<\/code>) que deshabilita la salida de errores. En ese caso, usa <code>WP_DEBUG_LOG<\/code> para guardar los errores en el archivo de log y revisarlos desde ah\u00ed.<\/p>\n<h3>El archivo debug.log no se crea aunque WP_DEBUG_LOG est\u00e1 en true<\/h3>\n<p>El directorio <code>wp-content\/<\/code> puede no tener permisos de escritura. Verifica los permisos de la carpeta <code>wp-content\/<\/code> \u2014 deben ser <code>755<\/code> o <code>775<\/code>. Tambi\u00e9n puede ocurrir que <code>WP_DEBUG<\/code> est\u00e9 en <code>false<\/code> \u2014 <code>WP_DEBUG_LOG<\/code> solo funciona cuando <code>WP_DEBUG<\/code> est\u00e1 en <code>true<\/code>.<\/p>\n<h3>La web muestra pantalla en blanco despu\u00e9s de activar el debug<\/h3>\n<p>La pantalla blanca suele indicar un error fatal de PHP que impide que WordPress cargue. Con <code>WP_DEBUG_DISPLAY<\/code> en <code>true<\/code> deber\u00eda mostrarse el mensaje de error. Si sigue en blanco, revisa directamente el archivo <code>wp-content\/debug.log<\/code> o el log de errores de PHP de cPanel en <em>Estad\u00edsticas \u2192 Registro de errores<\/em>.<\/p>\n<h3>Aparecen muchos PHP Notice o PHP Deprecated en el log<\/h3>\n<p>Los <em>notices<\/em> y los <em>deprecated<\/em> son avisos de c\u00f3digo que deber\u00eda actualizarse, pero no son errores fatales \u2014 el sitio funciona con normalidad. Si tienes muchos, es se\u00f1al de que alg\u00fan plugin o tema est\u00e1 desactualizado o usa funciones antiguas de PHP. Lo recomendable es actualizarlos. Si el volumen de notices dificulta encontrar el error real que buscas, puedes usar <code>error_reporting(E_ALL &amp; ~E_NOTICE &amp; ~E_DEPRECATED)<\/code> temporalmente para filtrarlos.<\/p>\n<p><!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     H2: FAQ\n     \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 --><\/p>\n<h2>Preguntas frecuentes sobre el modo Debug de WordPress<\/h2>\n<h3>\u00bfC\u00f3mo activar el modo Debug en WordPress?<\/h3>\n<p>Edita el archivo <code>wp-config.php<\/code> en la ra\u00edz de tu WordPress y a\u00f1ade (o modifica) la l\u00ednea: <code>define('WP_DEBUG', true);<\/code> antes de <code>\/* That's all, stop editing! *\/<\/code>. Para guardar los errores en un log sin mostrarlos en pantalla a\u00f1ade tambi\u00e9n: <code>define('WP_DEBUG_DISPLAY', false);<\/code> y <code>define('WP_DEBUG_LOG', true);<\/code><\/p>\n<h3>\u00bfD\u00f3nde se guarda el archivo de log de debug de WordPress?<\/h3>\n<p>Por defecto en <code>wp-content\/debug.log<\/code>. Si quieres cambiar la ruta, puedes pasar una ruta personalizada como valor de la constante: <code>define('WP_DEBUG_LOG', '\/ruta\/personalizada\/mi-log.log');<\/code><\/p>\n<h3>\u00bfEs seguro tener WP_DEBUG activado en producci\u00f3n?<\/h3>\n<p>Solo si <code>WP_DEBUG_DISPLAY<\/code> est\u00e1 en <code>false<\/code> \u2014 as\u00ed los errores no se muestran a los visitantes. La combinaci\u00f3n recomendada para producci\u00f3n es <code>WP_DEBUG true<\/code> + <code>WP_DEBUG_DISPLAY false<\/code> + <code>WP_DEBUG_LOG true<\/code>, que registra los errores de forma silenciosa sin exponerlos al p\u00fablico.<\/p>\n<h3>\u00bfEl modo Debug afecta al rendimiento de WordPress?<\/h3>\n<p>M\u00ednimamente cuando solo est\u00e1 activo <code>WP_DEBUG<\/code> y <code>WP_DEBUG_LOG<\/code>. El impacto es mayor si activas <code>SAVEQUERIES<\/code> (guarda todas las consultas SQL) o si el sitio genera muchos errores y el log crece continuamente. Para uso normal de diagn\u00f3stico el impacto es insignificante.<\/p>\n<h3>\u00bfC\u00f3mo desactivar el modo Debug despu\u00e9s de diagnosticar el problema?<\/h3>\n<p>Edita <code>wp-config.php<\/code> y cambia <code>define('WP_DEBUG', true);<\/code> a <code>define('WP_DEBUG', false);<\/code>. Guarda el archivo. Si tambi\u00e9n ten\u00edas <code>WP_DEBUG_LOG<\/code> activo, recuerda vaciar o eliminar el archivo <code>wp-content\/debug.log<\/code> para que no siga acumulando tama\u00f1o.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>El modo Debug de WordPress es un sistema de diagn\u00f3stico integrado en el n\u00facleo del CMS que registra errores PHP, avisos y advertencias generados por el c\u00f3digo de WordPress, los plugins y el tema activo. Activarlo te permite identificar la causa exacta de errores, pantallas en blanco o comportamientos inesperados que de otro modo ser\u00edan [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"parent":7071,"menu_order":33,"comment_status":"open","ping_status":"closed","template":"","doc_tag":[],"doc_badge":[],"class_list":["post-7097","docs","type-docs","status-publish","hentry","no-post-thumbnail"],"acf":[],"author_avatar":"https:\/\/secure.gravatar.com\/avatar\/4471485c4e49f46218d6b6d125f80f4cde1f86f045fd896202eefddaf4d4510a?s=96&d=mm&r=g","author_name":"Francisco Garvi","_links":{"self":[{"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/docs\/7097","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/comments?post=7097"}],"version-history":[{"count":4,"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/docs\/7097\/revisions"}],"predecessor-version":[{"id":10094,"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/docs\/7097\/revisions\/10094"}],"up":[{"embeddable":true,"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/docs\/7071"}],"wp:attachment":[{"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/media?parent=7097"}],"wp:term":[{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/doc_tag?post=7097"},{"taxonomy":"doc_badge","embeddable":true,"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/doc_badge?post=7097"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}