Aparte de las opciones básicas y por defecto de wordpress, en el fichero wp-config.php, podemos establecer una configuración avanzada, con opciones que no vienen por defecto, para poder cumplir con diferentes requisitos de nuestra plataforma web.
– Podemos cambiar la dirección de WordPress y del blog con los comandos: WP_SITEURL => permite cambiar, temporalmente, la URL del sitio web. y WP_HOME => Permite cambiar la URL de la Home. Personalmente uso estas funciones para cuando tengo que crear un sitio web en una URL temporal.
– Más funciones de seguridad: mover la carpeta wp-content. WP_CONTENT_DIR, es la ruta local completa al directorio, y WP_CONTENT_URL, establecemos la URI.
define('WP_CONTENT_DIR',$_SERVER['DOCUMENT_ROOT'],'/nueva-url/wp-content'); define('WP_CONTENT_URL','http://miweb.com/blog/nueva-url/wp-content');
Tenemos que tener cuidado al mover esta carpeta, por que si los plugins, temas y demás no usan las variables correspondientes para acceder a los contenidos, es posible que dejen de funcionar.
– De forma similar, podemos mover el bloque de plugins, teniendo el mismo cuidado que con la carpeta wp-content.
define('WP_PLUGIN_DIR',$_SERVER['DOCUMENT_ROOT'],'/nueva-url/wp-content/plugins'); define('WP_PLUGIN_URL','http://miweb.com/blog/nueva-url/wp-content/plugins');
– Otras variables muy recomendable y poco usadas son: WP_POST_REVISIONS y AUOSAVE_INTEVAL. El primero sirve para indicarle a WordPress cuantas revisiones queremos guardar de cada entrada o página, por defecto WordPress crea revisiones cada vez que editamos una entrada, y esto puede ralentizar el acceso al contenido. Podemos desactivar esta opción estableciéndola como FALSE, o indicándole el número máximo de revisiones por cada entrada / página. La segunda opción sirve para establecer cada cuanto tiempo quieres que WordPress te guarde una revisión, por defecto esta en 60. Personalmente, prefiero asumir el riesgo a perder algún contenido y tener que recuperarlo o reescribirlo, a que se me sature la web, por información que necesitare muy, muy ocasionalmente.
– Una opción para poder depurar y mejorar las llamadas a bases de datos es: SAVEQUERIES, de esta forma podemos ver todas las consultas que se ejecutan en una página. una vez activado en WP-CONFIG como TRUE:
global $wpdb; var_dump($wpdb->queries);
El primer parámetro permite ejecutar consultas con la base de datos wordpress, y el segundo devuelve la matriz, otro aspecto a tener en cuenta si trabajamos en webs que pueden ver los usuarios finales, es mostrar solo el error, por ejemplo al administrador, tratare este tema de permisos y de conexiones a Base de datos más adelante, de momento podemos ver un adelanto en el codex de WordPress.
– Otra buena practica es tener un registro de logs, para consultar posibles errores, podemos activarlo de la siguiente forma:
Creamos un archivo con el nombre; php_error.log lo guardamos en la raíz @ini_set('log_errors','on'); @ini_set('display_errors','off'); -> depende si queremos ver los errores por pantalla @ini_set('error_log','/public_html/blog/php_error.log');
– Si tenemos 2 blogs y queremos que los usuarios registrados puedan registrarse con las mismas cuentas, podemos habilitarlo ANTES DE INSTALAR WORDPRESS de la siguiente forma:
define('CUSTOM_USER_TABLE', 'nombre_tabla_bs_users_1'); define('CUSTOM_USER_META_TABLE', nombre_tabla_bs_users_meta_1');
El primero comparte datos del usuario, contraseña, etc y el segundo permite compartir los mismos privilegios.
– Para ganar velocidad en la navegación es necesario activar la cache: WP_CACHE, TRUE.
– Si tenemos un certificado SSL, podemos activarlo para TODA LA WEB: FORCE_SSL_ADMIN, TRUE, o solo al iniciar sesión: FORCE_SSL_LOGIN, TRUE.
– Otra opción muy interesante de WordPress es crear sitios Multisite, profundizare en este asunto mas adelante, para activarlo: WP_ALLOW_MULTISITE, TRUE.
– Respecto a las actualizaciones de WordPress, debo comentar que si quieres tener un sitio seguro, debes realizarlas, y para eso puedes incluir WP_AUTO_UPDATE_CORE, TRUE. Si queremos que ni siquiera nos avise de actualización debemos usar AUTOMATIC_UPDATER_DISABLED, TRUE, aunque no entiendo por que querrías hacer esto ya que puedes tener muchos problemas de seguridad.
define( 'WP_AUTO_UPDATE_CORE', true ); define( 'AUTOMATIC_UPDATER_DISABLED', true );
Y cuando vamos a actualizar, podemos hacer que recuerde las claves FTP y no las pida constantemente:
define('FS_METHOD','direct');
Finalmente, podemos sacar por pantalla todas las constantes con el comando:
print_r(@get_defined_constants());
Para ver más información al respecto accede al codex de WordPress.