10 comandos SQL para limpiar la base de datos de WordPress – Parte 2

Hace dos días publicamos la primera parte de este artículo. En ella os mostrábamos 5 comandos SQL para limpiar la base de datos de WordPress. Ya sabéis que una base de datos entrada en años puede acumular mucha información que seguramente ya no te sirva para nada. Por eso, lo suyo es limpiarla siempre que se pueda para no acumular «basura». En este artículo te mostramos los otros 5 comandos SQL restantes para limpiar la base de datos de WordPress de forma sencilla. ¿Preparado? ¡Pues vamos allá!

Antes de empezar, decir que para ejecutar estos comandos, necesitamos, o bien acceso por SSH, o bien un gestor de base de datos. Si tu web ya está en producción, seguramente tu alojamiento cuente con uno de estos gestores. El más común es PHPMyAdmin, aunque hay muchos más. Consulta antes con los proveedores de tu alojamiento para disipar tus dudas a la hora de ejecutar estos comandos SQL.

Eliminar todos los tags que ya no utilizas

Hace una década, los tags eran muy populares en esto del mundo bloguero. Hoy en día, la mayoría de administradores de WordPress y bloggers han dejado de utilizarlos. Si tu sigues usándolos, puedes ahorrar espacio en la base de datos eliminando aquellos que ya no utilices.

DELETE FROM wp_terms WHERE term_id IN (SELECT term_id FROM wp_term_taxonomy WHERE count = 0 ); 
DELETE FROM wp_term_taxonomy WHERE term_id not IN (SELECT term_id FROM wp_terms); 
DELETE FROM wp_term_relationships WHERE term_taxonomy_id not IN (SELECT term_taxonomy_id FROM wp_term_taxonomy);

Eliminar todas las revisiones y sus metadatos

Las revisiones son una característica muy útil, pero si no las eliminas de vez en cuando, tu base de datos crecerá muchísimo rápidamente. La siguiente consulta elimina todas las revisiones, así como todos los metadatos asociados a ellas.

DELETE a,b,c FROM wp_posts a WHERE a.post_type = 'revision' LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id);

Desactivar todos los plugins de WordPress

A veces pasa que un plugin defectuoso lleva al garete tu sitio web desarrollado con WordPress. Cuando esto ocurre, hay veces que no es ni posible acceder al backoffice para desinstalarlo o desactivarlo. ¿Qué hacer en estos casos?

Lo mejor que puede hacer es desactivar todos los complementos mediante la siguiente consulta SQL:

UPDATE wp_options SET option_value = '' WHERE option_name = 'active_plugins';

Lo más probable es que esto resuelva el error y te permita volver a iniciar sesión en tu panel de control de WordPress, donde puedes volver a activar los plugins uno por uno e identificar cuál era el que estaba causando problemas.

Cambiar los posts de un autor a otro en masa

¿Necesitas cambiar muchos posts de un autor a otro? En caso afirmativo, no tienes por qué hacerlo manualmente. A continuaciómn te muestro un comando súper útil que hará el trabajito por ti.

Lo primero que debes hacer es obtener los ID de los usuarios de WordPress. Una vez hayas iniciado sesión en MySQL, ejecuta la siguiente consulta SQL para obtener un listado de usuarios, así como sus ID:

SELECT ID, display_name FROM wp_users;

Consideremos que NUEVO_AUTOR_ID es el ID del nuevo autor y VIEJO_AUTOR_ID es el ID del autor anterior. Ejecuta esta consulta para asignar a un nuevo autor todos los artículos asignados actualmente a VIEJO_AUTOR_ID.

UPDATE wp_posts SET post_author=NUEVO_AUTOR_ID WHERE post_author=VIEJO_AUTOR_ID;

Una vez ejecutes esta query, todos los posts del antiguo autor ahora parecerán haber sido escritos por el nuevo autor.

Cambiar de tema

WordPress almacena la configuración de tu web dentro de la tabla wp_options. Es por eso que puedes modificar el tema que tienes activo actualmente mediante un sencillo comando SQL.

Esto puede ser muy útil si tu tema activo tiene un error que te impide acceder a tu panel de administración. La siguiente consulta restaurará el tema Twenty Nineteen como tema activo de tu WordPress.

UPDATE wp_options SET option_value = 'twentynineteen' WHERE option_name = 'template' or option_name = 'stylesheet';

Y hasta aquí la última parte de nuestro artículo sobre 10 comandos SQL para limpiar la base de datos de WordPress. Espero que te haya gustado y, si te ha resultado útil, no dudes en compartirlo en redes sociales. ¡Nos leemos!