Cómo optimizar la base de datos de WordPress

En este artículo le explicamos las distintas opciones que tiene para optimizar la base de datos de WordPress y mejorar así el funcionamiento del sitio y acelerar el tiempo de carga.

Nota: Sea muy cuidadoso cuando trabaja en phpMyAdmin, porque no es posible deshacer los cambios. Le recomendamosque haga una copia de seguridad, antes que haga cualquier cambio.

Complementos recomendados para optimizar la base de datos

Eliminar «transients»

Eliminar revisiones de publicaciones

Borrar los metadatos huérfanos asociados a una publicación eliminada

Eliminar datos asociados a complementos desinstalados

Eliminar las sesiones de WooCommerce

Nota: cuando mencionemos la tabla wp_options en una consulta, u otras tablas de su base de datos, debe sustituir "wp" con el prefijo usado en su propia instalación de WordPress. Un prefijo es el identificador que va delante de la parte "_options". Algunos ejemplos son: "www_options", "wp_options" o "subdomain_options".


Complementos recomendados para optimizar la base de datos

Si no está familiarizado con consultas de base de datos, pruebe uno de estos plugins gratis de código abierto listados abajo, o considere el plugin premium WP Rocket.

¿Sabías que...? 
Nuestro plugin premium de almacenamiento en caché, WP Rocket, puede mejorar significativamente la velocidad de carga de su sitio web y la clasificación SEO. Además, ofrece una serie de funciones automatizadas, como la optimización de archivos, la mejora de la carga diferida de imágenes y mucho más.

Comprar WP Rocket


Eliminar «transients»

Los «transients» son los datos de la caché que WordPress almacena en la tabla wp_options para mejorar el rendimiento de su sitio web. Son algo así como las «cookies» del navegador.

Esos «transients» tienen fecha de caducidad y se eliminan automáticamente cuando alcanzan esa fecha. No obstante, a veces ese proceso falla y los datos no se borran. Esto puede suponer un auténtico problema si tiene un sitio web complejo, ya que esos datos se acumulan con el tiempo y entorpecen el funcionamiento de la base de datos y, por tanto, del sitio web. Por eso siempre viene bien borrar los «transients».

  1. Vaya a phpMyAdmin y abra la base de datos.
  2. Vaya al menú de la parte superior de la pantalla y haga clic en SQL.
  3. Pegue la siguiente consulta para borrar todos los «transients» de la tabla y reemplace el texto wp_options con el nombre de la tabla de opciones de su instalación de WordPress.
DELETE FROM `wp_options`
WHERE `autoload` = 'yes'
AND `option_name` LIKE '%transient%'
  1. Para confirmar, haga clic en Continuar.

query-transient.png


Eliminar revisiones de publicaciones

Cada vez que edita una publicación o una página del sitio web, el contenido anterior se guarda en la base de datos como revisión para que pueda recuperar esa versión si es necesario. Con el tiempo, eso puede hacer que se acumulen muchos datos, sobre todo si hace cambios con frecuencia. 

Puede usar la siguiente consulta para borrar todas las revisiones guardadas:

  1. Vaya a phpMyAdmin y abra la base de datos.
  2. Vaya al menú de la parte superior de la pantalla y haga clic en SQL.
  3. Pegue la siguiente consulta para borrar todos los «transients» de la tabla y reemplace el texto wp con el prefijo de su sitio de WordPress. Tiene que reemplazar wp en cuatro sitios distintos.
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 )
LEFT JOIN wp_term_taxonomy d ON ( b.term_taxonomy_id = d.term_taxonomy_id)
WHERE a.post_type = 'revision'
AND d.taxonomy != 'link_category';
  1. Para confirmar, haga clic en Continuar.

query-revisions.png


Borrar los metadatos huérfanos asociados a una publicación eliminada

Las publicaciones tienen metadatos asociados que se almacenan en la base de datos, por ejemplo, el nombre del autor, la fecha en que se publicó, etc. Cada vez que borra o edita una publicación, los metadatos siguen ahí y se les llama huérfanos porque ya no están asociados a esa publicación y solo se acumulan en la base de datos. 

Puede usar la siguiente consulta para borrar esos metadatos:

  1. Vaya a phpMyAdmin y abra la base de datos.
  2. Vaya al menú de la parte superior de la pantalla y haga clic en SQL.
  3. Pegue la siguiente consulta para borrar todos los «transients» de la tabla y reemplace el texto wp con el prefijo de su sitio de WordPress. Tiene que reemplazar wp en cuatro sitios distintos.
DELETE pm
FROM wp_postmeta pm
LEFT JOIN wp_posts wp ON wp.ID = pm.post_id
WHERE wp.ID IS NULL
  1. Para confirmar, haga clic en Continuar.

query-metadata.png


Eliminar datos asociados a complementos desinstalados

Cada vez que desinstala un complemento desde la interfaz de administrador de WordPress, quedan datos asociados en la base de datos. Le recomendamos eliminarlos.

En el siguiente ejemplo, eliminamos los datos del complemento Disqus. Para eliminar los de otros complementos, reemplace el texto disqus con el nombre del complemento tal como aparece en la tabla wp-options.

  1. Vaya a phpMyAdmin y abra la base de datos.
  2. Vaya al menú de la parte superior de la pantalla y haga clic en SQL.
  3. Pegue la siguiente consulta para borrar todos los datos asociados a Disqus y reemplace el texto wp_options
DELETE FROM `wp_options`
WHERE `autoload` = 'yes'
AND `option_name` LIKE '%disqus%'
  1. Para confirmar, haga clic en Continuar.

query-plugin.png


Eliminar las sesiones de WooCommerce

Si utiliza WooCommerce y tiene una tabla wp-options muy grande, probablemente la causa sean los datos de sesiones o «transients». Puede borrarlos desde la interfaz de administrador de WordPress.

  1. Vaya al menú de la izquierda y haga clic en WooCommerce > Estado > Herramientas.
  2. Borre los «transients» de WooCommerce y los caducados, las variaciones huérfanas y las sesiones de los clientes. Tenga en cuenta que al borrar estas últimas, también desaparecerán los productos que hayan guardado en el carrito.

Eliminar las sesiones de WooCommerce con una consulta de base de datos

Si la base de datos de WordPress es muy grande, no podrá borrar las sesiones desde la interfaz de administrador. Lo que tiene que hacer es eliminarlas desde la base de datos de phpMyAdmin.

  1. Vaya a phpMyAdmin y abra la base de datos.
  2. Vaya al menú de la parte superior de la pantalla y haga clic en SQL.
  3. Pegue la siguiente consulta para borrar todos los «transients» de la tabla y reemplace el texto wp_options con el nombre de la tabla de opciones de su instalación de WordPress.
DELETE FROM wp_options
WHERE option_name LIKE '_wc_session_%' OR option_name LIKE '_wc_session_expires_%'
  1. Para confirmar, haga clic en Continuar.

query-woocommerce.png


Artículos relacionados:

¿Cómo remuevo los comentarios "spam" de Wordpress?

Cómo crear un usuario temporal en Wordpress

¿Fue útil este artículo?

¿No puedes encontrar lo que buscas?

Inicia un chat

Es la forma más rápida de ponerse en contacto, todos los días del año.

Llámanos

Chatea con nosotros de lunes a viernes de 9:00 a 16:00