wp-config.php: Todo lo que querías saber y mucho más

El archivo wp-config.php  es uno de los más importantes de cualquier instalación de WordPress, de hecho es el archivo de configuración de WordPress, con información sensible e importante que hará que tu sitio funcione correctamente o incluso que no funcione en absoluto.

Es por ello que es de vital importancia conocerlo en profundidad, y eso es lo que quiero que aprendamos hoy ¿te animas?

El archivo wp-config.php por defecto

En cualquier instalación de WordPress existe un archivo de configuración por defecto, denominado wp-config-sample.php, que contiene las secciones fundamentales de todo archivo wp-config.php , estas:

Algo fundamental de este archivo es que las constantes (define) y las instrucciones PHP vienen en un orden determinado que no puede/debe cambiarse así que si añades algo no interfieras en el orden del archivo por defecto.

El lugar adecuado para añadir más constantes y funciones sería justo antes de la línea siguiente:

Y, por supuesto, tampoco añadas ni modifiques nada por debajo de esa línea, que para eso está el aviso.

A continuación iremos repasando cada sección del archivo.

Cómo se edita el archivo wp-config.php

El archivo wp-config.php se puede editar de dos modos fundamentalmente:

  1. Automáticamente: Ejecutando la instalación de WordPress, en cuyo caso el mismo proceso nos irá pidiendo la información necesaria para completarlo y lo creará.
  2. Manualmente: Editando el archivo wp-config-sample.php  (o haciendo una copia) con tu editor de código favorito o desde el editor de código de cPanel, y sustituyendo los datos por defecto por los de conexión con nuestra base de datos y prefijo (lo vital). Una vez hayamos introducido los datos lo guardaremos como wp-config.php . Recuerda guardar los cambios.

Información de la base de datos

La información más importante a añadir al archivo de configuración es la de la base de datos, pues en caso contrario WordPress no sabrá dónde almacenar la información de tu sitio en sus tablas, que como vimos en este artículo donde expliqué cuáles son y para qué sirve cada una, guarda toda tu actividad.

Este modelo es el que utiliza el instalador de WordPress para completar tu archivo definitivo wp-config.php , utilizando para ello la información de la base de datos que te solicita en el proceso de instalación, como en esta captura:

Una vez completados los campos, en el archivo de configuración se añadirán a sus correspondientes líneas, estas:

Y más abajo del archivo es donde se introduce el prefijo:

Una vez completes el anterior paso de la instalación, si la información que incluiste es correcta podrás instalar WordPress. Por el contrario, si te equivocaste en algún dato no se podrá conectar y tendrás que volver a introducirlos correctamente.

Los datos a completar, por resumir, son los siguientes:

Instalación automática

  • DB_NAME: El nombre de la base de datos
  • DB_USER: El nombre de usuario con permisos para esa base de datos
  • DB_PASSWORD: La contraseña de acceso del usuario con permisos para esa base de datos.
  • DB_HOST: El host de tu base de datos (esta información te la debe facilitar tu proveedor de hosting, aunque en el 99% de las ocasiones será localhost). Si no lo sabes pregunta a tu proveedor. Por curiosidad, aquí tienes una lista de DB_HOST diferentes que puedes encontrar en algunos proveedores de hosting.
  • $table_prefix: El prefijo que llevarán las tablas de la base de datos para distinguirlas de otras tablas de otras instalaciones (si las hubiera) pues puedes usar una misma base de datos para varias instalaciones.

Truco extra: Si no consigues el dato de tu DB_HOST prueba a sustituir la línea por defecto por esta otra:

Creación manual

Adicionalmente, si creas manualmente el archivo wp-config.php hay otros parámetros de la base de datos que, en ocasiones, puedes tener que modificar.

  • DB_CHARSET: Es el mapa de caracteres por defecto de tu base de datos. Normalmente será utf8  pero si tienes dudas consulta a tu proveedor de hosting. La instalación automática no te lo pide porque viene definido por defecto en tu base de datos. Si tuvieses problemas con la visualización de caracteres en tu idioma habla con tu proveedor para elegir el más adecuado y cámbialo manualmente.
  • DB_COLLATE: Se refiere al orden del mapa de caracteres, y normalmente no se añade ningún parámetro ya que lo asigna automáticamente MySQL así que mejor no lo toques, el proceso de instalación automático no te lo pide.

Nota importante: NUNCA uses el prefijo por defecto wp_  pues estarás facilitando la vida a posibles intrusos, ya que es “por defecto”. En instalaciones que ya tengan el prefijo por defecto puedes cambiarlo manualmente o con plugins.

La información de conexión con la base de datos, si ya estuviese creada, está en tu panel de alojamiento, y en caso de duda deberás consultar con tu proveedor de hosting.

En caso contrario debes seguir estos pasos para crearla:

Crea la base de datos en tu cPanel

Ve a tu cPanel y accede a MySQL Bases de Datos

A continuación ponle nombre a tu base de datos y pulsa el botón para crearla.

Crea el usuario y su contraseña de la base de datos

Crear una base de datos en sí misma no es nada, es como un contenedor vacío al que nadie tiene acceso, así que hay que crear un usuario que pueda acceder a esa base de datos, como en cualquier sistema, que será el que indicaremos a WordPress.

Piensa en ella como en una hoja excel protegida pero sin saber el usuario y contraseña para poderla leer y modificar, lo que te digo, un cajón vacío, invisible e inútil.

Así que, sin salir de esa pantalla de MySQL Bases de datos de cPanel donde hemos creado la base de datos, crearemos un nuevo usuario, y su contraseña:

¿Hemos terminado? No. Si en el proceso de instalación de WordPress metes esa base de datos recién creada, y el usuario y contraseña recién creados tampoco podrás conectar ¿por qué?, porque pones información de una base de datos, y de un usuario con su contraseña, pero te falta un paso vital…

Asocia el usuario a la base de datos y dale privilegios

Efectivamente. Has creado la base de datos, y has creado el usuario y su contraseña, pero no le “has dicho” a MySQL que “ese” usuario tiene acceso a “esa” base de datos, simplemente existen, sin función ni relación entre ellos.

Este último paso también lo harás en la misma pantalla, como ves en la siguiente captura, simplemente eligiendo el usuario y la base de datos de su correspondiente desplegable:

En cuanto pulses el botón “Añadir” te llevará a la siguiente pantalla, donde debes marcar TODOS LOS PRIVILEGIOS y a continuación pulsar el botón “Hacer cambios

Si no lo haces será como antes, tendrías un usuario que no podría hacer nada con esa base de datos, necesitas asignarle privilegios, y ante la duda dáselos todos  (el detalle de cada privilegio es para nota y matrícula, otro día lo veremos)

¡Y ya! Ahora sí que tenemos una base de datos y un usuario con contraseña con privilegios (permisos) para leer y escribir en la base de datos.

Al introducir esta información en nuestro archivo wp-config.php  a través del instalador de WordPress, o editando manualmente el archivo, estaremos dando permiso a WordPress para entrar en esa base de datos, con las credenciales del usuario que hemos creado, y así añadir la información en cada tabla: ajustes, entradas, comentarios, etc, etc, etc.

Nota importante: Ten en cuenta que el archivo wp-config.php es un fichero de texto, donde se podrán leer estas informaciones sensibles de la base de datos, así que es vital que lo protejas de miradas no deseadas como explicamos hace tiempo.

Las claves secretas

En el archivo wp-config.php  encontrarás unas líneas algo crípticas denominadas “claves únicas de autentificación” que no son ni más ni menos que un control de seguridad mediante claves secretas.

Y debes usarlas.

Para ello ve a la URL que se indica en el archivo: https://api.wordpress.org/secret-key/1.1/salt/

Y sustituye todas las líneas que vienen por las que te ofrezca este servicio de creación aleatoria de claves secretas, por ejemplo:

De hecho, un truco para cerrar todas las sesiones de los usuarios conectados es cambiar estas claves, pues una vez guardados los cambios WordPress echará (literalmente) de su sesión actual a todos los usuarios, el tuyo incluido, forzando a iniciar sesión (con sus credenciales habituales) de nuevo.

Modo DEBUG

La línea incluida en el archivo wp-config.php  por defecto para activar el modo de depuración viene inactiva por defecto, así que si queremos que WordPress nos informe de cada error mientras creamos nuestro sitio deberíamos cambiarla de false  a true , así:

Además, como ya vimos en el artículo en el que explicamos todas sus posibilidades, también podemos añadir una línea para que se guarde un registro de todos los errores en un archivo llamado debug.log en la carpeta wp-content:

Y, si activamos el registro anterior, puede que no tenga sentido también mostrar los errores en pantalla, cosa que podrás evitar añadiendo esta otra línea:

Valora este artículo para mejorar la calidad del blog ...

Al hacer una valoración se recoge una cookie con la IP de tu dispositivo

FlojitoNo está malEstá bienMe ha servidoFantástico (27 votos, promedio: 4,96 de 5)
Cargando…

Autor: Fernando Tellado

Fernando Tellado, apasionado de WordPress, profesor, consultor y ponente. Maquero cansino, padre de tres hijos y de una perrita Beagle, Bilbaíno de nacimiento, Español de corazón y ciudadano de donde me quieran.Autor del libro WordPress - La tela de la araña. Mi blog personal es Navegando con red, donde he crecido como escritor en la red y ofrezco mis visiones acerca de la Web 2.0 y la blogosfera.

Comparte esta entrada en
468 ad

Centro de preferencias de privacidad

Cookies imprescindibles

Se usan para saber si ya aceptaste nuestras políticas, si ya estás suscrito a nuestra newsletter, para reconocer el estado de tu sesión si la tuvieses y para servir más rápidos los contenidos.

No se captura IPs ni siquiera para el servicio de Analytics así que tu visita es privada.

JSESSIONID, _cfuid, wpSGCachePypass, mailerlite, gdpr, gawp
mailerlite, _cfuid

Cookies de terceros

Usamos cookies de terceros con servicios, también garantes de tu privacidad, que analizan tus usos de navegación para que podamos mejorar los contenidos, si ya estás suscrito al boletín y los elementos compartidos en redes sociales y el formulario de comentarios.

1P_JAR, APISID, CONSENT, HPSID, NID, SAPISID, SID, SIDCC, SSID, disqus_unique, disqusauth
disqus_unique, disqusauth
1P_JAR, APISID, CONSENT, HPSID, NID, SAPISID, SID, SIDCC, SSID

Pin It on Pinterest

Share This