Tweaking avanzado del wp-config.php de Wordpress
Este articulo va a ser un poco distinto, pero entrando en temas técnicos de Wordpress que son útiles para los que trabajamos con este CMS, pero que muy pocos conocen ya que son sus entresijos.
En este artículo vamos a explicar las variables que pueden ser definidas en el archivo wp-config.php de Wordpress, para modificar su funcionamiento o para “ahorrar” peticiones a la base de datos definiendo algunos parámetros que nunca cambian.
Vamos a intentar que este articulo sea lo más completo posible y con la mayor cantidad de información sobre todo lo que puedes incluir en tu wp-config.php, aunque algunos los vamos a excluir de la lista ya que usarlos seria poco inteligente actualmente o por el contrario son cosas demasiado avanzadas como para realizarlas de forma optima con un simple parámetro en el wp-config.php.
- DB_NAME
- DB_USER
- DB_HOST
- DB_CHARSET
- $table_prefix
- WP_SITEURL
- WP_HOME
- WP_CONTENT_DIR
- WP_PLUGIN_DIR
- UPLOADS
- AUTOSAVE_INTERVAL
- EMPTY_TRASH_DAYS
- WP_POST_REVISIONS
- COOKIE_DOMAIN
- WP_ALLOW_MULTISITE
- WP_DEBUG
- SCRIPT_DEBUG
- WP_DEBUG_LOG
- WP_MEMORY_LIMIT
- WP_MAX_MEMORY_LIMIT
- WP_CACHE
- CUSTOM_USER_TABLE
- CUSTOM_USER_META_TABLE
- WPLANG
- WP_LANG_DIR
- FS_CHMOD_DIR
- FS_CHMOD_FILE
- WP_ALLOW_REPAIR
- WP_HTTP_BLOCK_EXTERNAL
- WP_ACCESSIBLE_HOSTS
- DISABLE_WP_CRON
- DISALLOW_FILE_EDIT
- DISALLOW_FILE_MODS
- FORCE_SSL_LOGIN
- FORCE_SSL_ADMIN
- AUTOMATIC_UPDATER_DISABLED
- WP_AUTO_UPDATE_CORE
- FTP_HOST
- FTP_USER
- FTP_PASS
- MÁS PARAMETROS DEL WP-CONFIG.PHP
- Extra: Checklist de mantenimiento de WordPress
DB_NAME
El parámetro DB_NAME nos permite configurar y definir el nombre de la base de datos MySQL a la que se conectara Wordpress para funcionar, se define con el siguiente código:
define( 'DB_NAME', 'database_name_here' );
DB_USER
El parámetro DB_USER nos permite configurar y definir el nombre del usuario que usara Wordpress para conectarse a la base de datos MySQL, se define con el siguiente código:
define( 'DB_USER', 'MyUserName' );
DB_PASSWORD
El parámetro DB_PASSWORD nos permite configurar y definir la contraseña que utilizara el usuario definido en DB_USER para acceder a la base de datos MySQL, se define con el siguiente código:
define( 'DB_PASSWORD', 'MyPassWord' );
DB_HOST
Con este parámetro definimos cual será el host de la base de datos, si el servidor MySQL que vamos a usar se encuentra en el mismo servidor debemos usar “localhost” o “127.0.0.1”, en este parámetro también podemos usar un MySQL Socket, se define con el siguiente código:
define( 'DB_HOST', 'MyDatabaseHost' );
DB_CHARSET
Con el parámetro DB_CHARSET podemos configurar la codificación de caracteres de la base de datos MySQL a la que nos vamos a conectar, podemos definirlo con el siguiente código:
define( 'DB_CHARSET', 'utf8' );
$table_prefix
Con el parámetro $table_prefix podemos configurar el prefijo de la base de datos para las tablas de la base de datos MySQL que utilizamos en nuestro Wordpress, podemos definir el prefijo con el siguiente código:
$table_prefix = 'y77_';
WP_SITEURL
Con el parámetro WP_SITEURL podemos definir de forma estática la URL del sitio web Wordpress, incluso podemos configurar como URL un dominio con una subcarpeta, podemos definir la URL del sitio web con el siguiente código:
define( 'WP_SITEURL', 'http://example.com/wordpress' );
WP_HOME
Con el parámetro WP_HOME podemos definir la URL de la página principal del blog, algo parecido al WP_SITEURL pero para el blog (loop de Wordpress), puedes definir esta variable con el siguiente código:
define( 'WP_HOME', 'http://example.com/wordpress' );
WP_CONTENT_DIR
Con el parámetro WP_CONTENT_DIR podemos definir otra ubicación personalizada para el directorio WP-CONTENT de Wordpress, podemos definir este parámetro mediante una ruta interna o mediante una URL, el código usado es el siguiente:
define( 'WP_CONTENT_DIR', dirname(__FILE__) . '/blog/wp-content' );
WP_PLUGIN_DIR
Podemos modificar la localización de la carpeta de plugins con el parámetro WP_PLUGIN_DIR, al igual que en el caso de WP_CONTENT_DIR podemos usar una ruta interna o una URL, el código usado para esto es el siguiente:
define( 'WP_PLUGIN_DIR', dirname(__FILE__) . '/blog/wp-content/plugins' );
UPLOADS
Podemos modificar la localización de la carpeta usada para guardar los archivos subidos mediante el parámetro UPLOADS, el código usado para esto es el siguiente:
define( 'UPLOADS', 'blog/wp-content/uploads' );
AUTOSAVE_INTERVAL
Como muchos sabrán, Wordpress realiza un autoguardado automático de los artículos y páginas que se están editando mediante revisiones, con este parámetro podemos configurar cada cuanto tiempo se guardan revisiones automáticas, el código usado para esto es el siguiente:
define( 'AUTOSAVE_INTERVAL', 160 );
EMPTY_TRASH_DAYS
Este parámetro nos permite configurar cada cuanto tiempo se vacía la papelera de Wordpress, incluso podemos desactivar la papelera de reciclaje. Podemos modificar el comportamiento de la papelera usando el siguiente código:
define( 'EMPTY_TRASH_DAYS', 0 );
WP_POST_REVISIONS
Con la variable WP_POST_REVISIONS podemos activar o desactivar la creación de revisiones por parte del autoguardado de Wordpress, con este parámetro también podemos definir cuantas revisiones se guardan, el código usado para esto es el siguiente:
define( 'WP_POST_REVISIONS', false );
COOKIE_DOMAIN
Usando el parámetro COOKIE_DOMAIN podemos definir cuál será el dominio o subdominio principal del blog que tendrá las cookies y las instalara en el navegador del usuario, podría dedicar solo un post a escribir sobre esta opción y sus ventajas, pero creo que no es el momento, el parámetro para definir este parámetro es el siguiente:
define( 'COOKIE_DOMAIN', 'www.askapache.com' );
WP_ALLOW_MULTISITE
Esta opción sirve para activar Wordpress Multisite, después de activar esta opción y entrar a Wordpress debemos seguir un asistente de configuración de la red de blogs. Para activar esto podemos usar el siguiente parámetro:
define( 'WP_ALLOW_MULTISITE', true );
WP_DEBUG
El DEBUG es una de las mejores herramientas para determinar y detectar problemas en una instalación de Wordpress, solo tiene dos modos de funcionamiento, puede estar encendido o apagado. Para activar esto podemos usar el siguiente parámetro:
define( 'WP_DEBUG', true );
SCRIPT_DEBUG
Esta opción la he usado bastante poco ya que apenas le veo utilidad, pero saca algunos errores de Javascript y CSS junto con los errores de PHP cuando el WP_DEBUG está activado, puedes activar el SCRIPT_DEBUG usando el siguiente código:
define( 'SCRIPT_DEBUG', true );
WP_DEBUG_LOG
Si tenemos el WP_DEBUG activado y posteriormente activamos WP_DEBUG_LOG podemos guardar un registro con todos los errores que ha dado la instalación de Wordpress, los archivos de log se guardaran en wp-content para activar el log podemos usar el siguiente parámetro:
define( 'WP_DEBUG_LOG', true );
WP_MEMORY_LIMIT
De forma predeterminada Wordpress impone un límite de memoria usable, podemos forzar la cantidad de memoria RAM utilizada usando el siguiente parámetro:
define( 'WP_MEMORY_LIMIT', '64M' );
Si quieres más información puedes ver nuestro post sobre cómo ajustar el memory_limit en WordPress.
WP_MAX_MEMORY_LIMIT
Este parámetro se parece al WP_MEMORY_LIMIT, pero solo afecta a la memoria utilizada al ejecutar el panel de administración de Wordpress, podemos forzar esta opción con el siguiente parámetro:
define( 'WP_MAX_MEMORY_LIMIT', '256M' );
WP_CACHE
Este parámetro actualmente no se usa para lo que está pensado, pero es necesario tenerlo activado en el wp-config.php para que funcionen algunos plugins de cache para Wordpress, ya que lo que hace es activar el archivo advanced-cache.php, podemos activar WP_CACHE con el siguiente código:
define( 'WP_CACHE', true );
CUSTOM_USER_TABLE
Podemos modificar la tabla donde se guardan los usuarios en la base de datos de Wordpress, aunque en la práctica esto no tiene mucha utilidad, es una opción más que se puede definir con el siguiente código:
define( 'CUSTOM_USER_TABLE', $table_prefix.'my_users' );
CUSTOM_USER_META_TABLE
La tabla META de usuarios guarda datos adicionales sobre los usuarios registrados en una instalación de Wordpress, esta opción nos permite cambiar el nombre de la tabla donde se guardan estos datos, podemos definir esta opción con el siguiente código:
define( 'CUSTOM_USER_META_TABLE', $table_prefix.'my_usermeta' );
WPLANG
Este parámetro nos permite configurar el idioma por defecto de la instalación de Wordpress, evidentemente antes de configurar este parámetro debemos asegurarnos de que nuestra instalación de Wordpress tiene los archivos de idioma en la carpeta correspondiente. Podemos definir el idioma con el siguiente código:
define( 'WPLANG', 'de_DE' );
WP_LANG_DIR
Con este parámetro podemos configurar la carpeta donde Wordpress buscara los archivos de idioma, sinceramente creo que es un parámetro un poco absurdo, pero podemos definir el idioma con el siguiente código:
define( 'WP_LANG_DIR', dirname(__FILE__) . 'wordpress/languages' );
FS_CHMOD_DIR
Este parámetro es uno de los más desconocidos y a la vez uno de los más útiles, ya que nos permite configurar los permisos para las carpetas de la instalación de Wordpress, una excelente utilidad para que nuestro Wordpress tenga los permisos adecuados. Podemos definir los permisos de las carpetas con el siguiente código:
define( 'FS_CHMOD_DIR', ( 0755 & ~ umask() ) );
FS_CHMOD_FILE
Este parámetro es parecido al FS_CHMOD_DIR, pero en este caso lo que hace es definir los permisos de todos los archivos de la instalación de Wordpress, podemos definir los permisos de los archivos con el siguiente código:
define( 'FS_CHMOD_FILE', ( 0644 & ~ umask() ) );
WP_ALLOW_REPAIR
Este parámetro es un gran desconocido, pocos saben que Wordpress trae entre sus utilidades una herramienta para reparar la base de datos de Wordpress, podemos activarla usando el siguiente parámetro:
define( 'WP_ALLOW_REPAIR', true );
WP_HTTP_BLOCK_EXTERNAL
Lo que hace este parámetro es no permitir que Wordpress realice peticiones externas a otros servidores HTTP, es un parámetro útil si estamos realizando un desarrollo sobre Wordpress en local. Podemos aplicar el bloqueo con el siguiente código:
define( 'WP_HTTP_BLOCK_EXTERNAL', true );
WP_ACCESSIBLE_HOSTS
Este parámetro va directamente ligado al anterior, ya que nos permite crear una lista blanca con algunos dominios y hostnames a los que Wordpress sí que podrá realizar peticiones HTTP externas. Podemos aplicar el bloqueo con el siguiente código:
define( 'WP_ACCESSIBLE_HOSTS', 'api.wordpress.org,*.github.com' );
DISABLE_WP_CRON
Podemos activar o desactivar el WP-CRON, este parámetro nos ayudara a desactivar el WP-CRON de Wordpress y comenzar a usar el CRON de Linux, podemos hacerlo con el siguiente parámetro:
define( 'DISABLE_WP_CRON', true );
DISALLOW_FILE_EDIT
Con este parámetro puedes desactivar el editor integrado de themes y plugins desde el panel de Wordpress, puedes desactivar el editor utilizando el siguiente código:
define( 'DISALLOW_FILE_EDIT', true );
DISALLOW_FILE_MODS
Este parámetro nos permite bloquear la instalación y actualización de themes y plugins en una instalación de Wordpress, podemos activar esta opción utilizando el siguiente codigo:
define( 'DISALLOW_FILE_MODS', true );
FORCE_SSL_LOGIN
El parámetro FORCE_SSL_LOGIN te permitirá obligar a que todos los usuarios que quieran entrar al panel de administración de Wordpress lo hagan a través de conexión cifrada HTTPS, podemos activar esta opción con el siguiente codigo:
define( 'FORCE_SSL_LOGIN', true );
FORCE_SSL_ADMIN
Este parámetro se parece al parámetro FORCE_SSL_LOGIN pero tiene una diferencia, en este caso se aplica solo a los administradores de la instalación de Wordpress, podemos activar esta opción con el siguiente código:
define( 'FORCE_SSL_ADMIN', true );
AUTOMATIC_UPDATER_DISABLED
Esta opción nos permite desactivar el actualizador automático de plugins, themes y de Wordpress, una opción útil si tenemos cambios específicos en el código de la instalación de Wordpress y no queremos perderlos, podemos activar esta opción con el siguiente código:
define( 'AUTOMATIC_UPDATER_DISABLED', true );
WP_AUTO_UPDATE_CORE
Esta opción nos permite activar o desactivar las actualizaciones automáticas del núcleo de Wordpress, es decir, de los archivos del propio Wordpress, podemos activar esta opción con el siguiente código:
define( 'WP_AUTO_UPDATE_CORE', false );
FTP_HOST
Esta opción nos permite guardar en la configuración de Wordpress el servidor FTP donde se encuentra la instalación de Wordpress, podemos definir esto con el siguiente código:
define( 'FTP_HOST', 'ftp.example.org' );
FTP_USER
Nos permite guardar el usuario FTP del servidor donde se guarda la instalación de Wordpress, podemos definir esto con el siguiente código:
define( 'FTP_USER', 'username' );
FTP_PASS
Podemos definir también la contraseña del usuario FTP del servidor donde se guarda la instalación de Wordpress, podemos definir y guardar esto con el siguiente código:
define( 'FTP_PASS', 'password' );
MÁS PARAMETROS DEL WP-CONFIG.PHP
Podría contabilizar más de 300 parámetros o variantes de parámetros que podríamos usar en el wp-config.php de Wordpress para modificar funcionalidades en Wordpress o desactivar funcionalidades de Wordpress, es más, esta es la única manera que conozco de cambiar la forma de funcionar del núcleo de Wordpress.
Desgraciadamente si incluyera todos los parámetros y sus variantes esta lista sería imposible de leer y no se podría buscar nada en ella.
Si necesitas ayuda para resolver algún problema en tu Wordpress o estás buscando a alguien para desarrollar tu web sobre Wordpress, nosotros somos los indicados, contacta con nosotros sin compromiso.
Extra: Checklist de mantenimiento de WordPress
Ya para terminar el post, te animo a descargarte la checklist que hemos creado para ayudarte a realizar las frecuentes tareas de mantenimiento que es importante llevar a cabo en WordPress. Así siempre tendrás un documento guardado que podrás utilizar en tus mantenimientos periódicos. Solo tienes que rellenar el siguiente formulario.
Deja una respuesta
Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *