¿Qué es wp-config.php?
wp-config.php es el archivo principal de configuración de WordPress, ubicado en el directorio raíz del sitio. Guarda los datos de conexión a la base de datos que WordPress necesita para funcionar (nombre, usuario, contraseña y host), más las claves de seguridad y los salts, el prefijo de las tablas y constantes opcionales como WP_DEBUG que cambian el comportamiento del sitio.
Más sobre wp-config.php
Cuando descargas WordPress, el archivo wp-config.php no viene incluido: WordPress lo crea por ti con los datos que proporcionas durante la instalación.
También puedes crearlo tú mismo. WordPress incluye una plantilla llamada wp-config-sample.php en la carpeta raíz: cópiala o renómbrala a wp-config.php y completa el nombre de la base de datos, el usuario, la contraseña y el host que te dio tu proveedor de hosting. Nuestra guía de instalación manual de WordPress explica cada paso.
Una sola errata en este archivo puede dejar todo tu sitio fuera de línea, así que la mayoría de los dueños de sitios nunca lo tocan. Aun así, hay razones legítimas para editarlo: tu proveedor te pide que realices un paso de diagnóstico, quieres activar el modo de depuración o tus credenciales de la base de datos cambiaron tras una migración. Haz un respaldo antes de cualquier cambio. El manual de administración avanzada de WordPress (en inglés) da el mismo consejo: haz respaldos con regularidad y asegúrate de saber restaurarlos antes de modificar estos ajustes.
¿Qué controla wp-config.php?
Los ajustes obligatorios conectan WordPress con su base de datos. Las constantes opcionales cambian, además, el comportamiento del sitio. Las que verás con más frecuencia:
- Conexión a la base de datos: el nombre, el usuario, la contraseña y el host de la base de datos que guarda tu contenido, por lo general MySQL.
- Prefijo de las tablas: la variable $table_prefix, cuyo valor predeterminado es wp_, define el inicio del nombre de cada tabla de la base de datos.
- Claves de seguridad y salts: 8 frases únicas que refuerzan las cookies que WordPress usa para los inicios de sesión.
- URLs del sitio: WP_SITEURL y WP_HOME fijan la dirección de tu sitio en el archivo para que WordPress no tenga que leerla de la base de datos, algo útil cuando mueves un sitio.
- Modo de depuración: WP_DEBUG activa la visualización de errores y avisos mientras diagnosticas un problema.
- Límites y restricciones: otras constantes aumentan la memoria asignada a PHP o desactivan el editor de archivos de plugins y temas en el panel de administración (DISALLOW_FILE_EDIT).
Los fragmentos de código que cambian el aspecto o el comportamiento de tu tema no van aquí: su lugar es functions.php o un plugin.
¿Dónde está wp-config.php?
El archivo se encuentra en el directorio raíz de tu instalación de WordPress, en la misma carpeta que wp-admin y wp-content. Puedes acceder a él con un cliente SFTP (el reemplazo seguro del FTP tradicional) o con el administrador de archivos de tu panel de hosting. En los proveedores que usan cPanel, la carpeta raíz suele llamarse public_html. DreamHost no usa cPanel: en nuestro panel, los archivos de tu sitio están en un directorio que lleva el nombre de tu dominio.
¿Cómo editar wp-config.php sin riesgos?
- Conéctate a tu servidor con un cliente SFTP, o abre el administrador de archivos de tu panel de hosting, y descarga una copia de wp-config.php. Esa copia es tu botón de deshacer. También contiene la contraseña de tu base de datos, así que guárdala en un lugar privado y elimínala cuando termines.
- Edita el archivo con un editor de texto plano como Notepad++ o Sublime Text. Nunca uses un procesador de textos como Microsoft Word: agrega formato que daña el código PHP.
- Sube el archivo editado al directorio raíz para reemplazar el original y vuelve a cargar tu sitio.
- Si algo falla, sube la copia intacta del paso 1 para revertir el cambio.
Errores comunes de wp-config.php
Tres fallas cubren la mayoría de los casos:
- Credenciales incorrectas de la base de datos: WordPress muestra el mensaje “Error establishing a database connection” (en inglés). Vuelve a revisar los 4 valores de la base de datos contra los que indica tu proveedor.
- Un error de sintaxis de PHP: una comilla o un punto y coma faltante puede tumbar el sitio con un error fatal o una pantalla en blanco. Restaura tu respaldo y el sitio vuelve a funcionar.
- Un archivo faltante: WordPress muestra el mensaje “There doesn’t seem to be a wp-config.php file” (en inglés) y ofrece crear uno, algo común después de una migración fallida. Vuelve a crearlo a partir de wp-config-sample.php con los datos de tu base de datos.
¿Cómo proteger wp-config.php?
wp-config.php guarda la contraseña de tu base de datos en texto plano, lo que lo convierte en un blanco favorito de los atacantes. La documentación oficial para reforzar la seguridad de WordPress (en inglés) le dedica una sección completa. Empieza por los permisos de archivos: usa los valores más estrictos que permita tu proveedor, para que otras cuentas del servidor no puedan leer el archivo. Los valores correctos varían de un proveedor a otro, así que sigue las instrucciones del tuyo. Si tu sitio se ejecuta en el servidor web Apache, también puedes bloquear las solicitudes web al archivo con una regla en .htaccess; nuestra guía del archivo .htaccess de WordPress incluye un fragmento listo para copiar y pegar que niega ese acceso. Esa regla solo funciona en servidores compatibles con Apache: si el tuyo usa Nginx, pide a tu proveedor que agregue el bloqueo equivalente en la configuración del servidor.
Frequently Asked Questions
¿Cómo activo el modo de depuración de WordPress en wp-config.php?
Busca la línea define( 'WP_DEBUG', false ); en wp-config.php y cambia false por true. WordPress mostrará entonces los errores y avisos de PHP, lo que te ayuda a rastrear el origen de un problema. Regresa el valor a false en un sitio en producción, para que tus visitantes nunca vean los mensajes de error.
¿Tengo que editar wp-config.php después de migrar mi sitio WordPress?
Por lo general, sí. Si el nombre de la base de datos, el usuario, la contraseña o el host cambiaron en el nuevo proveedor, actualiza esos valores o WordPress no podrá conectarse. También puedes definir WP_HOME y WP_SITEURL en el archivo para fijar tu nueva dirección; si eliminas esas líneas, la URL vuelve al valor guardado en la base de datos.
¿Qué son las claves de seguridad y los salts de wp-config.php?
Son 8 constantes (de AUTH_KEY a NONCE_SALT) que refuerzan las cookies que WordPress usa para los inicios de sesión. Genera los valores con el servicio de claves secretas de WordPress.org y pégalos en el archivo. Cambiarlas en cualquier momento invalida todas las cookies existentes y obliga a todos los usuarios a iniciar sesión de nuevo, lo que termina con cualquier sesión robada.