wp-config.php Configuración de WordPress Avanzada

Descubre nuevas opciones de Configuración y sácale el máximo provecho

1.017

¿Qué es wp-config.php?

El archivo wp-config.php es el archivo principal de configuración en WordPress.

No solo es responsable de conectar la Base de Datos, también sirve para definir las opciones del entorno de trabajo. Su importancia es tal que muchos malwares lo tienen entre uno de sus principales objetivos.. Con el podrás cambiar ubicación de plugins, imágenes, temas, etc.

Puedes entre otras cosas, definir parámetros de PHP, tiempo de autoguardado, desactivar funciones, etc. En este extenso pero minucioso artículo, descubrirás muchas opciones de de configuración de wordpress para que veas todo lo que puedes hacer con él y cómo sacarle provecho al máximo con las opciones disponibles.

Cambiar las opciones por defecto hacen tu web más segura, ya que los hackers ahora tienen trabajo extra adivinando donde están algunas cosas y como se llaman otras.

¿Para qué sirve wp-config.php?

Cuando instalamos WordPress por primera vez, este nos solicita unos datos necesarios para realizar la conexión a la base de datos, esos datos se almacenan en este archivo ubicado en la carpeta raíz de la instalación de WordPress, para que este pueda acceder de forma fácil y rápida.

Su función principal es proporcionar a WordPress los parámetros bajo los cuales va a funcionar. Estos parámetros mal configurados pueden echar abajo toda la web o causar el mal funcionamiento de la misma.

Opciones Comunes de Configuración de WordPress

Vamos a empezar por lo más básico las funciones comunes que ya conocemos, y luego veremos algunas cosas mas interesantes al final.

Configurar la conexión con la base de datos

Las primeras líneas del fichero se encargan de definir los parámetros que harán posible la conexión a base de datos, para ello necesitaremos los siguiente datos:

define('DB_NAME', 'wordpress'); 
// El nombre de la base de datos 

define('DB_USER', 'user'); 
// El usuario con permisos para acceder a esa base de datos 

define('DB_PASSWORD', 'userpass'); 
// El password del usuario 

define('DB_HOST', 'localhost'); 
// Servidor en el que está alojada la base de datos 

define('DB_CHARSET', 'utf8'); 
// Codificación de los datos de la base de datos 

define('DB_COLLATE', ''); 
// Cotejamiento de la base de datos

Y por último el prefijo de las tablas también por seguridad. Lo que siempre se recomienda es cambiarlo por otros caracteres que no sean “wp_”. Te recomiendo que uses siempre minúsculas.

$table_prefix = 'wp_'; // No usar caracteres especiales

Activar modo debug (WP_DEBUG) para solucionar problemas

(Exacto! la Pantalla Blanca de la Muerte de WordPress)

Tal vez ya has oído hablar de “la Pantalla Blanca de la muerte” o por si no la conocías, se trata de un error muy común cuando algo falla.

La página se muestra totalmente en blanco, ni siquiera sale un mensaje de error, es muy desconcertante sobre todo cuando te pasa por primera vez. Si acabas de añadir un plugin, tema nuevo o has modificado el código de algo, puede que te pase. Tranquilo no hay nada de qué preocuparse.

WordPress en su afán de hacernos la vida más fácil, nos ofrece una manera rápida de descubrir lo que está pasando tras bastidores. Esto también es una medida de seguridad para evitar que ojos extraños conozcan las fallas de nuestra web. Cuando te pase esto solo tienes que abrir el wp-config.php buscar esta línea (que ya se encuentra escrita) y activar el reporte de errores.

define('WP_DEBUG', false); //Cambia a true para activar.

De esta forma aparecerán en pantalla todos los errores, incluyendo el que ha ocasionado que la web deje de funcionar. Una vez que identifiques al culpable, corrige la falla y lo vuelves a poner como estaba.

Tal vez te interese leer: Protege tu archivo wp-Config.Php con .Htaccess

Clave secreta (SECRET_KEY)

La nueva versión de WordPress, nos trae una cantidad de mejoras de seguridad, una de ellas es la opción para definir una clave secreta que se utiliza para la encriptación del password de usuarios en la base de datos.

define('SECRET_KEY', 'put your unique phrase here');

Si la instalación está bien echa, generalmente no tendrás que cambiar esto.

Personalizando las cookies (USER_COOKIE)

Para tener un mayor control sobre las cookies que WordPress usa para gestionar a los usuarios, disponemos de una serie de opciones que nos permitirán pulirlas.

define('USER_COOKIE', 'wordpress_test_cookie'); 
//Nombre de la cookie de usuario 
define('PASS_COOKIE', 'wordpress_test_cookie'); 
//Nombre de la cookie de password 
define('AUTH_COOKIE', 'wordpress_test_cookie'); 
define('COOKIEPATH', 'wordpress_test_cookie'); 
// Path para el que será válida la cookie 
define('SITECOOKIEPATH', 'wordpress_test_cookie'); 
// Sitio para el que será válida la cookie 
define('COOKIE_DOMAIN', 'wordpress_test_cookie'); 
//Dominio para el que será válida la cookie 
define('TEST_COOKIE', 'wordpress_test_cookie'); 
// Cookie de test

Habilitar la Caché de WordPress

La cache de WordPress es algo que ya no es nuevo, pero siempre está bien saber que la opción que hace posible que dichos sistemas de caché funcionen se encuentra en el fichero wp-config.php. Activándola, hacemos que el fichero wp-content/advanced-cache.php sea lanzado antes de cualquier otra opción, permitiendo controlar qué es lo que mostraremos el usuario.

define('WP_CACHE', true); // false para desactivar

Opciones Avanzadas de Configuración de WordPress que probablemente no conocías

A partir de aquí viene el rockandroll. Una de las cosas que debes saber antes de experimentar con esto es que a veces algunos plugins y temas, no están bien optimizados. Como consecuencia puede que no funcionen correctamente con algunas opciones de configuración avanzada. Así que siempre haz respaldo de wp-config.php antes de hacer cambios.

URL de la Página Web (WP_SITEURL)

Podemos definir la url en la que se encuentra nuestro WordPress directamente mediante la opción WP_SITEURL. Esta opción es ideal cuando quieres poner un blog en una página web estática o que no utiliza wordpress. Puedes crear una carpeta llamada “blog” e instalas WordPress allí. utilizar esta opción también ayuda a reducir las consultas a la base de datos.

define('WP_SITEURL', 'http://www.sample.com/wordpress');

y ubicación de archivos de WordPress (WP_HOME)

La dirección del home de nuestro blog podremos especificar usando la opción WP_HOME. Esta opción, al igual que la anterior por defecto se almacenan en la base de datos, pero al tenerlas previamente definidas en nuestro wp-config.php nos ahorramos una consulta a base de datos y nos permite optimizar un poco mejor nuestro sitio web.

define('WP_HOME', 'http://www.sample.com/wordpress');

Esta opción, al igual que la opción anterior desactivan la posibilidad de modificar la ruta del blog desde el panel de administrador.

Aumentar la memoria de PHP para WordPress (WP_MEMORY_LIMIT)

¿Usas Woocommerce? No puedes trabajar sin hacer este cambio. Para evitar problemas del tipo “Allowed memory size of … bytes exhausted” debido al alto consumo de memoria por parte de WordPress, podemos especifiar cuanta memoria usará PHP. Este valor siempre se verá condicionado con la cantidad de memoria permitida por el servidor web. Si tu servidor web solo permite 64MB aunque definas un valor mayor no podrás usarlo.

define('WP_MEMORY_LIMIT', '128MB'); //128MB de RAM

Tablas wp_user y wp_usermeta personalizadas

Por razones de seguridad, es posible tener las tablas de usuario (wp_users) y de datos extra de los usuarios (wp_usermeta) ubicadas en otras tablas más dificiles de ubicar. De esta forma evitamos que algún malware las encuentre fácilmente y se apodere de los datos o cree usuarios fantasmas. Usa esta opcion cuando tu hosting no sea muy seguro y sospechas que hay hucos de seguridad, o cuando te haya pasado que algun malware ha creado administradores fantasmas.

define('CUSTOM_USER_TABLE', 'my_user_table'); 
define('CUSTOM_USER_META_TABLE', 'my_usermeta_table');

Lenguaje y directorio de lenguaje ( Obsoleto a partir de 4.x)

Para disfrutar de Wordpres en nuestro idioma anteriormente se utilizaba esta configuración. Actualmente está obsoleto pero si por algun motivo estas trabajando con una versión antigua aquí van 2 ejemplos de cómo se usa:

define('WPLANG', 'es_VE'); //Español de Venezuela 
define('WPLANG', 'es_ES'); //Español de España

Directorio personalizado para los plugins (PLUGINDIR)

Esta es una de mis favoritas y la utilizo mucho en mis propios proyectos para hacerles la puñeta a los hackers. Cuando algo no esta en su ubicación por defecto es mucho más difícil explotar una vulnerabilidad.

Importante: Usa esta opcion con bastante cuidado, ya que en mi experiencia muchos plugins no funcionan bien con esta configuración. En algunos casos he tenido que irme a las copias de seguridad.

Para definir el directorio en el que se ubicarán los plugins:

define("PLUGINDIR", "tu_directorio"); 
define("PLUGINDIR", "/mazinger-z");
También para los temas existe la posibilidad de cambiar la ruta del tema. Pero he decidido omitirlo en esta guía porque causa muchos mas problemas que con los plugins. De eso haré mas bien un post aparte. :)

Tags personalizables para nuestros posts (CUSTOM_TAGS)

Otra opción interesante y desconocida definición los tags HTML que se pueden incluir en las publicaciones.

define('CUSTOM_TAGS', array());

Define tu directorio para alojar los ficheros subidos (UPLOADS)

Otra vez podemos hacerle la vida de cuadros a los hackers. Esta es otra opción más para personalizar rutas. Esta vez se trata de la ruta en la que se ubicarán los ficheros que subamos a nuestro WordPress.

define( 'UPLOADS', 'wp-content/carpeta-de-archivos' );

Desactiva WP_CRON en sitios con mucho tráfico

Si tienes un sitio web con WordPress que tiene un tráfico descomunal (más de 1.000 visitas por hora) esta opción te ayudará a mejorar el rendimiento del servidor. El archivo wp-cron.php ejecuta las tareas programadas cada vez alguien visita la página web.

Si tu página web recibe 1.000 visitas en 1 minuto, wp-cron se ejecutará 1.000 veces en ese minuto. Por lo que representará una carga de trabajo extra e innecesario para el servidor. En lugar de eso puedes ejecutarlo manualmente en una hora de poco tráfico, a través de crontab.

También podría gustarte
Por favor espere, Cargando...
Do NOT follow this link or you will be banned from the site!