Optimizar la base de datos de WordPress

optimizar la base de datos de wordpress

¿Tu página web o tu tienda online en WordPress crece y crece y cada vez funciona más lenta? Entonces ha llegado la hora de limpiar y optimizar la base de datos de WordPress. Pero antes de empezar, necesitamos conocer qué es una base de datos y qué tipo de base datos se emplea en WordPress.

Índice de contenidos

Qué es una base de datos

Una base de datos es un conjunto de datos pertenecientes a un mismo contexto, almacenados de manera sistemática en un servidor en forma de tablas y filas. La base de datos que se utiliza en WordPress es del tipo MySQL y en ella es donde se guarda la información de la instalación, configuración, artículos, plugins, usuarios, etc. En definitiva, todo lo relacionado con el diseño de tu página web o tienda online.

Conforme tu página web vaya creciendo, la base de datos también lo hará, almacenando más y más información pudiendo hacer que tu sitio funcione más lento. Por este motivo es necesario comprender cual es su estructura, qué información es interesante guardar y cuál no para conseguir que WordPress funcione más rápido.

Por este motivo debemos conocer qué tablas componen la base de datos que emplea nuestro sitio web realizado con WordPress.

Tablas de la base de datos de WordPress

A continuación vamos a ver las tablas fundamentales empleadas en WordPress y qué información es almacenada en cada una de ellas. Conocer esta información es primordial ya que algunas tablas guardan información repetida e innecesaria que aumentan el espacio de almacenamiento y otra información esencial necesaria para el correcto funcionamiento de tu página web o tienda online.

Es necesario saber que si deseas optimizar la base de datos de WordPress debes conocer a fondo las tablas empleadas, cuales son fundamentales para el funcionamiento y cuales no. Por este motivo, si tu página web funciona lenta y no estás seguro de que es lo que tienes que hacer, te recomendamos contratar un plan de mantenimiento web para tu WordPress con profesionales.

Al configurar e instalar WordPress por primera vez obtenemos una serie de tablas en nuestra base de datos con el prefijo que hayamos establecido. Dichas tablas son las que se muestran en la siguiente imagen.

optimizar la base de datos de wordpress 2

Tablas iniciales de WordPress

Analicemos entonces qué es lo que almacena cada una y cual es su función.

wp_options

La tabla wp_options es una de las tablas más importantes de la base de datos de WordPress. En ella se guardan todos los ajustes de tu página web WordPress. Datos como tu URL, el título, los plugins instalados, etc. Además, la gran mayoría de los plugins también guardan información relativa a su configuración en esta tabla.

Todos los ajustes que podemos observar en nuestro panel de control de WordPress se almacenan en ella.

wp_users

Aquí WordPress almacena todos los usuarios registrados en tu página web. Contiene la información básica acerca de un usuario. Nombre de usuario, contraseña encriptada, correo electrónico, fecha y hora de registro, nombre público, el estado del usuario, etc.

wp_usersmeta

En esta tabla quedan almacenados los metadatos o datos adicionales relativos a los usuarios. Complementa a la tabla anterior wp_users con más información y se utiliza como ubicación secundaria para los datos de los usuarios. Por defecto, guarda los nombres, descripciones, capacidades, etc.

wp_posts

Esta es posiblemente la tabla más importante de la base de datos de WordPress. Almacena varios tipos de contenido, incluyendo posts, páginas, elementos de menú, archivos adjuntos multimedia y cualquier tipo de post personalizado que un sitio emplee. En ella, la columna ‘post_type’ es la que  indica que tipo de contenido alberga.

wp_postmeta

La tabla wp_postmeta, al igual que la tabla wp_usermeta, amplía la información contenida en la tabla wp_posts con más datos relativos por ejemplo a las imágenes contenidas en tu sitio web.

wp_terms

En esta tabla se almacenan las categorías y etiquetas de las entradas, páginas y enlaces.

wp_term_relationships

En la tabla wp_term_relationships se establecen las relaciones entre las categorías y etiquetas con las entradas, páginas y enlaces.

wp_term_taxonomy

Los datos alojados en la tabla wp_term_taxonomy amplían la información almacenada en la tabla wp_terms. Puede asemejarse a los metadatos incluidos en la tabla wp_terms con la diferencia de que los plugins de WordPress no pueden añadir información en ella. Además, esta tabla también contiene una relación entre menús y elementos de menú.

wp_comments

En esta tabla se almacenan los comentarios de las entradas y páginas. Esta tabla también contiene los comentarios no aprobados y la información del autor junto con la jerarquía de los comentarios.

wp_commentmeta

En esta tabla, WordPress almacena información extra acerca de los comentarios de nuestros artículos o posts. 
Este tipo de contenido no es esencial y suprimirlo no afectaría al correcto funcionamiento de nuestra web, por lo que eliminarlo sería seguro y descargaría de trabajo al motor de nuestra base de datos.

wp_links

Esta tabla contiene información sobre los enlaces añadidos a tu página web WordPress. Ha quedado obsoleta y ya no se emplea y aunque hay algunos plugins antiguos que todavía hacen uso de ella, normalmente está vacía.

optimizar la base de datos de wordpress 3

Vamos a optimizar la base de datos de WordPress

Ahora que ya conocemos más sobre las tablas de tu base de datos de WordPress vamos a optimizarla con el fin de mejorar la velocidad de carga de tu sitio web. Es lógico pensar que cuantos más datos se vayan guardando en la base de datos, tu sitio web irá cada vez más lento y ya sabemos que a Google no le gusta nada las páginas web que tardan mucho tiempo en cargar. Por este motivo, si logramos optimizar la base de datos de WordPress para que tu web cargue más rápido Google estará más contento y tu web no se verá penalizada en los resultados de búsqueda.

Emplear phpMyAdmin es la forma más común de gestionar una base de datos de WordPress. Dependiendo del plan de alojamiento que tengas contratado es posible que estés utilizando una herramienta de gestión MySQL diferente a phpMyAdmin. Calma!, la mayoría de herramientas de gestión de bases de datos tienen una interfaz similar y funcionan de forma similar. Es posible que prefieras gestionar tu base de datos WordPress mediante un plugin, pero lo desaconsejamos totalmente ya que es un riesgo de seguridad potencial muy elevado.

Si echas un vistazo a tu base de datos, verás dos columnas a la derecha, ‘tamaño’ y ‘residuo a depurar’.

optimizar la base de datos de wordpress 4

Detalle columnas tamaño y residuo a depurar

El tamaño de una tabla depende de la cantidad de datos que se almacenan en ella. Si se almacenan más filas en una tabla, el tamaño de la misma aumenta. El residuo a depurar es un espacio temporal que emplea la base de datos para almacenar las consultas. Con el tiempo, este campo también  hará aumentar el tamaño de la tabla.

Es normal encontrar residuo a depurar en tu base de datos de WordPress y no debería afectar al rendimiento a menos que su tamaño sea excesivamente elevado. Optimizar la base de datos de WordPress eliminará el residuo a depurar y reducirá el tamaño total de la misma.

Podemos optimizar las tablas con residuo a depurar utilizando el comando SQL OPTIMIZE TABLE e incluir detrás el nombre de tabla a depurar, aunque no es necesario hacerlo empleando exlusivamente este método. PhpMyAdmin nos permite optimizar las tablas desde el menú desplegable principal. Lo que podemos hacer para optimizar la base de datos de WordPress es hacer click en la casilla “Seleccionar todo” y  seleccionar “Optimizar la tabla” en el menú desplegable. PhpMyAdmin lo hará todo automáticamente por nosotros.

optimizar la base de datos de wordpress 4

Optimizar las tablas de WordPress

Una vez haya terminado el proceso de optimización de la base de datos WordPress, phpMyAdmin presentará el mensaje que las tablas han sido optimizadas.

Es interesante saber que WordPress tiene una herramienta propia para reparar y optimizar la base de datos. Para conocer más acerca de esta utilidad visita el siguiente enlace, WordPress automatic database optimizing.
Este proceso es algo más complicado y sólo debería emplearse cuando fuese estrictamente necesario, desactivándolo una vez que se haya resuelto el problema.

Cómo reducir el tamaño de tu base de datos de WordPress

optimizar la base de datos de wordpress 5

La mayoría de las bases de datos de WordPress almacenan muchos datos innecesarios. Una optimización manual de la base de datos de WordPress resulta la más recomendada si tu sitio web va muy lento o consume muchos recursos. Vamos a echar un vistazo a las principales acciones que podemos tomar para solucionar este problema.

Elementos eliminados

Siempre que eliminamos un elemento en WordPress, una página, una imagen, un comentario o entrada del blog, éste se envía a la papelera, permitiendo ser recuperado en caso de accidente. Dichos elementos eliminados permanecerán almacenados en tu base de datos de WordPress hasta que vacíes la papelera. Por defecto, los elementos de la papelera se eliminan automáticamente transcurridos 30 días.

Podemos modificar el número de días, por ejemplo a 10, para que se vacíe la papelera añadiendo el siguiente código al archivo wp-config.php.

define( ‘EMPTY_TRASH_DAYS’, 10 ); 

O bien podemos desactivarlo por completo usando este otro código en el mismo archivo de configuración.

define( ‘EMPTY_TRASH_DAYS’, 0 );

Esta última opción es algo que no recomendamos, aunque es una cuestión personal de cada uno. Consideramos preferible reducir el número de días de permanencia de los elementos eliminados en la papelera antes que eliminar por completo una característica tan útil.

Temas y plugins inactivos

Cuando desinstalamos un tema o un plugin, permanecen en nuestras tablas la información relativa a su configuración y ciertos parámetros de los mismos. Se hace deliberadamente para que no tengas que reconfigurar el tema o plugin si deseas volver a emplearlo. Pero si has decidido prescindir definitivamente de el, puedes eliminar las tablas no utilizadas de tu base de datos manualmente mediante phpMyAdmin.

Nosotros no recomendamos esta opción si no sabes a ciencia cierta que es lo que estás haciendo. Si conoces las 12 tablas principales de WordPress que explicamos en los puntos anteriores puedes aventurarte, eso sí, haciendo siempre una copia de seguridad completa de tu sitio web antes de comenzar a eliminar.

Borrar las revisiones de los posts

La mayoría de las bases de datos de WordPress almacenan muchos datos innecesarios. Realizar la optimización de la base de datos de WordPress de forma manual es lo recomendado si tu sitio web va muy lento o consume muchos recursos. Vamos a echar un vistazo a las principales acciones que podemos tomar para solucionar este problema.

WordPress tiene un sistema de revisión de artículos que hace que muchas bases de datos sean innecesariamente grandes. Este sistema almacena una copia de cada borrador y actualización de las entradas de tu blog o página de WordPress . Es una función tremendamente útil, ya que permite volver a copias anteriores de los artículos y revisar borradores antiguos.

El problema estriba en que WordPress no pone límite alguno al número de revisiones que se guardan, pudiendo nuestra base de datos alcanzar un tamaño exagerado. La buena noticia es que tenemos la posibilidad de reducir fácilmente el número de revisiones almacenadas.

Para eliminar las revisiones de forma manual accederemos de nuevo a phpMyAdmin y seleccionaremos la pestaña SQL. Allí escribiremos la siguiente consulta SQL:

DELETE FROM wp_posts WHERE post_type = ”revision”

Al pulsar en continuar se eliminarán todas las revisiones que guardadas en la base de datos de tu WordPress.

También podemos reducir el número de revisiones que se guardan, añadiendo simplemente el siguiente código a nuestro archivo wp-config.php.

define( ‘WP_POST_REVISIONS’, 3 );

Además podemos desactivar por completo el sistema de revisiones de las publicaciones  añadiendo el siguiente código al mismo archivo wp-config.php.

define( ‘WP_POST_REVISIONS’, false );

Los transitorios de WordPress

Los transitorios de WordPress permiten almacenar información temporal. Pueden asemejarse en cierto modo a las cookies, pero en realidad son mucho más potentes. Los transitorios de WordPress permiten a los desarrolladores almacenar datos temporalmente en la base de datos dentro de la tabla de opciones.

Como era de esperar, los transitorios vencidos pueden acumularse en tu base de datos y hacer que tu página web o tienda online funcione más lentamente. Existen plugins como Delete Expired Transients que permiten gestionar los transitorios y eliminar los que ya no son necesarios incluso configurando una tarea automática diaria.

SPAM en los comentarios

Si tienes un blog y recibes mucho SPAM, te darás cuenta que los comentarios de SPAM están haciendo que tu base de datos aumente de tamaño. Un buen plugin anti-spam puede ser una buena solución.

El plugin Akismet permite descartar el SPAM obvio para que el comentario no deseado sea eliminado de tu base de datos inmediatamente. Hay que tener en cuenta que no es infalible y puede que algún comentario legítimo sea eliminado automáticamente.

Consideraciones finales

Hasta el momento hemos visto como optimizar la base de datos de WordPress de forma manual empleando herramientas como phpMyAdmin o modificando la configuración de nuestro WordPress. Pero también existen opciones decentes para realizar la misma tarea con plugins si no te sientes cómodo con los procedimientos anteriormente descritos. La cantidad de plugins que pueden realizar esta tarea es enorme y daría para otro artículo.

Aunque nosotros preferimos el método manual, ya que tratamos de que la velocidad de nuestra página mejore y tener muchos plugins instalados ralentiza el funcionamiento de nuestra base de datos, es interesante el uso de algún plugin de caché. Esto no afectará al tamaño de la base de datos, pero asegurará que tus páginas se carguen más rápidamente.

Puedes leer sobre esto y mucho más en nuestra guía acelera tu WordPress en 30 minutos.

¿Te ha resultado útil este artículo? Compártelo

El Estudio de Andrés | Diseño Web Zaragoza