Entendiendo el archivo de configuración de WordPress

¿Has leído un tutorial que te pide modificar el archivo de configuración de WordPress y no sabes ni qué es, ni donde está? En este artículo arrojamos un poco de luz sobre el fichero wp-config.php de WordPress

Antes que nada, ¿qué es el archivo wp-config.php de WordPress? Como su propio nombre indica, se trata del archivo de configuración de WordPress, en el cual podemos definir distintos parámetros para el funcionamiento del CMS. A diferencia de otros archivos, el archivo wp-config.php no viene incorporado por defecto en la instalación de WordPress, sino que se genera automáticamente durante el proceso de instalación. WordPress crea el archivo wp-config.php durante la instalación WordPress, y almacena la información de la base de datos que vayas a utilizar, en el archivo wp-config.php, el cual se encuentra en el directorio raiz de nuestro WordPress, normalmente.

WordPress requiere de esta información para poder funcionar. En el caso de no obtenerla, te mostrará el error “Error al establecer la conexión con la base de datos“. Además de la información de base de datos, el archivo de configuración de WordPress cuenta con varios parámetros que es necesario definir. Lo explicaremos más adelante en este artículo.

Dado que este archivo contiene gran cantidad de información sensible, se recomienda que no lo edites a menos que no tengas otra opción. Pero si estás leyendo este artículo, significa que tienes que editar el wp-config.php, sí o sí. A continuación, te mostramos los pasos que debes siguer para que modifiques el archivo sin temor a equivocarte.

Archivo de configuración de WordPress - Engranajes
Fuente: Kevin Utting

Accediendo al fichero

Lo primero que tienes que hacer es crear un backup completo de tu web. El archivo wp-config.php es tan crucial para WordPress, que un pequeño error puede dejar la web inaccesible. Necesitarás un cliente FTP, como Filezilla, para conectarte a tu proyecto web. Como sabéis, un cliente FTP te permite transferir archivos entre un servidor y tu equipo.

Conéctate a tu WordPress utilizando el cliente FTP que acabas de descargar, introduciendo los datos FTP. Si careces de dichos datos, consulta con tu proveedor de hosting. Como te he comentado antes, el archivo de configuración de WordPress normalmente se encuentra en la carpeta raíz de WordPress, o en otras carpetas como /wp-content/.

Simplemente haz clic derecho sobre el archivo y selecciona la opción Descargar. A continuación tu cliente FTP descargará el archivo wp-config.php a tu equipo. Puedes abrirlo y editarlo utilizando un editor de texto plano como el Bloc de notas o Text Edit.

Entendiendo el archivo wp-config.php

Antes de empezar, vamos a echar un vistazo al código por defecto del archivo wp-config.php:

<?php
/**
 * The base configuration for WordPress
 *
 * The wp-config.php creation script uses this file during the
 * installation. You don't have to use the web site, you can
 * copy this file to "wp-config.php" and fill in the values.
 *
 * This file contains the following configurations:
 *
 * * MySQL settings
 * * Secret keys
 * * Database table prefix
 * * ABSPATH
 *
 * @link https://codex.wordpress.org/Editing_wp-config.php
 *
 * @package WordPress
 */

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'database_name_here');

/** MySQL database username */
define('DB_USER', 'username_here');

/** MySQL database password */
define('DB_PASSWORD', 'password_here');

/** MySQL hostname */
define('DB_HOST', 'localhost');

/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');

/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');

/**#@+
 * Authentication Unique Keys and Salts.
 *
 * Change these to different unique phrases!
 * You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}
 * You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again.
 *
 * @since 2.6.0
 */
define('AUTH_KEY',         'put your unique phrase here');
define('SECURE_AUTH_KEY',  'put your unique phrase here');
define('LOGGED_IN_KEY',    'put your unique phrase here');
define('NONCE_KEY',        'put your unique phrase here');
define('AUTH_SALT',        'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT',   'put your unique phrase here');
define('NONCE_SALT',       'put your unique phrase here');

/**#@-*/

/**
 * WordPress Database Table prefix.
 *
 * You can have multiple installations in one database if you give each
 * a unique prefix. Only numbers, letters, and underscores please!
 */
$table_prefix  = 'wp_';

/**
 * For developers: WordPress debugging mode.
 *
 * Change this to true to enable the display of notices during development.
 * It is strongly recommended that plugin and theme developers use WP_DEBUG
 * in their development environments.
 *
 * For information on other constants that can be used for debugging,
 * visit the Codex.
 *
 * @link https://codex.wordpress.org/Debugging_in_WordPress
 */
define('WP_DEBUG', false);

/* That's all, stop editing! Happy blogging. */

/** 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');

Cada sección del archivo wp-config.php está bien documentada en el propio archivo, así que no corres riesgo de equivocarte. Casi todos los parámetros se definen utilizando constantes de PHP.

define( 'constant_name' , 'value');

Echemos un vistazo más de cerca a cada sección del archivo de configuración de WordPress.

Configuración de MySQL en el archivo wp-config.php

Los parámetros de conexión a base de datos de WordPress aparecen dentro de la sección “MySQL Settings” al principio del archivo. Los datos que necesitarás son el host de la conexión, el nombre de la base de datos, el usuario y la contraseña para completar esta sección.

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'database_name_here');

/** MySQL database username */
define('DB_USER', 'username_here');

/** MySQL database password */
define('DB_PASSWORD', 'password_here');

/** MySQL hostname */
define('DB_HOST', 'localhost');

/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');

/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');

Si acaso no encuentras estos datos, ponte en contacto con la empresa responsable del alojamiento web de tu página web.

Claves de autenticación de WordPress

Las claves de autenticación y las salts son claves de seguridad que ayudan a mejorar la seguridad de tu sitio web desarrollado con WordPress. Estas claves proporcionan un fuerte cifrado para las sesiones de usuario y cookies generadas por WordPress.

/**#@+
 * Authentication Unique Keys and Salts.
 *
 * Change these to different unique phrases!
 * You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}
 * You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again.
 *
 * @since 2.6.0
 */
define('AUTH_KEY',         'put your unique phrase here');
define('SECURE_AUTH_KEY',  'put your unique phrase here');
define('LOGGED_IN_KEY',    'put your unique phrase here');
define('NONCE_KEY',        'put your unique phrase here');
define('AUTH_SALT',        'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT',   'put your unique phrase here');
define('NONCE_SALT',       'put your unique phrase here');

/**#@-*/

Puedes generar unas claves de seguridad para tu WordPress y pegarlas aquí. Esto es particularmente útil si sospechas que tu web puede haber sido atacada. El hecho de cambiar estas claves de seguridad cierra la sesión todos los usuarios que están actualmente conectados a tu WordPress, obligándolos a loguearse de nuevo.

Prefijo de las tablas de WordPress

Por defecto, WordPress añade el prefijo wp_ a todas sus tablas. Se recomienda que cambies el prefijo de las tablas de la base de datos de WordPress a algo más aleatorio. Esto se lo pondrá un poco más difícil a aquellos hackers que pretendan adivinar el nombre de las tablas de WordPress y te salvará de algunos ataques comunes de inyección SQL.

/**
 * WordPress Database Table prefix.
 *
 * You can have multiple installations in one database if you give each
 * a unique prefix. Only numbers, letters, and underscores please!
 */
$table_prefix  = 'wp_';

Por favor, ten en cuenta que no se puede cambiar este valor una vez la web se encuentra en producción.

Archivo de configuración de WordPress - Engranajes
Fuente: William Warby

Modo Debug de WordPress

Este parámetro es especialmente útil para aquellos usuarios que quieran aprender como funciona WordPress, y también para aquellos que les vayan los experimentos. Por defecto WordPress esconde avisos generados por PHP cuando se ejecuta el código. Simplemente establece el modo de depuración en true, y WordPress te mostrará estos avisos. Esto proporciona una información crucial a los desarrolladores a la hora de encontrar errores.

define('WP_DEBUG', false);

Configuración de rutas absolutas

La última parte del archivo de configuración de WordPress define las rutas absolutas que después se utilizarán en las variables e includes internos del código. No necesitas cambiar nada ahí.

/** 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');

Espero que con este artículo sepas entender el archivo de configuración de WordPress. Nada más, si queréis seguir informados sobre este CMS open-source, recibiendo noticias y tutoriales al respecto, no dudéis en seguirnos.

Dejar respuesta

Please enter your comment!
Please enter your name here