Saltar al contenido
BeoHosting
BeoHosting
WordPress

Guía del archivo wp-config.php de WordPress

BeoHosting Team··11 min de lectura de lectura
Guía del archivo wp-config.php de WordPress

Qué es wp-config.php

El archivo wp-config.php es uno de los archivos más importantes de una instalación de WordPress porque contiene la configuración que controla cómo se comunica WordPress con la base de datos, cómo gestiona la seguridad, cómo trata los errores y cómo asigna los recursos del sistema. Este archivo se crea durante la instalación de WordPress y se encuentra en el directorio raíz del sitio. A diferencia de los ajustes del panel de administración, que se almacenan en la base de datos, los ajustes de wp-config.php se aplican antes de que WordPress siquiera establezca una conexión con la base de datos.

Comprender wp-config.php es esencial para cualquiera que gestione un sitio de WordPress con seriedad. Una configuración correcta de este archivo puede mejorar de forma notable la seguridad, el rendimiento y la estabilidad del sitio. Los errores en wp-config.php pueden dejar el sitio completamente inaccesible, porque el archivo se carga antes que todo lo demás. En esta guía repasamos cada ajuste importante con explicaciones de qué hace, qué valores utilizar y cuándo cambiarlo.

Ajustes de la base de datos

Constantes básicas

DB_NAME define el nombre de la base de datos que utiliza WordPress. Este nombre se crea en el panel de control del hosting o a través de la línea de comandos de MySQL antes de instalar WordPress. DB_USER es el nombre de usuario para acceder a la base de datos con privilegios suficientes de lectura y escritura. DB_PASSWORD es la contraseña de ese usuario, que debe ser fuerte y única. Nunca utilices el usuario root para WordPress, porque eso supone un riesgo de seguridad.

DB_HOST es la dirección del servidor de la base de datos, normalmente localhost cuando el servidor web y la base de datos están en el mismo servidor. En algunas plataformas de hosting este valor puede ser distinto, como una dirección IP o una ruta de socket. DB_CHARSET define el conjunto de caracteres de la base de datos y debería ser utf8mb4, que admite todos los caracteres Unicode, incluidos los emojis. DB_COLLATE define las reglas de ordenación y comparación de texto y normalmente se deja vacío para que MySQL utilice la collation predeterminada del charset elegido.

Prefijo de las tablas

La constante table_prefix define el prefijo de todas las tablas de WordPress en la base de datos. El valor predeterminado es wp_, pero se recomienda cambiarlo durante la instalación por algo único como abc123_. Es una medida de seguridad básica que dificulta los ataques de inyección SQL, porque el atacante no puede adivinar los nombres de las tablas. Cambiar el prefijo después de la instalación es posible, pero requiere renombrar con cuidado todas las tablas y actualizar las referencias en las opciones y en los metadatos de usuario.

Claves de seguridad y salts

Qué son las claves de seguridad

WordPress utiliza ocho constantes de seguridad: AUTH_KEY, SECURE_AUTH_KEY, LOGGED_IN_KEY, NONCE_KEY y sus correspondientes variantes SALT. Estas claves se utilizan para cifrar la información almacenada en las cookies de usuario. Sin ellas, las sesiones de los usuarios serían vulnerables a la interceptación y al robo de identidad. Cada clave debe ser única, larga y aleatoria, con una combinación de letras, números y caracteres especiales.

WordPress ofrece un generador online en api.wordpress.org/secret-key que genera ocho claves aleatorias listas para copiar en wp-config.php. Se recomienda cambiar las claves periódicamente, sobre todo después de un incidente de seguridad, porque cambiarlas invalida todas las sesiones existentes y obliga a todos los usuarios a iniciar sesión de nuevo. Es una forma eficaz de cerrar inmediatamente la sesión de todos los usuarios, incluido un posible atacante que haya comprometido una cuenta de administrador.

Implementación correcta

Copia las claves generadas y sustituye los valores de marcador en wp-config.php. Cada clave debe ser única y nunca debes utilizar las mismas claves en dos sitios distintos. Si migras un sitio a un nuevo servidor, copia las claves del antiguo wp-config.php para que los usuarios no tengan que iniciar sesión de nuevo. Guarda una copia de seguridad de las claves en un lugar seguro, porque su pérdida no causa daños permanentes, pero obliga a todos los usuarios a iniciar sesión de nuevo.

Modo de depuración

WP_DEBUG

La constante WP_DEBUG controla si WordPress muestra los errores, advertencias y avisos de PHP. El valor predeterminado es false, que oculta todos los errores a los visitantes. Ponerla en true activa la visualización de errores y resulta útil durante el desarrollo o la resolución de problemas. En un sitio de producción, WP_DEBUG nunca debería estar en true, porque mostrar los errores a los visitantes revela información sobre la estructura del sitio que un atacante puede aprovechar.

WP_DEBUG_LOG

Cuando WP_DEBUG_LOG está en true, WordPress escribe todos los errores en el archivo wp-content/debug.log en lugar de mostrarlos en pantalla. Esto es ideal para sitios de producción en los que quieres registrar los errores sin mostrarlos a los visitantes. Puedes definir una ruta personalizada estableciendo WP_DEBUG_LOG en una ruta absoluta al archivo de registro. Revisa el archivo de registro con regularidad y elimínalo cuando crezca demasiado, porque puede ocupar un espacio considerable en el disco.

WP_DEBUG_DISPLAY

WP_DEBUG_DISPLAY controla si los errores se muestran en la página HTML. Ponla en false en combinación con WP_DEBUG en true y WP_DEBUG_LOG en true para que los errores se registren pero no se muestren a los visitantes. SCRIPT_DEBUG, cuando está en true, obliga a WordPress a utilizar las versiones sin comprimir de los archivos CSS y JavaScript, lo cual es útil para desarrollar temas y plugins, pero ralentiza el sitio en producción.

Límite de memoria

WP_MEMORY_LIMIT

WP_MEMORY_LIMIT define la cantidad máxima de memoria PHP que WordPress puede usar para procesar las solicitudes en el frontend. El valor predeterminado es 40M para las instalaciones estándar y 64M para Multisite. Para sitios con muchos plugins, bibliotecas de medios grandes o WooCommerce, se recomienda aumentarlo a 128M o 256M. Este valor no puede superar el ajuste memory_limit de PHP en el servidor, porque WordPress no puede solicitar más memoria de la que permite PHP.

WP_MAX_MEMORY_LIMIT

WP_MAX_MEMORY_LIMIT define el límite de memoria del panel de administración, que normalmente requiere más memoria que el frontend debido al procesamiento de imágenes, las actualizaciones y la gestión de contenidos. El valor predeterminado es 256M. Si recibes errores como «Allowed memory size exhausted» en el panel de administración, aumenta este valor. Ten en cuenta que un límite de memoria excesivamente alto puede enmascarar un problema de fuga de memoria en un plugin o tema en lugar de resolverlo.

Constantes avanzadas

Autoguardado y revisiones

AUTOSAVE_INTERVAL define el intervalo en segundos entre los guardados automáticos de las entradas en el editor. El valor predeterminado es 60 segundos. Reducirlo a 30 segundos proporciona copias de seguridad del contenido más frecuentes durante la redacción, pero aumenta las solicitudes al servidor. WP_POST_REVISIONS controla cuántas revisiones se almacenan por cada entrada. De forma predeterminada, WordPress conserva un número ilimitado de revisiones, lo que puede llenar la base de datos en sitios con mucho contenido. Establécelo en un número concreto como 5 o 10 para lograr un equilibrio razonable entre la seguridad del contenido y el tamaño de la base de datos.

Papelera

EMPTY_TRASH_DAYS define cuántos días se conserva el contenido eliminado en la papelera antes de su eliminación permanente. El valor predeterminado es 30 días. Redúcelo a 7 días si quieres limpiar más rápido el contenido eliminado de forma automática. Ponlo en 0 para desactivar por completo la papelera, lo que significa que el contenido se elimina permanentemente de inmediato. Esto no es recomendable, porque no hay opción de recuperar el contenido eliminado por accidente.

Actualizaciones automáticas

WP_AUTO_UPDATE_CORE controla las actualizaciones automáticas del núcleo de WordPress. El valor true habilita todas las actualizaciones, incluidas las versiones mayores; minor habilita solo las actualizaciones menores de seguridad, que es el valor predeterminado; y false desactiva por completo las actualizaciones automáticas. AUTOMATIC_UPDATER_DISABLED en true desactiva todos los procesos de actualización automática, incluidos los plugins y temas con la opción de actualización automática.

SSL y URL

FORCE_SSL_ADMIN en true fuerza el uso de HTTPS para el inicio de sesión y el panel de administración. Aprende más sobre la configuración de certificados SSL. Esto es obligatorio en todo sitio con un certificado SSL, porque protege las credenciales del administrador frente a la interceptación. WP_HOME y WP_SITEURL definen la URL del sitio y pueden ser útiles al migrar un sitio a una nueva dirección. Estas constantes tienen prioridad sobre los ajustes de la base de datos, lo que significa que puedes utilizarlas para cambiar la URL rápidamente sin acceder al panel de administración.

Cron y tareas programadas

WordPress utiliza el sistema wp-cron para las tareas programadas, como publicar las entradas programadas, comprobar las actualizaciones y enviar notificaciones por correo electrónico. WP-cron se ejecuta en cada visita al sitio, lo que no es ideal para sitios con poco tráfico o con muchísimo tráfico. DISABLE_WP_CRON en true desactiva este sistema y obliga a configurar un cron del sistema que ejecute wp-cron.php a intervalos regulares, normalmente cada 5 o 15 minutos.

ALTERNATE_WP_CRON utiliza un método alternativo para ejecutar las tareas programadas que es más fiable en algunos entornos de hosting. WP_CRON_LOCK_TIMEOUT define el tiempo en segundos durante el que se bloquea wp-cron para evitar el lanzamiento simultáneo de varias instancias. En BeoHosting, nuestros planes de hosting admiten el cron del sistema, que es más fiable que el sistema cron interno de WordPress, y podemos configurarlo para tu sitio.

Constantes de seguridad

Protección del sistema de archivos

DISALLOW_FILE_EDIT en true desactiva el editor integrado de temas y plugins del panel de administración. Es una medida de seguridad importante, porque si un atacante compromete una cuenta de administrador, no podrá utilizar el editor para inyectar código malicioso en los archivos de los temas o plugins. DISALLOW_FILE_MODS va un paso más allá y desactiva la instalación y actualización de temas y plugins a través del panel de administración, obligando a realizar todos los cambios por FTP o SSH.

Mover wp-config.php un directorio por encima de la raíz del sitio es posible, porque WordPress busca automáticamente el archivo en el directorio superior. Esto impide el acceso directo al archivo a través del navegador web en caso de que PHP deje de funcionar y el servidor empiece a servir los archivos PHP como texto. Combinar estas medidas con permisos de archivo correctos, 644 para wp-config.php o incluso 440 en servidores donde el usuario del servidor web tiene acceso, mejora notablemente la seguridad.

Optimización del rendimiento

Caché y compresión

WP_CACHE en true activa el mecanismo de los plugins de caché avanzados como WP Super Cache o W3 Total Cache. Esta constante permite cargar el archivo advanced-cache.php que crea el plugin de caché para procesar las solicitudes antes de que WordPress cargue todos los plugins y el tema. Sin esta constante, los plugins de caché no pueden funcionar de forma óptima. La compresión de contenido con define COMPRESS_CSS true y define COMPRESS_SCRIPTS true puede reducir el tamaño de los archivos CSS y JavaScript.

Base de datos

SAVEQUERIES en true registra todas las consultas a la base de datos y su tiempo de ejecución en la variable global wpdb queries. Esto es útil para diagnosticar un sitio lento, porque puedes identificar las consultas que tardan demasiado o que se repiten innecesariamente. Nunca lo dejes activado en producción, porque almacenar todas las consultas en memoria aumenta el consumo de recursos. Úsalo solo de forma temporal para el análisis del rendimiento, en combinación con un plugin como Query Monitor.

Conclusión

El archivo wp-config.php es el centro de control de la instalación de WordPress y define el comportamiento del sitio a un nivel fundamental. Una configuración correcta de las claves de seguridad, el modo de depuración, los límites de memoria y las constantes avanzadas puede mejorar de forma notable la seguridad, el rendimiento y la estabilidad del sitio. Revisa y actualiza los ajustes con regularidad a medida que crece el sitio y cambia la infraestructura. En BeoHosting, nuestro equipo puede ayudarte a optimizar los ajustes de wp-config.php para obtener el máximo rendimiento en nuestra plataforma de hosting.

BeoHosting Team

10+ años de experiencia — Especialistas en alojamiento web e infraestructura

  • Web Hosting
  • WordPress Hosting
  • VPS
  • Dedicated Serveri
  • Domeni
  • SSL
  • cPanel
  • LiteSpeed
  • Linux administracija
  • DNS

Última actualización: