El archivo de configuración esencial en la instalación de WordPress es el wp-config.php, ubicado en la raíz del directorio. Este archivo contiene definiciones constantes e instrucciones PHP cruciales para el funcionamiento de WordPress. Almacena información vital, como detalles de la conexión a la base de datos, tablas de prefijos, rutas a directorios específicos y diversas opciones relacionadas con características específicas, que se detallarán a lo largo de este artículo.
¿Qué es el archivo wp-config?
Cuando se realiza la instalación inicial de WordPress, se le solicitará ingresar información necesaria, como detalles de la base de datos y la tabla de prefijos. A veces, el proveedor de alojamiento configurará WordPress automáticamente, al igual si realiza la instalación por el WP-Toolkit, eliminando la necesidad de intervención manual. Sin embargo, al ejecutar manualmente el proceso de instalación, se le pedirá que ingrese datos relevantes dentro de wp-config.
Información básica para la instalación de WordPress.
En el directorio raíz o principal de la instalación, se localiza el archivo wp-config:
Archivo wp-config.php
A continuación podrá visualizar como está escrito el archivo wp-config, sin cambios:
<?php
/**
* Configuración básica de WordPress.
*
* Este archivo contiene las siguientes configuraciones: ajustes de MySQL, prefijo de tablas,
* claves secretas, idioma de WordPress y ABSPATH. Para obtener más información,
* visita la página del Codex{@link http://codex.wordpress.org/Editing_wp-config.php Editing
* wp-config.php} . Los ajustes de MySQL te los proporcionará tu proveedor de alojamiento web.
*
* This file is used by the wp-config.php creation script during the
* installation. You don't have to use the web site, you can just copy this file
* to "wp-config.php" and fill in the values.
*
* @package WordPress
*/
// ** Ajustes de MySQL. Solicita estos datos a tu proveedor de alojamiento web. ** //
/** El nombre de tu base de datos de WordPress */
define('DB_NAME', 'nombredetubasededatos');
/** Tu nombre de usuario de MySQL */
define('DB_USER', 'nombredeusuario');
/** Tu contraseña de MySQL */
define('DB_PASSWORD', 'contraseña');
/** Host de MySQL (es muy probable que no necesites cambiarlo) */
define('DB_HOST', 'localhost');
/** Codificación de caracteres para la base de datos. */
define('DB_CHARSET', 'utf8');
/** Cotejamiento de la base de datos. No lo modifiques si tienes dudas. */
define('DB_COLLATE', '');
/**#@+
* Claves únicas de autentificación.
*
* Define cada clave secreta con una frase aleatoria distinta.
* Puedes generarlas usando el {@link https://api.wordpress.org/secret-key/1.1/salt/ servicio de claves secretas de WordPress}
* Puedes cambiar las claves en cualquier momento para invalidar todas las cookies existentes. Esto forzará a todos los usuarios a volver a hacer login.
*
* @since 2.6.0
*/
define('AUTH_KEY', 'pon aquí tu frase aleatoria'); // Cambia esto por tu frase aleatoria.
define('SECURE_AUTH_KEY', 'pon aquí tu frase aleatoria'); // Cambia esto por tu frase aleatoria.
define('LOGGED_IN_KEY', 'pon aquí tu frase aleatoria'); // Cambia esto por tu frase aleatoria.
define('NONCE_KEY', 'pon aquí tu frase aleatoria'); // Cambia esto por tu frase aleatoria.
define('AUTH_SALT', 'pon aquí tu frase aleatoria'); // Cambia esto por tu frase aleatoria.
define('SECURE_AUTH_SALT', 'pon aquí tu frase aleatoria'); // Cambia esto por tu frase aleatoria.
define('LOGGED_IN_SALT', 'pon aquí tu frase aleatoria'); // Cambia esto por tu frase aleatoria.
define('NONCE_SALT', 'pon aquí tu frase aleatoria'); // Cambia esto por tu frase aleatoria.
/**#@-*/
/**
* Prefijo de la base de datos de WordPress.
*
* Cambia el prefijo si deseas instalar multiples blogs en una sola base de datos.
* Emplea solo números, letras y guión bajo.
*/
$table_prefix = 'wp_';
/**
* Para desarrolladores: modo debug de WordPress.
*
* Cambia esto a true para activar la muestra de avisos durante el desarrollo.
* Se recomienda encarecidamente a los desarrolladores de temas y plugins que usen WP_DEBUG
* en sus entornos de desarrollo.
*/
define('WP_DEBUG', false);
/* ¡Eso es todo, deja de editar! Feliz blogging */
/** WordPress absolute path to the WordPress directory. */
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');
/** Sets up WordPress vars and included files. */
require_once(ABSPATH . 'wp-settings.php')
Normalmente, este archivo se genera automáticamente durante la configuración. No obstante, en ocasiones, WordPress puede carecer de los privilegios necesarios para escribir en el directorio de instalación. Ante esta situación, se debe crear un archivo vacío wp-config.php, copiar y pegar el contenido de wp-config-sample.php, y configurar los valores específicos para todas las constantes definidas. Una vez listo, se carga el archivo en la raíz del directorio para utilizar WordPress.
En primer lugar, se definen las constantes de la base de datos que debió haber recibido del proveedor de alojamiento:
- DB_NAME
- DB_USER
- DB_PASSWORD
- DB_HOST
- DB_CHARSET
- DB_COLLATE
Siguiendo los detalles de la base de datos, vienen las llaves de seguridad que contribuyen a mejorar la configuración contra posibles ataques informáticos. Aunque WordPress genera automáticamente estas llaves durante la instalación, es posible modificarlas en cualquier momento agregando una cadena arbitraria. Se recomienda utilizar un generador en línea que ofrece la misma página de WordPress para una mayor seguridad.
Cuando visualizamos la línea de la variable $table_prefix está almacena el prefijo (wp_) de todas las tablas de WordPress. Para fortalecer la seguridad, se sugiere cambiar este prefijo, ya que su valor predeterminado es conocido y puede dejar vulnerable la base de datos. Esto se puede realizar ejecutando consultas en la base de datos y editando manualmente wp-config.php.
Siempre es importante hacer una copia de seguridad de los archivos y la base de datos de WordPress antes de cambiar el prefijo de la tabla, incluso si se utiliza un plugin.
Configuración del Sistema de archivos
Dado que la estructura de archivos de WordPress es conocida por usuarios y expertos, se puede considerar cambiarla moviendo carpetas específicas a ubicaciones arbitrarias y configurando la URL correspondiente y la ruta al archivo wp-config. Se suele utilizar para “ocultar” la estructura por defectos de como se instalan algunos directorios de WP. Para ello, se definen dos constantes que permiten mover el directorio de contenido.
define( 'WP_CONTENT_DIR', dirname(__FILE__) . '/site/wp-content' );
Para definir la URL del directorio:
define( 'WP_CONTENT_URL', 'http://SuSitioWeb.com/site/wp-content' );
También se puede redefinir la carpeta de plugin:
define( 'WP_PLUGIN_DIR', dirname(__FILE__) . '/wp-content/directorio/plugins' );
define( 'WP_PLUGIN_URL', 'http://SuSitioWeb.com/wp-content/directorio/plugins' );
Modo Debug
Los desarrolladores pueden habilitar el modo debug en WordPress, para que se registren y se muestren errores y advertencias útiles en la depuración de temas y plugins. Esto se logra estableciendo la constante WP_DEBUG con “True”. Cuando se trabaja en un sitio en vivo, es crucial deshabilitar el modo debug para evitar que los errores se muestren a los visitantes. Sin embargo, se puede configurar para que WordPress almacene los errores en un archivo debug.log en la carpeta /wp-content, manteniendo la información oculta en la pantalla. La configuración se realiza mediante las siguientes líneas en wp-config.php:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );
Esto permite que WordPress almacene los mensajes de error en un archivo debug.log, oculte la información en la pantalla y desactive la visualización de errores en la pantalla. Dado que wp-config nunca se carga desde la caché, es un lugar adecuado para invalidar las opciones php.ini, proporcionando un entorno seguro para configuraciones adicionales.
Esperamos que este artículo le brinde los conocimientos necesarios para configurar y conocer las funciones del archivo wp-config.php de su WordPress.
Si te gustó este artículo, suscríbete a nuestro canal de YouTube para videos tutoriales de Hosting, prácticas y demás. También puede encontrarnos en Twitter, Facebook e Instagram.