Sentencias SQL para limpiar WordPress y su Base de datos

Hoy nos vamos a centrar en sentencias SQL para limpiar WordPress, por que últimamente me están encomendando la tarea de optimizar velocidad de páginas y limpiar la base de datos se convierte en un punto crucial.

Está claro que existen plugins que hacen lo mismo que voy a comentar aquí, pero vamos a ir muchísimo más rápido si lo hacemos directamente desde el phpMyAdmin o desde la línea de comandos de mySQL que si lo hacemos vía WordPress y además, sabemos que luego no vamos a dejar más residuos al desinstalar nada. Además, como extra pondré otras sentencias que podrían ser útiles si estás haciendo debug o tareas de programación.

Recuerda, haz una copia de tu base de datos antes de modificar nada, luego no digas que no avisé. No me hago responsable si la lías.

Sentencias SQL para limpiar WordPress

Limpiar las publicaciones en la papelera

No hay mucho que decir, esta sentencia SQL purgará todo lo que tengas en la papelera de WordPress.

DELETE FROM `wp_posts` WHERE `post_status`="trash"

Borrar los comentarios SPAM

Tal como dice el comentario, todos los comentarios que se hayan considerado spam, se esfumarán de tu base de datos.

DELETE FROM `wp_comments` WHERE `comment_approved` = 'spam';

Borrar los Pingbacks

Borra los pingbacks, si no te gustan, puedes acabar con ellos rápido con esta SQL.

DELETE FROM `wp_comments` WHERE `comment_type` = 'pingback';

Borrar los post meta huerfanos

A veces, cuando borramos un post a veces no se borran todos sus meta datos asociados, como resultado, la publicación no se encontrará en ‘wp_posts’, pero seguirá teniendo datos en ‘wp_postmeta’. Con esto nos encargamos de ello.

DELETE m FROM `wp_postmeta` AS m
LEFT JOIN `wp_posts` AS p ON m.`post_id` = p.`ID`
WHERE p.`ID` IS NULL

Borrar oEmbed Cache

El oEmbed Cache se dedica a cachear embeds (vamos, los tipicos embed de youtube, vimeo…). Limpiarlo puede liberar mucho espacio en nuestra base de datos.

DELETE FROM `wp_posts` WHERE `post_type`="oembed_cache"

Borrar los transient

Los datos transient son datos que se almacenan temporalmente para ganar en velocidad de procesamiento luego. Es como un caché. El problema es que se llena y no se limpia y luego deja muchísimos residuos en la instalación.

DELETE FROM `wp_options` WHERE `option_name` LIKE '%_transient%';

Otras sentencias útiles

Cambiar el autor de los artículos

A veces, cuando hacemos una importación de artículos desde una fuente distinta y queremos atribuir todos los post a un autor único, lo que hago es lanzar esta sentencia y… voilà, todos los artículos se convierten al ID que le indiquemos en SET post_author = ‘1’.

UPDATE `wp_posts` SET `post_author` = '1' WHERE `post_type`='post' AND `post_status`='publish'

Borrar los post de un post type

¿Quieres borrar todos los productos de tu tienda? Esta es tu sentencia SQL, si quieres cambiar el post type que quieres borrar, solo tienes que sustituir ‘product’ por tu custom post type. Este en concreto es para WooCommerce.

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

Borrar las categorías de una taxonomía

Esta sentencia borrará todas las categorías que tengas de una taxonomía previamente definida. Está preparada para borrar todas las categorías de WooCommerce, si lo que deseas es borrar otra taxonomía distinta, solo tienes que sustituir ‘product_cat’ por el nombre de taxonomía que tengas que borrar.

DELETE a,c FROM wp_terms AS a LEFT JOIN wp_term_taxonomy AS c ON a.term_id = c.term_id LEFT JOIN wp_term_relationships AS b ON b.term_taxonomy_id = c.term_taxonomy_id WHERE c.taxonomy = 'product_cat' AND c.COUNT = 0;

Y con estas sentencias SQL para limpiar WordPress dejaremos en nada limpia la base de datos de cosas que nos ocupan espacio y que ya no nos sirven para nada.

¡Si te ha sido de ayuda, comenta, comparte y dame 5 estrellitas!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.