Aunque todos los componentes de un sitio web WordPress son importantes, podría decirse que tu base de datos es clave. Aquí es donde se almacena y se accede a prácticamente toda la información de tu sitio. Como tal, tu juego de optimización de la base de datos de WordPress tiene que ser perfecto.

Una base de datos que sufra de hinchazón y problemas de rendimiento ralentizará tu sitio y perjudicará tu posicionamiento en las búsquedas. Además, podría afectar también a la Experiencia de Usuario (UX, User Experience) en general. A su vez, esto puede afectar a tus cifras de tráfico y repercutir en tus posiciones en los resultados de búsqueda (entre otros problemas).

En este tutorial, veremos la optimización de la base de datos de WordPress desde varios ángulos. Hablaremos de la estructura general que encontrarás, junto con muchas técnicas de optimización que puedes utilizar. También mencionaremos herramientas y servicios que pueden ayudarte a mantener tus bases de datos a pleno rendimiento.

Cómo Entender la Estructura de la Base de Datos de WordPress

En pocas palabras, la base de datos de WordPress es la columna vertebral de tu sitio web. Lo alberga casi todo, como el contenido, los datos de usuario, la configuración y mucho más. En lo que respecta a WordPress, las «tablas» de la base de datos se encargan de almacenar tipos específicos de información.

La plataforma utiliza los sistemas de gestión de bases de datos MySQL o MariaDB, y accederás a ella con herramientas como phpmyAdmin o Adminer:

La interfaz phpMyAdmin en un servicio de alojamiento Kinsta, mostrando una lista de tablas de la base de datos de WordPress con opciones para acciones como examinar, estructurar, buscar, insertar y soltar. Las tablas mostradas son wp_commentmeta, wp_comments, wp_links, wp_options, wp_postmeta, wp_posts, wp_termmeta, wp_terms, wp_term_relationships, wp_term_taxonomy, wp_usermeta y wp_users.
Acceder a una base de datos de WordPress con phpMyAdmin.

Por ejemplo, la tabla wp_posts contiene tus entradas y páginas, mientras que wp_users contiene datos sobre los usuarios de tu sitio. A continuación veremos algunas de estas tablas con más detalle.

Tras la instalación, WordPress crea un conjunto de tablas predeterminadas para cubrir todos los casos de uso típicos que necesitarías. Sin embargo, los plugins, los temas y la instalación también pueden crear tablas para almacenar datos específicos y relacionados.

Este enfoque modular es excelente en muchos aspectos, ya que permite una amplia funcionalidad. Sin embargo, por otro lado, demasiadas tablas superfluas (junto con una mala gestión) también pueden provocar hinchazón.

Comprender la estructura de la base de datos de WordPress es crucial por dos razones:

  • Rendimiento. Una buena organización de la base de datos te permite recuperar los datos más rápidamente, lo que repercutirá directamente en los tiempos de carga y en el rendimiento.
  • Mantenimiento. Saber qué tablas corresponden a las distintas partes de tu sitio te ayudará durante el mantenimiento. Por ejemplo, si un determinado plugin está causando problemas, podrías solucionar los problemas de sus tablas asociadas.

Limpiar y optimizar regularmente las tablas de tu base de datos puede evitar que se vuelvan grandes y difíciles de manejar. Como señalamos, el impacto en el rendimiento podría afectarte negativamente.

Tablas Específicas de WordPress

Todo tipo de sitios utilizan bases de datos, no sólo WordPress. La plataforma tiene sus propios tipos de tablas y funciones de base de datos, y si quieres optimizarlas, es importante que las entiendas perfectamente.

Aunque no vamos a tratarlas todas aquí, algunas tablas te interesarán más que otras:

  • wp_options. Almacena la configuración de todo el sitio y es posiblemente una de las tablas más visitadas de tu base de datos. Deberás mantener esta tabla limpia gracias a una buena optimización.
  • wp_postmeta. Aquí se almacenan los metadatos de tus entradas. A medida que tu sitio crece, ésta puede convertirse en una de las tablas más grandes de tu base de datos.
  • wp_users y wp_usermeta. Toda la información relacionada con los usuarios de tu sitio y sus metadatos estará en estas dos tablas. En algunos casos excepcionales, puede que necesites entrar aquí para cambiar una contraseña si no puedes acceder a WordPress.

Recuerda que cada plugin o tema adicional que añadas a tu sitio puede modificar también esta estructura. Sin embargo, sería raro que un tema o plugin eliminara una de estas tablas.

Aun así, debes revisar y comprender regularmente estos posibles cambios. Es clave para mantener una base de datos optimizada que apoye, en lugar de dificultar, el rendimiento de tu sitio.

Por Qué la Optimización de la Base de Datos de WordPress es Necesaria para la Mayoría de los Sitios

Optimizar tu base de datos de WordPress no es sólo una buena práctica; es una necesidad para la mayoría de los sitios que quieren ofrecer una experiencia sin problemas. Tu base de datos es el almacén central de todos los datos importantes de tu sitio. Su salud afecta directamente al rendimiento, la velocidad y la fiabilidad de tu sitio.

Como tal, hay dos razones generales por las que la optimización regular de la base de datos de WordPress debería ser un elemento básico del flujo de trabajo:

  • Mejora la velocidad y el rendimiento del sitio. Con el tiempo, tu base de datos de WordPress incluirá algunos datos innecesarios o redundantes, como opciones transitorias, revisiones de entradas, comentarios de spam o borradores obsoletos. Esta sobrecarga ralentizará la recuperación de información.
  • Mejora la experiencia del usuario. Los usuarios también esperan una experiencia de navegación fluida y rápida. Una base de datos bien optimizada se traduce en una carga más rápida de la página y un procesamiento más eficaz de los datos. En pocas palabras, cada interacción en el sitio web depende de las consultas a la base de datos. A mayor eficiencia, mejor UX.

También hay algunas razones más avanzadas para asegurarte de que optimizas tu base de datos. Por ejemplo, una base de datos no optimizada somete a tu servidor a una tensión adicional, ya que trabaja más para encontrar y servir datos. Esto tendrá un efecto crítico si utilizas un alojamiento compartido con recursos limitados. Es en parte una de las razones por las que Kinsta no ofrece alojamiento compartido de ningún tipo.

Además, a medida que crece tu sitio, también lo hace tu base de datos. Aunque al principio tengas un sistema pequeño y manejable, su complejidad puede crecer rápidamente. Con una optimización regular, puedes asegurarte de que tu base de datos pueda soportar el escalado que emprenda tu sitio sin comprometer el rendimiento.

En resumen, la optimización de la base de datos de WordPress mejorará los tiempos de respuesta. Un retraso en la carga de incluso unos pocos segundos puede provocar un aumento de las tasas de rebote y una pérdida de tráfico, lo que no es una buena noticia para tu posicionamiento en los buscadores.

Cómo Realizar el Mantenimiento y la Limpieza Periódicos

Si limpias y mantienes regularmente tu base de datos de WordPress, tienes una de las mejores formas de mantener tu sitio funcionando lo mejor posible. Sin embargo, las bases de datos pueden hincharse con datos innecesarios con el tiempo, por lo que es importante un flujo de trabajo regular y coherente.

Además, debes utilizar todas las herramientas y servicios a tu disposición de la forma más óptima. La buena noticia es que WordPress ofrece una serie de enfoques para mantener tu base de datos.

Un plugin tendrá innumerables formas de optimizar una base de datos. WP-Optimize es una solución popular para este trabajo. Hay otras, pero ésta tiene grandes valoraciones y críticas en WordPress.org, es gratuita y recibe actualizaciones periódicas.

La imagen de cabecera de WordPress.org para el plugin WP-Optimize con el eslogan "Haz que tu sitio sea rápido y eficaz". El gráfico muestra una moto roja compitiendo contra un coche y un avión.
La cabecera de WP-Optimize de WordPress.org.

A lo largo del post te mostraremos cómo optimizar tu base de datos de WordPress utilizando este plugin, pero también puedes extrapolar las instrucciones al plugin que elijas. Si eres cliente de Kinsta, asegúrate de que el plugin que elijas cumpla nuestros requisitos y no aparezca en nuestra lista de prohibidos.

En las próximas secciones veremos esto con más detalle, y abarcaremos el enfoque manual y el uso de WP-Optimize. Más adelante trataremos las herramientas propias de Kinsta. Primero, sin embargo, vamos a tratar algunas tareas previas a la optimización.

Qué Hacer Antes de Abordar la Optimización

Antes de saltar a tu base de datos, hay algunas tareas sencillas que debes realizar. Para empezar, siempre debes hacer una copia de seguridad completa de tu sitio y de tu base de datos. Si ocurre lo peor y estropeas tu sitio, podrás recuperarlo en cuestión de minutos.

También deberás eliminar los plugins o temas que no utilices en tu sitio. Esto podría resolver algunos problemas, y no sólo con tu base de datos. También puede ayudar a reforzar la seguridad de tu sitio.

El panel de control de WordPress muestra una lista de los plugins instalados. Cada plugin tiene una descripción, con opciones para activarlo, desactivarlo o eliminarlo, y ajustes para las actualizaciones automáticas.
La pantalla de plugins de WordPress

Sin embargo, ten en cuenta que dependiendo del plugin o tema, esto puede dejar tablas no deseadas. Por supuesto, ésta es la razón exacta por la que queremos optimizar la base de datos, así que entender qué plugins y temas dejan datos transitorios nos ayudará en el futuro.

La tarea final será algo que encontrarás cuando entres en la herramienta de gestión de bases de datos que hayas elegido. Los errores de la base de datos pueden ser, obviamente, una indicación de problemas de rendimiento, por lo que deben ser algo que resuelvas antes de llevar a cabo una mayor optimización.

En resumen, el proceso consiste en seleccionar todas tus tablas y, a continuación, utilizar el botón Comprobar tabla para generar un informe.

La herramienta phpMyAdmin mostrando la opción "Comprobar tabla". A la izquierda aparecen varios nombres de tablas, como wp_termmeta y wp_users, cada una con iconos de acción para tareas como navegar y buscar. A la derecha, un menú contextual muestra opciones para operaciones con tablas como exportar y optimizar.
Elegir la opción Comprobar tabla dentro de phpMyAdmin.

Si ves OK o algo similar, es óptimo. Sin embargo, cualquier error debe resolverse antes de continuar. En este caso, una solicitud de soporte puede ser una buena idea.

1. Optimiza las Tablas de Tu Base de Datos

El primer paso es optimizar las tablas de tu base de datos. Con un enfoque manual, dirígete al enlace Bases de datos dentro de tu herramienta de gestión y, a continuación, elige tu base de datos:

La interfaz phpMyAdmin de Kinsta mostrando la pestaña Bases de datos. Aparecen dos bases de datos, y ambas tienen acciones de comprobación de privilegios disponibles.
Elegir una base de datos dentro de phpMyAdmin.

En muchos casos, ya estarás en la base de datos de tu sitio de WordPress. En cualquier caso, verás una lista de tablas dentro de tu base de datos. Simplemente selecciónalas todas en bloque y, a continuación, elige la opción Optimizar tabla del menú desplegable antes de hacer clic en Ir:

Un menú contextual en phpMyAdmin para una lista seleccionada de tablas de bases de datos de WordPress, con la opción "Optimizar tabla" resaltada. Otras opciones incluyen copiar tabla, mostrar acciones de crear, exportar, vaciar, eliminar y mantenimiento de tablas.
Elegir para optimizar todas las tablas de la base de datos mediante phpMyAdmin.

Al cabo de un rato, verás un informe con el estado de cada tabla de tu base de datos:

La interfaz phpMyAdmin muestra un mensaje que indica que se ha ejecutado correctamente la consulta SQL para optimizar las tablas de la base de datos de WordPress. Debajo del mensaje, se enumeran las tablas individuales con notas sobre su estado de soporte de optimización.
El informe de optimización dentro de phpMyAdmin.

Con WP-Optimize, dirígete a WP-Optimize > Base de datos > Optimizaciones. Desde aquí, haz clic en el botón Ejecutar optimización junto a la opción Optimizar tablas de la base de datos:

Una sección de la interfaz del plugin WP-Optimize en el panel de control de WordPress, mostrando la opción "Optimizar tablas de la base de datos" seleccionada con el botón "Ejecutar optimización" resaltado. La interfaz indica que la optimización afectará a 159 tablas.
El botón Ejecutar optimizaciones dentro del panel de WP-Optimize.

El plugin ejecutará todas las tablas y te dará un mensaje de éxito. En este punto, puedes pasar a las revisiones de las entradas.

2. Limpiar las Revisiones de Entradas

El sistema de revisión de entradas de WordPress significa que cada modificación que hagas puede acumularse con el tiempo. Puedes eliminarlas de tu base de datos fácilmente mediante consultas SQL. La forma más sencilla de hacerlo es con una línea:

DELETE FROM wp_posts WHERE post_type = 'revision’;

Esto eliminará todos los tipos de entradas de revisión de la tabla. Sin embargo, también hay datos asociados en otras tablas. Para capturar y eliminar todo esto, puedes utilizar el siguiente fragmento:

DELETE FROM wp_posts WHERE post_type = 'revision';
DELETE FROM wp_term_relationships WHERE object_id NOT IN (SELECT ID FROM wp_posts);
DELETE FROM wp_postmeta WHERE post_id NOT IN (SELECT ID FROM wp_posts);

Por supuesto, debes utilizar el prefijo de tabla correcto para tu propia base de datos si copias y pegas esto. Con un plugin, esta tarea lleva unos segundos. Al igual que la optimización general de la base de datos de WordPress, WP-Optimize te ofrece un botón de un solo clic desde WordPress:

El panel de control del plugin WP-Optimize se centra en la optimización de la base de datos. Las opciones incluyen la limpieza de todas las revisiones de entradas y las entradas de borrador automático, con un botón azul "Ejecutar optimización" junto a cada tarea.
Las opciones para borrar revisiones y borradores automáticos en WP-Optimize.

En el futuro, podrías limitar el número de revisiones que utiliza WordPress accediendo a tu archivo wp-config.php. Aquí, añade la siguiente línea al archivo y guarda los cambios:

define( 'WP_POST_REVISIONS', X );

Aquí, X es el número de revisiones que te gustaría mantener. También podrías especificar aquí false, pero no lo recomendamos. Siempre querrás tener al menos una revisión a la que recurrir si la necesitas.

3. Borrar Comentarios Spam y Elementos Eliminados

También podemos utilizar consultas SQL para eliminar comentarios spam. Ten en cuenta que cuando moderas comentarios, los no deseados permanecen en tu base de datos durante 30 días. Esto significa que los comentarios marcados como spam dentro de ese plazo permanecerán en tu base de datos.

Puedes eliminarlos completamente con unas pocas líneas de SQL en tu herramienta de gestión de bases de datos:

DELETE FROM wp_comments, wp_commentmeta
USING wp_comments
LEFT JOIN wp_commentmeta ON wp_comments.comment_ID = wp_commentmeta.comment_id
WHERE wp_comments.comment_approved = 'spam’;

Es un caso similar para los elementos que envías a la papelera dentro de WordPress. Puede haber mucho contenido «en el limbo», que puedes eliminar con otra consulta SQL:

DELETE p, pm, tr
FROM wp_posts p
LEFT JOIN wp_postmeta pm ON p.ID = pm.post_id
LEFT JOIN wp_term_relationships tr ON p.ID = tr.object_id
WHERE p.post_status = 'trash’;

Al igual que con las revisiones de entradas, puedes establecer valores para el tiempo que tardan en eliminarse los elementos de la papelera dentro de wp-config.php:

define( 'EMPTY_TRASH_DAYS', X )

Dentro de WP-Optimize, hay tres opciones para ayudarte a eliminar los comentarios spam y la papelera de WordPress:

Una sección del plugin WP-Optimize en el panel de control de WordPress que muestra varias opciones de limpieza, como eliminar spam y comentarios de la papelera, comentarios no aprobados y transitorios caducados, con casillas de verificación para seleccionar cada tarea de optimización.
Las opciones para eliminar los comentarios spam, la papelera y los comentarios no aprobados en WP-Optimize.

También existe la opción de eliminar comentarios no aprobados. Esto puede ser útil en algunas situaciones, pero no lo recomendamos. En su lugar, modera estos comentarios y luego elimínalos si es necesario.

4. Eliminar Etiquetas No Utilizadas

Las taxonomías son importantes para WordPress, pero con el tiempo pueden convertirse en una enorme colección. Este es un caso de uso excelente para optimizar tu base de datos, y al igual que con otras técnicas, puedes utilizar una consulta SQL:

DELETE t, tt
FROM wp_terms AS t
INNER JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id
LEFT JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id
WHERE tt.taxonomy = 'post_tag' AND tt.count = 0;

La opción más cercana para eliminar las etiquetas no utilizadas dentro de WP-Optimize es Limpiar los metadatos de las entradas. Esto evalúa si tienes metadatos huérfanos y los eliminará:

La interfaz del plugin WP-Optimize muestra opciones para limpiar la base de datos de WordPress, incluyendo la eliminación de pingbacks y trackbacks, la limpieza de los metadatos de las entradas y la limpieza de los metadatos de los usuarios con sus respectivos recuentos.
Las opciones dentro de WP-Optimize para limpiar metadatos de post huérfanos.

Aunque esta opción puede eliminar también categorías y otros datos, es una solución segura, especialmente si ninguna otra entrada o página los utiliza.

5. Eliminar Pingbacks y Trackbacks

No estamos seguros de cuántos sitios web de WordPress utilizan pingbacks y trackbacks en la era actual, pero aún pueden saturar tu base de datos si dejas la configuración activada. La primera tarea es comprobar si tienes desactivada esta opción. Se trata de una tarea sencilla dentro de la pantalla Ajustes > Comentarios dentro de WordPress:

La pantalla "Ajustes de Comentarios" del panel de control de WordPress muestra casillas de verificación para los ajustes predeterminados de las entradas, como notificar a los blogs enlazados, permitir notificaciones de enlaces desde otros blogs y permitir que la gente envíe comentarios a las nuevas entradas.
La pantalla de Ajustes de Comentarios dentro de WordPress mostrando las opciones de pingback y trackbacks.

En la sección Ajustes por Defecto de las Entradas, asegúrate de desmarcar las opciones «Intentar avisar a cualquier blog…» y «Permitir avisos de enlaces…» y guarda los cambios. A continuación, vuelve a tu herramienta de gestión de bases de datos y ejecuta la siguiente consulta:

DELETE c, cm
FROM wp_comments c
LEFT JOIN wp_commentmeta cm ON c.comment_ID = cm.comment_id
WHERE c.comment_type IN ('trackback', 'pingback’);

Ambos se encuentran en el mismo lugar que los comentarios, aunque su tipología es diferente y es en lo que se centra la consulta. WP-Optimize ofrece dos opciones distintas para cada uno de ellos:

El panel de control de WordPress muestra la configuración del plugin WP-Optimize con opciones para eliminar las opciones transitorias caducadas, los pingbacks, los trackbacks y para limpiar los metadatos de las entradas, mostrando el recuento de elementos encontrados para cada categoría.
Las opciones de WP-Optimize para eliminar trackbacks y pingbacks.

Una vez que completes este trabajo, ¡no deberías volver a ver trackbacks ni pingbacks en tu base de datos!

Utilizar la Optimización Automática de la Base de Datos de WordPress de Kinsta

Los clientes de Kinsta no necesitarán un plugin de optimización de la base de datos de WordPress. Realizamos optimizaciones automáticas continuas las 24 horas del día para todos tus sitios. Por extensión, esto significa que no necesitarás saber nada sobre consultas SQL, dónde se sitúan los datos dentro de tu base de datos o cualquier otra cosa relevante para la optimización de la base de datos de WordPress.

La Optimización Continua de Bases de Datos forma parte de nuestra Monitorización del Rendimiento de las Aplicaciones (APM). Esto mantiene tu base de datos (y tu sitio) de WordPress ágiles y eficientes sin necesidad de intervención manual.

APM limpia tu base de datos eliminando datos innecesarios como transitorios, metadatos huérfanos y comentarios spam. De este modo, puedes asegurarte de que tu base de datos permanece optimizada sin necesidad de intervención.

El panel de control de Kinsta APM presenta el gráfico 'Tiempo total de transacción', que desglosa el tiempo de respuesta en PHP, MySQL y servicios externos durante un periodo determinado. La sección inferior enumera las
La herramienta Kinsta APM.

El uso de APM no es el tema central de este post, pero lo tratamos en nuestra documentación. En lo que respecta a la supervisión de la base de datos, APM vigila las consultas SQL más lentas que se ejecutan:

La interfaz de Kinsta APM muestra un gráfico titulado "Consultas más lentas a la base de datos", que enumera varias operaciones SQL relacionadas con las opciones de WordPress, como SELECT, UPDATE, INSERT, SHOW y DELETE, junto con sus porcentajes de duración total, duración total en milisegundos, duración máxima, duración media y tasa por minuto.
Un informe del APM de Kinsta que muestra las consultas más lentas que se ejecutan en la base de datos.

Accedes a APM a través del panel MyKinsta, concretamente a la pantalla APM. Ten en cuenta que puede que tengas que activarlo primero:

Un panel de control del servicio de alojamiento Kinsta que muestra la sección Monitorización del Rendimiento de las Aplicaciones (APM). Incluye una breve explicación de la función APM, junto con advertencias sobre su uso. El botón "Activar APM" se muestra de forma destacada para que el usuario active el servicio.
La opción para activar APM dentro del panel de MyKinsta.

A partir de aquí, tienes que darle un poco de tiempo al APM para que recopile los datos. Sin embargo, una vez que esté visible, podrás comprobar aquellas consultas que puedan necesitar una mayor optimización.

Cómo Optimizar las Consultas a la Base de Datos para una Mayor Eficiencia

Optimizar las consultas a la base de datos que utilizas es crucial para mejorar el rendimiento y la velocidad de tu sitio WordPress. Unas consultas eficientes significan una recuperación más rápida de los datos, lo que a su vez conlleva una mejora de los tiempos de carga y una mejor experiencia de usuario.

Dado que puedes utilizar consultas para llevar a cabo la optimización de la base de datos de WordPress, aquí tienes un par de consejos sobre cómo puedes hacerlas más eficientes:

  • Optimiza las estructuras de tus consultas. Observarás que no utilizamos wildcards (o asteriscos) en nuestras consultas de ejemplo. En lugar de utilizar SELECT *, sé específico con respecto a las columnas exactas que necesitas. Además, utiliza JOIN en lugar de subconsultas siempre que sea posible. Las subconsultas pueden ser menos eficientes, especialmente si no tienen una buena estructura o implican grandes conjuntos de datos.
  • Utiliza la caché de consultas. Herramientas como Redis pueden almacenar los resultados de las consultas en memoria. Esto significa que los resultados de la consulta se pueden servir desde la caché en lugar de volver a consultar la base de datos la próxima vez.

Estos son consejos vagos, pero hay muchas más cosas que puedes hacer. Veámoslo rápidamente a continuación.

Optimización Avanzada de la Base de Datos de WordPress y Consejos para Solucionar Problemas

La «indexación» puede ayudarte a añadir una guía de referencia rápida a tu base de datos. Ayuda al servidor de la base de datos a encontrar los datos más rápidamente sin escanear cada fila de una tabla.

Para conseguirlo, identifica las columnas que se utilizan con frecuencia en tus consultas y considera la posibilidad de añadirles índices. Puedes hacerlo desde phpMyAdmin (o similar). Primero, haz clic en la tabla que quieras indexar y dirígete a la pestaña Estructura:

La pestaña "Estructura" de phpMyAdmin para la tabla "wp_posts" de una base de datos de WordPress. Muestra una lista de columnas con tipos, cotejo, atributos y acciones disponibles como cambiar y soltar.
Accediendo a la pestaña Estructura de una tabla en phpMyAdmin.

A continuación, selecciona las columnas que quieras indexar y elige la opción Índice en la parte inferior de la tabla:

Un primer plano de una sección de phpMyAdmin que muestra la opción de índice resaltada para una tabla de base de datos de WordPress. También son visibles otras opciones como examinar, cambiar, soltar, primario, único, espacial y texto completo.
Elegir indexar columnas en phpMyAdmin.

Cuando guardes los cambios, se indexarán esas columnas.

La sentencia EXPLAIN también puede ayudarte a comprender cómo ejecuta MySQL tu consulta. Esto puede ayudarte a detectar ineficiencias y a comprender cómo interactúa tu consulta con los índices. Para ejecutarla, añade la sentencia al principio de una consulta existente. Cuando la ejecutes, SQL desglosará cómo ejecutará la consulta:

La ventana de salida de la consulta SQL de phpMyAdmin muestra un mensaje de ejecución correcta de la consulta SQL. Debajo del mensaje hay un comando SQL para explicar una operación de eliminación en las tablas de comentarios de WordPress, con detalles del plan de ejecución de la consulta.
El resultado de ejecutar una consulta precedida de una sentencia EXPLAIN.

No podemos explicar aquí todo lo relativo a la sentencia EXPLAIN, aunque la documentación de MySQL trata casi todo lo que necesitas saber sobre ella.

Controlar el Rendimiento

Supervisar el rendimiento de tu base de datos de WordPress es una parte esencial del funcionamiento de un sitio. Te ayudará a identificar posibles problemas antes de que se agraven y garantizará que tu sitio siga siendo eficiente y responda bien.

Muchas de las técnicas que cubrimos en esta entrada irán dirigidas a la supervisión del rendimiento, como el uso de EXPLAIN en consultas lentas. Sin embargo, hay muchas más posibilidades. De hecho, phpmyAdmin incluye sus propias métricas de rendimiento en la pestaña Estado del servidor:

La pestaña "Estado" de phpMyAdmin muestra un gráfico circular y una lista de operaciones de sentencias SQL junto con su frecuencia. El gráfico indica la distribución de operaciones como "establecer opción", "mostrar variables" y "seleccionar" desde el inicio del servidor.
La pantalla de Estado de phpmyAdmin.

Esto te permite ver los tiempos de ejecución de las consultas y los procesos (en la pestaña Estadísticas de consulta), lo que ayuda a identificar las consultas que necesitan optimización. Para una monitorización avanzada, MySQL Workbench te será de gran ayuda:

Una vista detallada de MySQL Workbench mostrando dos consultas SQL en el editor y el panel de resultados debajo. La barra lateral izquierda enumera los esquemas de la base de datos, y la barra de herramientas de la parte superior ofrece diversas funciones para la gestión de la base de datos. Un cuadro de fragmentos en la parte derecha ofrece ayuda sobre la sintaxis SQL.
La interfaz de usuario principal de MySQL Workbench.

Te ofrece funciones avanzadas para el diseño, desarrollo y administración de bases de datos. También proporciona informes de rendimiento y diagnósticos que pueden ayudarte a ajustar tu base de datos.

Dentro de WordPress, el perenne plugin Query Monitor te permitirá supervisar las consultas a la base de datos, los hooks, los condicionales, las peticiones HTTP y mucho más.

La cabecera de WordPress.org para el plugin Query Monitor. Muestra las consultas por componente, centrándose en componentes como "wordpress-seo" y "woocommerce". Las peticiones HTTP se listan con métodos, URLs y estados, junto con un panel para advertencias y avisos.
El plugin Monitor de consultas.

Es especialmente útil para detectar consultas lentas e identificar los plugins o temas que las causan. En la mayoría de los casos, sin embargo, se trata de un plugin de desarrollo, por lo que puede no ser adecuado para un sitio en producción.

Cómo Gestionar Grandes Bases de Datos en WordPress

A medida que un sitio WordPress crece en contenido, usuarios y tráfico, su base de datos se amplía de forma natural. Una base de datos grande será algo con lo que te encontrarás (o de lo que te preocuparás) a menudo cuando dirijas un sitio.

La mayoría de los consejos que damos en este artículo pueden servir para una base de datos grande, y para reducirla. Sin embargo, hay muchos otros consejos que podemos dar para aquellas bases de datos que serán inherentemente más grandes de lo habitual:

  • Archiva los datos más antiguos. En lugar de mantener todos los datos activos, considera la posibilidad de archivar las publicaciones antiguas o los datos de usuario a los que no accedes con regularidad.
  • Utiliza una Red de Entrega de Contenidos (CDN, Content Delivery Network). Descargar y servir recursos estáticos como imágenes, vídeos y descargas desde otro servidor puede reducir la carga de tu sitio y ayudar a acelerarlo. Además, tu sitio se cargará más rápido para los usuarios, independientemente de dónde se encuentren.
  • Consultas personalizadas. Si eres desarrollador de WordPress, escribe consultas eficientes para tus temas y plugins. Esto te ayudará a obtener sólo lo que necesitas y a mantener alta la eficiencia.

Incluso puedes considerar técnicas avanzadas como la partición de tablas y la «fragmentación de bases de datos» En este caso, los datos se dividen en varias bases de datos. Suele ser complejo y normalmente requiere una gestión experta.

Hablando de eso, los expertos son necesarios cuando se trata de obtener un alto rendimiento de tu base de datos y de tu sitio web adjunto. El alojamiento WordPress de Kinsta es escalable, administrado y optimizado para la plataforma.

El panel de control de alojamiento de Kinsta muestra "Información del sitio" con secciones para detalles básicos, detalles del entorno e información SFTP/SSH. Los gráficos de visitas al sitio y el tiempo total de transacción son visibles, proporcionando analíticas sobre el rendimiento de tu sitio web.
El sitio web de alojamiento WordPress de Kinsta.

Los planes comienzan desde 35 $ al mes, y nuestra arquitectura puede soportar desde un simple blog hasta redes de nivel empresarial. Escríbenos para saber cómo podemos convertirnos en tu socio de alojamiento a largo plazo, independientemente de tus objetivos.

Resumen

Tu base de datos de WordPress es como el motor de un coche: si no se pone a punto, no funcionará tan bien como necesitas. De hecho, la falta de optimización de la base de datos de WordPress podría hacerte caer del primer al último puesto en las  posiciones de búsqueda. Tus usuarios también notarán que tu sitio se convierte en un segundón, por lo que una base de datos de primera que funcione rápido es crucial para el éxito.

Hay muchas formas de hacerlo, pero una combinación de técnicas manuales, plugins y las propias herramientas de optimización de Kinsta te proporcionarán los mejores beneficios. En muchos casos, la automatización puede ayudarte a llevar a cabo muchas de estas tareas sin necesidad de conectarte o ejecutar tú mismo ninguna herramienta específica.

Nos encantaría saber si nuestros consejos de optimización de la base de datos de WordPress te han funcionado. ¡Haznos saber cuál ha tenido más impacto en la sección de comentarios de abajo!

Jeremy Holcombe Kinsta

Editor de Contenidos y Marketing en Kinsta, Desarrollador Web de WordPress y Redactor de Contenidos. Aparte de todo lo relacionado con WordPress, me gusta la playa, el golf y el cine. También tengo problemas con la gente alta ;).