Planes de hosting
Servicios de hosting que se adaptan a las necesidades de tu proyecto
Planes Multicuenta
Hosting para desarrolladores, agencias y empresas, pudiendo gestionar las cuentas de tus clientes
Dominios
Registra o transfiere tu dominio de forma sencilla y al mejor precio
Soluciones
Conócenos
En instalaciones de WordPress que llevan en activo muchos años, o que han tenido mucha actividad (contenidos, cambios, actualizaciones, plugins) pueden llevar a situaciones que requieran depurar y limpiar contenidos no necesarios de la base de datos, principalemente contenido denominado "huérfano", filas de la base de datos que no están en uso, pero que por error siguen presentes.
Estas acciones de limpieza se pueden llevar a cabo por medio de consultas SQL que nos ayudarán a automatizar las tareas, estas consultas se pueden ejecutar de forma sencilla desde el apartado SQL de la herramienta phpMyAdmin, disponible en cPanel.
Recuerda que en todos los ejemplos las tablas usarán el prefijo wp_, si tu instalación de WordPress usa otro prefijo diferente, deberás cambiar las consultas para que así lo reflejen, cambiando donde aparezca wp_ por el que corresponda en tu caso.
Las etiquetas se almacenen en la table wp_terms y tienen a su vez contenido asociado sobre las tablas wp_term_taxonomy y wp_term_relationships.
Para eliminar las etiquetas sin uso, utilizaremos tres consultas SQL, una para cada tabla de las indicadas, que realizarán las comprobaciones oportunas para verificar que efectivamente el término a eliminar no está en uso.
Limpiamos la tabla wp_terms.
DELETE FROM wp_terms WHERE term_id IN (SELECT term_id FROM wp_term_taxonomy WHERE count = 0 );
Limpiamos la tabla wp_term_taxonomy.
DELETE wp_term_taxonomy FROM wp_term_taxonomy LEFT JOIN wp_terms ON (wp_term_taxonomy.term_id = wp_terms.term_id) WHERE (wp_terms.term_id IS NULL)
Limpiamos la tabla wp_term_relationships.
DELETE FROM wp_term_relationships WHERE term_taxonomy_id not IN (SELECT term_taxonomy_id FROM wp_term_taxonomy);
DELETE wp_postmeta FROM wp_postmeta LEFT JOIN wp_posts ON (wp_postmeta.post_id = wp_posts.ID) WHERE (wp_posts.ID IS NULL)
DELETE wp_usermeta FROM wp_usermeta LEFT JOIN wp_users ON (wp_usermeta.user_id = wp_users.ID) WHERE (wp_users.ID IS NULL)
DELETE wp_posts FROM wp_posts LEFT JOIN wp_users ON (wp_posts.post_author = wp_users.ID) WHERE (wp_users.ID IS NULL)
En este ejemplo eliminamos el autoguardado de los cambios que sean más antiguos a 10 días.
DELETE FROM wp_posts WHERE (post_type = 'revision') AND (post_modified_gmt < DATE_SUB(NOW(),INTERVAL 10 DAY))
Los datos de tipo transitorio (transients) son opciones y consultas complejas que se almacenan en esta tabla como si fuese un sistema de cache, para evitar ejecutar una y otra vez la misma acción, estos datos se purgan automáticamente, pero puede suceder que no siempre ocurra, por lo que podría ser interesante purgar todos los datos de vez en cuando para eliminar contenido expirado, liberar uso de espacio y mejorar el rendimiento de la base de datos al reducir el número de filas.
DELETE FROM wp_options WHERE option_name LIKE '%\_transient\_%'