Guía sobre el archivo wp-config.php de WordPress

Valoración:
5/5
de lectura

El archivo wp-config.php de WordPress es uno de los archivos más importantes de cualquier instalación de WordPress ya que sin este archivo tu página web WordPress no funcionará.

Por este motivo, es crucial que comprendas que es exactamente el archivo wp-config.php de WordPress y cómo funciona.

Por todo ello, en esta guía te mostraremos todo lo que necesitas saber sobre archivo de configuración de WordPress ya que tarde o temprano e independientemente del tamaño de tu página web tendrás que pelearte con este archivo de WordPress.

Tabla de contenidos

¿Qué es el archivo wp-config.php ?

El archivo wp-config.php proporciona los detalles de configuración básicos de cualquier WordPress.

De hecho, este archivo contiene la información necesaria para que tu página web de WordPress funcione como:

  • La configuración de conexión MySQL de tu base de datos de WordPress.
  • Claves de WordPress.
  • Prefijo de la tabla de base de datos de WordPress.
  • ABSPATH (La ruta absoluta al directorio de WordPress).
  • Modo de depuración de WordPress (Opcional).

De todos los archivos que WordPress instala en tu directorio raíz, el archivo config.php de WordPress será casi el más importante ya que sin el WordPress no podrá funcionar.

Explicación del archivo de configuración de WordPress

Aunque veremos un archivo wp-config.php con código real más adelante en esta guía es importante conocer primero qué hace el archivo de configuración de WordPress y qué tipos de variables establece.

Primero, el archivo wp-config.php configura críticamente el acceso a la base de datos de WordPress.

A continuación, en el archivo se establecen otras variables en el código.

Por ejemplo, los desarrolladores pueden establecer la variable WP_DEBUG en ‘1’ o ‘true’  para que la página web WordPress se ejecute en modo de depuración, lo que permite diagnósticos avanzados.

Contenido del archivo wp-config.php de WordPress

El contenido del archivo wp-config.php se leerá cada vez que se acceda a la página web WordPress y esta no se encuentre cacheada. Eso significará que cada vez que recibas un nuevo visitante el contenido de tu archivo wp-config se volverá a cargar.

Por otro lado, este archivo se verá como una gran serie de llamadas a funciones para las funciones centrales de WordPress.

Además, se considera una buena práctica comentar minuciosamente cualquier código que coloque en este archivo sobre todo en el caso de que otros desarrolladores puedan acceder a el en el futuro sin sentirse perdidos.

Por todo ello, a continuación te ofreceremos una descripción general del contenido básico de tu archivo wp-config.php de WordPress.

Nota: El contenido del archivo wp-config.php tiene un orden específico. Por eeste motivo, no recomendamos reorganizar el contenido del archivo puesto que puede generar errores en tu página web.

ejemplo de archivo wp-config de WordPress

 

Configuración de la base de datos MySQL

Las páginas web WordPress funcionan utilizando una base de datos MySQL que almacena el contenido de su blog como publicaciones, comentarios, etc.

Esta información de la base de datos la podrás recuperar directamente desde el panel de control de tu hosting. De hecho, si tienes acceso a cPanel visitando la sección de bases de datos MySQL.

Línea Explicación
define('DB_NAME', 'database_name_here'); El nombre de la base de datos de WordPress
define('DB_USER', 'username_here'); El nombre de usuario de la base de datos MySQL utilizado para acceder a la base de datos.
define('DB_PASSWORD', 'password_here'); La contraseña de la base de datos MySQL utilizada para acceder a la base de datos.
define('DB_NAME', 'database_name_here'); El nombre de host de MySQL. Es posible que también necesites un número de puerto o una ruta de archivo de Socket Unix. Intenta con el valor predeterminado de «localhost».
define('DB_CHARSET', 'utf8'); Conjunto de caracteres de la base de datos para usar en la creación de tablas de base de datos. A partir de WordPress 2.2 DB_CHARSET se puso a disposición para permitir la designación del conjunto de caracteres de la base de datos que se utilizará al definir las tablas de la base de datos MySQL. El valor predeterminado de utf8 (Unicode UTF-8) será casi siempre la mejor opción ya que UTF-8 admite cualquier idioma.
define('DB_COLLATE', ''); El tipo de clasificación de la base de datos.

Claves de WordPress

WordPress utiliza cookies (Información almacenada en su navegador) para verificar la identidad de los usuarios que han iniciado sesión.

Por este motivo, WordPress incluye claves de seguridad y autenticación secretas en el archivo wp-config.php. Básicamente, estas claves de seguridad de WordPress son contraseñas adicionales largas, aleatorias y complicadas y casi imposibles de vulnerar.

Línea Explicación
define('AUTH_KEY', 'put your unique phrase here'); Llave de seguridad para un mejor cifrado de la información almacenada en las cookies del usuario. Agregado en WordPress 2.5.
define('SECURE_AUTH_KEY', 'put your unique phrase here'); Llave de seguridad para un mejor cifrado de la información almacenada en las cookies del usuario. Agregado en WordPress 2.5.
define('LOGGED_IN_KEY', 'put your unique phrase here'); Llave de seguridad para un mejor cifrado de la información almacenada en las cookies del usuario. Agregado en WordPress 2.5.
define(‘NONCE_KEY’, ‘put your unique phrase here’); Llave de seguridad para un mejor cifrado de la información almacenada en las cookies del usuario. Agregado en WordPress 2.7.
define('AUTH_SALT', 'put your unique phrase here'); Salt correspondiente a ‘AUTH_KEY’.
define('SECURE_AUTH_SALT', 'put your unique phrase here'); Salt correspondiente a ‘SECURE_AUTH_KEY’.
define('LOGGED_IN_SALT', 'put your unique phrase here'); Salt correspondiente a 'LOGGED_IN_KEY'.
define('NONCE_SALT', 'put your unique phrase here'); Salt correspondiente a 'NONCE_KEY'.

Prefijo de tabla de base de datos de WordPress

$ Table_prefix es el valor que se coloca al frente de las tablas de tu base de datos de WordPres.

Si deseas utilizar un prefijo distinto a wp_ para el prefijo de tu base de datos lo podrás hacer directamente desde el archivo wp-config.

Nota: En el prefijo de la base de datos solo podrás utilizar números, letras y guiones bajos.

Línea Explicación
$table_prefix = 'wp_'; Prefijo de la tabla de la base de datos de WordPress.

Idioma de WordPress

WordPress 4.0 introdujo la opción de cambiar el idioma en tu panel de administración de WordPress en vez de desde el archivo wp-config.php.

Por este motivo, si quieres cambiar el idioma directamente desde tu panel de WordPress lo podrás hacer en Configuración> General > Selección del idioma.

ABSPATH Ruta absoluta al directorio de WordPress

Línea Explicación
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');
Esta línea define la ruta absoluta al directorio de WordPress.
require_once(ABSPATH . 'wp-settings.php'); Configura vars de WordPress y archivos incluidos.

Opciones avanzadas de wp-config.php

La siguiente sección contiene opciones avanzadas para wp-config.php . Los cambios en este archivo pueden provocar problemas imprevistos en tu página web por lo que antes de editarlo asegúrate de tener una copia de seguridad del archivo.

Para obtener una lista completa de las opciones de configuración de wp-config.php te recomendamos visitar el Codex de WordPress.

Opción Explicación Línea
WordPress URL WP_SITEURL permite definir la dirección URL de WordPress. define( 'WP_SITEURL', 'http://example.com/wordpress' );
Modificar intervalo de autoguardado Al editar una publicación, WordPress usa Ajax para guardar automáticamente las revisiones de la publicación a medida que edita. Es posible que desees aumentar esta configuración para retrasar más prolongadamente los guardados automáticos. El valor predeterminado es 60 segundos. define( 'AUTOSAVE_INTERVAL', 160 ); // Seconds
Deshabilitar revisiones de publicaciones WordPress de forma predeterminada guardará copias de cada edición realizada en una publicación o página para poder volver a una versión anterior de esa publicación o página. Se podrá deshabilitar el guardado de revisiones o se podrá especificar un número máximo de revisiones por publicación o página. define( 'WP_POST_REVISIONS', false );
Especificar el número de revisiones posteriores Si deseas especificar un número máximo de revisiones. define('WP_POST_REVISIONS', 3);
Establecer el Cookie Domain El dominio configurado en las cookies para WordPress se puede especificar para aquellos con configuraciones de dominio inusuales. Una razón es si los subdominios se utilizan para ofrecer contenido estático. Para evitar que se envíen cookies de WordPress con cada solicitud de contenido estático en su subdominio puedes configurar el dominio de cookies solo en tu dominio no estático. define('COOKIE_DOMAIN', 'www.askapache.com');
Habilitar la capacidad de multisitio / red WP_ALLOW_MULTISITE es una característica introducida en WordPress Versión 3.0 para habilitar la funcionalidad multisitio lograda previamente a través de WordPress MU. define('WP_ALLOW_MULTISITE', true);
Redirigir blogs inexistentes NOBLOGREDIRECT se podrá utilizar para redirigir el navegador si el visitante intenta acceder a un blog inexistente.
Debug La opción WP_DEBUG controla la visualización de algunos errores y advertencias. define('WP_DEBUG', true);
define('WP_DEBUG', false);
Deshabilitar la concatenación de JavaScript Para dar como resultado un área de administración más rápida todos los archivos Javascript están concatenados en una URL. Si Javascript no funciona en tu área de administración podrás intentar deshabilitar esta función. define('CONCATENATE_SCRIPTS', false);
Aumento de la memoria asignada a PHP La opción WP_MEMORY_LIMIT te permitirá especificar la cantidad máxima de memoria que puede consumir PHP. Increase PHP Memory to 64MB
define('WP_MEMORY_LIMIT', '64M');   Increase PHP Memory to 96MB
define('WP_MEMORY_LIMIT', '96M');
Cache En esta sección podrás especificar el caché de tu WordPress. define('WP_CACHE', true);
Cron alternativo Esta configuración será útil si las publicaciones programadas no se publican. Este método alternativo utilizará un enfoque de redirección que hará que el navegador de los usuarios obtenga una redirección cuando el cron deba ejecutarse, de modo que regresen al sitio inmediatamente mientras cron continúa ejecutándose en la conexión que acaban de desconectar. define('ALTERNATE_WP_CRON', true);
Esta configuración controlará la cantidad de días antes de que WordPress elimine permanentemente publicaciones, páginas, archivos adjuntos y comentarios de la papelera. El valor predeterminado será de 30 días. define('EMPTY_TRASH_DAYS', 30 ); // 30 days
Optimización automática de la base de datos Si desea limpiar su base de datos WordPress. define('WP_ALLOW_REPAIR', true);
Deshabilitar plugins y themes Editor Si no deseas poder editar sus plugins y temas de WordPress directamente desde tu panel de control. define('DISALLOW_FILE_EDIT',true);
Deshabilitar la actualización de plugins y themes Esto impedirá que los usuarios puedan usar la funcionalidad de instalación / actualización de complementos y temas desde el área de administración de WordPress. define('DISALLOW_FILE_MODS',true);
Requerir SSL para administradores e inicios de sesión FORCE_SSL_LOGIN es para cuando desea proteger los inicios de sesión para que las contraseñas no se envíen sin cifrar, pero aún desea permitir sesiones de administración que no sean SSL (ya que SSL puede ser lento). define('FORCE_SSL_LOGIN',true);
Ediciones de limpieza de imágenes De forma predeterminada, WordPress crea un nuevo conjunto de imágenes cada vez que se edita una imagen. Cuando restaura la imagen original, las ediciones se almacenan en el servidor. define('WP_ALLOW_REPAIR', true);

¿Dónde se encuentra el archivo wp-config?

En cualquier página web WordPress el archivo wp-config.php se encontrará en la «raíz» del sitio.

Esto significará que conectándote a tu servidor web mediante un cliente FTP seguro (Filezilla) podrás acceder al archivo de configuración de WordPress en la carpeta public_html.

¿Cómo editar el archivo wp-config.php ?

Si deseas editar el archivo wp-config.php podrás hacerlo de diferentes formas.

  • Primero, deberás descargar e instalar un cliente sFTP como Filezilla (Gratuito y disponible en todos los sistemas operativos). Este cliente te permitirá acceder directamente a los archivos de WordPress.
  • Posteriormente, deberás conectarte al servidor de tu página web a través del cliente FTP con las credenciales que te proporcionó tu hosting.
  • También puede utilizar el Administrador de archivos proporcionado por tu hosting.

Editando el archivo wp-config.php

Nota: Antes de modificar cualquier código o archivo central de WordPress te recomendamos hacer una copia de seguridad.

  1. Realiza una copia de seguridad completa de tu página web WordPress.
  2. Localiza el archivo wp-config.php en el directorio base de tu instalación de WordPress.
  3. Abre el archivo con un editor de texto.
  4. Realiza los cambios con cuidado y siempre teniendo en cuenta la sintaxis de PHP.
  5. Asegúrate de verificar los espacios iniciales y/o finales alrededor de los valores que implementaste.
  6. Antes de guardar el archivo verifica que no hayas eliminado accidentalmente ninguna de las comillas simples alrededor de los valores de los parámetros. Asegúrate de que no haya nada después de la etiqueta PHP de cierre en el archivo.
  7. Guarda el archivo en la raíz de tu instalación de WordPress.
  8. Actualiza tu página web de WordPress en tu navegador para asegurarte de que todo funciona correctamente.

Acerca de los permisos de archivo wp-config

Los permisos numéricos para este archivo deberían ser «444» según el consejo de WordPress.

Deberías poder configurar esto utilizando cualquier sistema de administración de archivos basado en la web o cliente FTP que tengas. En el peor de los casos, si tienes acceso a una terminal de Linux podrás utilizar chmod para implementar este cambio.

Ejemplo de archivo de configuración de WordPress

Como comentamos, WordPress incluye el archivo llamado wp-config-sample.php para dar a los usuarios más nuevos una idea de cómo debería verse el archivo de configuración normal de WordPress.

Echa un vistazo a este archivo de configuración de WordPress de ejemplo incluido con cada instalación estándar de WordPress y hablemos sobre posibles opciones adicionales.

<?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://wordpress.org/support/article/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 documentation.  *  @link https://wordpress.org/support/article/debugging-in-wordpress/  */  define( 'WP_DEBUG', false );  /* That's all, stop editing! Happy publishing. */  /** Absolute path to the WordPress directory. */  if ( ! defined( 'ABSPATH' ) ) {  define( 'ABSPATH', DIR . '/' );  }  /** Sets up WordPress vars and included files. */  require_once ABSPATH . 'wp-settings.php';

¿Cómo es de seguro el archivo wp-config.php ?

El archivo wp-config.php será tan seguro como tu quieras.

Para ello, asegúrate de configurar todas las medidas de seguridad y utilizar los permisos correctos. De hecho, el problema de seguridad más común en este archivo es el no utilizar los permisos adecuados (Deberán ser 444).

Nota: Bajo ninguna circunstancia los usuarios han de poder ver el contenido real de este archivo.

Por otro lado, se recomienda cambiar el prefijo por defecto de WordPress «wp_» para engañar a las herramientas de piratería ofensivas contra bases de datos de WordPress.

¿Necesitas desinfectar tu WordPress de virus? Te ayudamos.

Te ayudamos a mantener segura tu página web WordPress frente a ciber ataques
¿Necesitas ayuda con la seguridad de tu WordPress?

Deja tu página web en manos de expertos y mantén segura tu página web WordPress frente a ciber ataques

¿Tienes alguna duda?

O escríbenos a hola [@] limpiatuweb [.] com para más preguntas

¡Suscríbete!

Y recibe directamente en tu email cada mes todas las vulnerabilidades en plugins, themes y WordPress