Cómo limpiar su base de datos de WordPress®

optimizar la base de datos de wordpress

Casi todos los sitios web de WordPress® que he visto tienen bases de datos hinchadas. Esto es bastante normal. Nadie nació un experto en construir sitios súper eficientes y optimizados.

Cuando comencé a usar WordPress®, cambié los temas mensualmente y probé muchos complementos. Solía ​​leer esos artículos sobre los "21 complementos imprescindibles" y los instalé todos. Un par de semanas después, los desinstalé.

Así es como se aprende: se prueba, se prueba y se descubre lo que se necesita y lo que funciona para usted.

Pero años después, te quedas con una base de datos de WordPress® llena de cosas viejas e inútiles. Esto se debe a que la base de datos de su sitio web no contiene solo su contenido, sino también todos los temas y configuraciones de complementos.

¿Por qué es fundamental tener una base de datos limpia?

Un cliente, un blog de comida con aproximadamente 10.000 visitas al día, experimentaba tiempos de carga lentos de 13 a 15 segundos. La solución ofrecida por la empresa de hosting fue actualizar a un plan de hosting más caro.

Nuestra solución fue diferente: realizamos una auditoría del sitio después de migrar a nuestra plataforma de alojamiento.

La auditoría del sitio es gratuita si pagas anualmente por cualquier plan de hosting de Simplenet ; usted también puede beneficiarse de esto.

Descubrimos más de 25,000 entradas de base de datos en la tabla WP_options con Autoload establecido en Sí. "AutoC: Sí" significa que cuando WordPress® se inicializa, lee esas opciones de la base de datos, que tarda unos 11 segundos.

Eliminamos esas opciones antiguas e inútiles y ahora WordPress® se carga en 2 o 3 segundos. También optimizamos las imágenes, reemplazamos algunos complementos defectuosos por otros mejores e hicimos otros ajustes menores.

No necesitaba un plan más caro; permaneció en el mismo plan durante otros 8 a 9 meses hasta que su tráfico alcanzó aproximadamente 60 000 visitas/día, momento en el que realmente llegó el momento de actualizar.

El beneficio de tener una base de datos de WordPress® limpia fue que la ayudó a ahorrar dinero en alojamiento web, tener un sitio web más rápido y escalar a mucho más tráfico sin esfuerzo. 

Entonces, veamos qué puede hacer para optimizar su base de datos de WordPress® y obtener los mismos beneficios.

Siempre haga una copia de seguridad primero

Antes de realizar cualquier limpieza de la base de datos, debe crear una copia de seguridad completa del sitio, incluida la base de datos y los archivos (o al menos la base de datos), ya que es allí donde realizaremos los cambios. Esta protección le permite restaurar rápidamente su sitio a su estado anterior si algo sale mal, ahorrándole tiempo, estrés y posibles pérdidas.

Sin una copia de seguridad, no puede recuperar publicaciones, páginas, cuentas de usuario o configuraciones eliminadas accidentalmente. Los errores durante la limpieza de una base de datos, como eliminar tablas vitales o dañar datos, también pueden dañar su sitio web, haciéndolo inaccesible para los visitantes.

Puede exportar su base de datos desde phpMyAdmin. Su proveedor de alojamiento debe brindarle acceso a esta herramienta de administración de bases de datos (o una similar).

Ofrecemos acceso a phpMyAdmin, así como una herramienta de copia de seguridad incorporada que puede utilizar para realizar copias de seguridad manuales en cualquier momento que desee. Además, ofrecemos sitios de preparación. Eso significa que puede clonar su sitio web en vivo en un sitio de prueba y realizar cualquier cambio allí antes de hacerlo en un sitio web en vivo.

También puedes utilizar un complemento de copia de seguridad de WordPress® como:

Cuando utilice un complemento de copia de seguridad, asegúrese de que el archivo de copia de seguridad se pueda utilizar fuera de WordPress®. Si el sitio falla, debe poder restaurarlo sin acceso a wp-admin.

Limpieza básica de WordPress®

La forma más sencilla de limpiar su base de datos de WordPress®, especialmente para personas sin conocimientos técnicos, es utilizar un complemento de WordPress®.

Los complementos de optimización de bases de datos más populares son:

También hay complementos de optimización y almacenamiento en caché que también tienen opciones de limpieza de bases de datos integradas, como:

Recomendamos WP-Sweep porque utiliza funciones de eliminación adecuadas de WordPress® tanto como sea posible en lugar de ejecutar consultas MySQL de eliminación directa.

Instale y active el complemento WP Sweep y luego vaya a Herramientas > Barrido. Verá diferentes secciones con un botón de barrido al lado, haga clic en el botón para limpiar el desorden.

Este complemento te ayudará a eliminar:

  • Revisiones
  • Borradores automáticos
  • Comentarios eliminados, no aprobados y spam
  • Meta de publicación huérfana y duplicada
  • Meta comentario huérfano y duplicado
  • Meta de usuario huérfano y duplicado
  • Relaciones de términos huérfanos
  • Términos no utilizados
  • Opciones transitorias

El complemento también puede optimizar tablas y es más fácil que hacerlo a través de phpMyAdmin.

Otro complemento que recomendamos es LiteSpeed ​​Cache . Puede limpiar la base de datos de WordPress® y convertir las tablas de la base de datos de MyISAM a InnoDB.

También puede ver la lista de entradas de carga automática, su número y tamaño usando LiteSpeed ​​Cache.

Como beneficio adicional, recomiendo el complemento Scalability Pro para WooCommerce; Resuelve algunos problemas de rendimiento nativos.

Limpieza avanzada de WordPress®

Después de limpiar con el método fácil, también debe verificar manualmente, más a fondo, si todavía hay cosas que se pueden optimizar en la base de datos.

Se pueden realizar muchas optimizaciones para la base de datos de WordPress®, pero hay algunos problemas importantes que, una vez resueltos, nuestra base de datos debería funcionar bastante bien. Entonces, centrémonos en resolver estos problemas con el beneficio más significativo.

Estos son:

  • limpieza de meta claves de wp_postmeta
  • limpiar las entradas de carga automática de la tabla wp_options
  • restaurar la clave principal perdida de la tabla wp_options

Limpieza de claves meta de la tabla wp_postmeta

Incluso después de limpiar la base de datos con un complemento como WP Sweep, es posible que aún existan entradas innecesarias en la tabla wp_postmeta porque no se ha limpiado todo.

Acceda a la base de datos con phpMyAdmin o cualquier herramienta de administración de bases de datos, vaya a la tabla wp_postmeta y vea cuáles son las entradas.

Tomemos este ejemplo.

Puede ver que hay muchas entradas con el prefijo EG_. Puede preguntarle a ChatGPT : ¿Qué complemento de WordPress ha puesto entradas con el prefijo EG_ en mi tabla WP_PostMeta?

ChatGTP me dice que es el complemento Essential Grid. Si ya no utiliza este complemento, puede eliminar todas estas entradas manualmente o ejecutando una consulta para eliminarlas de forma masiva.

ELIMINAR DE wp_postmeta DONDE meta_key COMO 'eg_%';


Esta consulta elimina todas las metaclaves que comienzan con eg_. No olvide hacer una copia de seguridad de su base de datos o al menos de la tabla wp_postmeta antes de comenzar a ejecutar consultas para limpiar la tabla.

Repita el proceso con cualquier otra meta clave que encuentre en una gran cantidad y no reconozca cuáles son y para qué se utilizan.

Limpiar las entradas de carga automática de la tabla wp_options

Este es el problema que discutimos en la introducción de este artículo: la tabla wp_options se llenó de entradas con el valor de Carga automática establecido en Sí.

Estas entradas se leen cada vez que se inicializa WordPress.

La forma más sencilla de ver estas entradas es utilizar el complemento LiteSpeed ​​​​Cache y ir a la sección Base de datos. Desplácese hasta Resumen de la base de datos y vea la lista de entradas de carga automática, su número y tamaño.

Entradas de carga automática vistas en el complemento LiteSpeed ​​Cache

En el ejemplo anterior, no hay problemas; Es una base de datos limpia, pero si ve en su sitio web algunas entradas enormes, puede preguntarle a Chat GPT : ¿Qué complemento ha puesto la entrada X en la tabla WP_options de mi base de datos de WordPress?


De este modo, podrá identificar el complemento que agregó esos datos y, si ya no lo utiliza, podrá eliminar la entrada respectiva.

BORRAR DE wp_options DONDE nombre_opción COMO 'tu-nombre-opción';

La consulta SQL anterior elimina la entrada, simplemente reemplace su nombre de opción con el nombre real de la entrada.

No olvide hacer una copia de seguridad de la base de datos o al menos de la tabla wp_options antes de comenzar la limpieza.

Restaurando la clave principal perdida de la tabla wp_options

Otro problema que encontré está relacionado con la tabla wp_options, es decir, hay casos en los que esta tabla pierde su clave principal.

El campo option_id está configurado de forma predeterminada para ser la clave principal.

La clave principal garantiza la unicidad de cada fila de la tabla y permite la indexación de filas para un acceso rápido. Si tenemos valores duplicados y se pierde la clave primaria, las operaciones sobre esta tabla serán más lentas porque ya no es posible acceder rápidamente a una fila específica. Se realiza un escaneo completo de la tabla, es decir, se lee cada fila de la tabla para encontrar los datos necesarios, lo que lleva más tiempo.

En algunas situaciones, como en las migraciones manuales con mysqldump de un servidor a otro, la tabla puede perder su clave principal cuando las versiones de MySQL son diferentes entre servidores.

id_opciónnombre_opción
1opción1
2opción2
3opción3
0opción4
0opción5
0opción6

Para resolver esta situación, debemos convertir la columna option_id en la clave principal nuevamente. Sin embargo, no podemos hacer eso si hay valores duplicados, los que tienen 0, por lo que deben eliminarse o renumerarse.

Eliminarlos restablece las configuraciones de tema o complementos, pero podemos volver a numerarlas. Ejecute estas consultas en su tabla WP_options.

Establecer @New_Option_id: = 4; Actualizar wp_options set option_id = (@new_option_id: = @new_option_id + 1) donde option_id in (seleccione opcion_id desde (seleccione opcion_id desde wp_options Where option_id = 0 group por opción_id tener count (*)> 1) como dupplicates); Eliminar de wp_options donde option_id = 0; ALTER TABLA WP_OPTIONES Agregue la tecla primaria (opción_id);

Las consultas que ves en la pantalla hacen lo siguiente:

  • Establece un punto de partida para option_id. Por ejemplo, la numeración se detuvo en 3 en el ejemplo anterior, por lo que establecemos 4 como nuevo punto de partida.
  • Identifica duplicados de option_id con valor 0 y los actualiza con nuevos valores a partir del valor establecido
  • Elimina las filas restantes donde option_id es 0
  • Agrega la clave principal en option_id

Asegúrese de cambiar el prefijo predeterminado (WP_) a la que está utilizando su base de datos y establecer el número de acuerdo (el código usa 4 como ejemplo).

Después de eso, ejecute las siguientes consultas.

Alter tabla wp_options auto_incement = 7; Alter tabla wp_options modifique opción_id bigint (20) sin firmar no nulo auto_incement; Tabla de verificación wp_options; Tabla de reparación wp_options;

Las consultas hacen lo siguiente:

  • Establece un nuevo valor inicial para AUTO_INCREMENT hasta el último número; en nuestro ejemplo, se detuvieron en 6, por lo que configuramos 7 como el nuevo punto de partida.
  • Activamos auto_increment para la columna option_id
  • Estamos haciendo una mesa de control.
  • Y una mesa de reparación

Nuevamente, asegúrese de cambiar el prefijo predeterminado (WP_) a la que está utilizando su base de datos. Y establezca el número según (el código usa 7 como ejemplo).

Antes de comenzar esta operación, no olvide hacer una copia de seguridad de su base de datos o la tabla WP_options.

Puede ejecutar estas consultas en phpMyAdmin (una herramienta accesible desde el panel de control de su hosting) o con una herramienta de administración de bases de datos como Sequel Ace (Mac) o MySQL Workbench (Windows, Linux, Mac).

Utilizo Sequel Ace y lo prefiero a phpMyAdmin porque es más rápido y estable. PhpMyAdmin a veces puede fallar debido a limitaciones de PHP, especialmente en alojamiento compartido.

Mejores prácticas para mantener limpia su base de datos de WordPress®

La mayoría de los complementos y temas no se limpian solos, por lo que debes realizar una limpieza de vez en cuando para asegurarte de que todo esté en óptimas condiciones.

Los complementos de optimización tienen esta característica de programar la limpieza automática y reducir la sobrecarga de la base de datos:

  • Prensa voladora
  • Cohete WP
  • Perfimporta
Optimización programada de Perfmatters

Puede configurarlo en horario semanal, mensual o el horario que desee.

También recomiendo eliminar complementos y temas no utilizados. Esto también ayuda desde el punto de vista de la seguridad. Le recomiendo que no guarde scripts PHP (complementos, temas, otros archivos PHP) en su servidor que no sean los que usa activamente.

Para eliminar complementos no utilizados, inicie sesión en wp-admin y vaya a Complementos > Complementos instalados. Haga clic en Inactivo para ver los complementos inactivos y eliminarlos.

Para eliminar temas no utilizados, vaya a Apariencia > Temas. Haga clic en cada tema que desee eliminar y luego haga clic en Eliminar en la esquina inferior derecha.

Te recomiendo que mantengas sólo tu tema activo y un tema predeterminado (si necesitas probar incompatibilidades).

También puede evitar que las revisiones se acumulen limitando el número de revisiones almacenadas en la base de datos, 30, por ejemplo. Agregue el siguiente código al archivo wp-config.php.

definir ('WP_POST_REVISIONS', 30);

No dejes comentarios sin aprobar: aprobalos, envíalos como spam o tíralos a la basura.

Tenga cuidado con los complementos que almacenan muchos datos:

  • complementos de estadísticas
  • complementos de seguridad
  • complementos antispam
  • complementos de publicaciones relacionadas
  • complementos de seguimiento de enlaces

No estoy diciendo que no debas usar ninguno de los complementos anteriores, pero usa complementos que ofrezcan esas funcionalidades y guarden datos externamente, no en tu base de datos de WordPress®.

Si es posible, evite el uso de complementos que agreguen hinchazón. Mantenga la base de datos de WordPress® lo más liviana posible. Es mejor prevenir que tratar la hinchazón.

La optimización eficaz de la base de datos garantiza sitios web rápidos, fiables y escalables. La implementación de mejores prácticas puede mejorar significativamente el rendimiento de la base de datos y al mismo tiempo reducir los costos operativos. Recuerde, la optimización de la base de datos no es una tarea única, sino un proceso continuo que evoluciona con las necesidades y el crecimiento de su sistema.

Gracias por leer este artículo sobre optimización de bases de datos. Espero que le haya proporcionado información valiosa y consejos prácticos para mejorar el rendimiento de sus bases de datos de WordPress®.

Si tiene alguna pregunta, comentario o técnica adicional que le gustaría compartir, no dude en dejar un comentario o comunicarse con nosotros. ¡Juntos podemos crear sitios web mejores, más rápidos y más eficientes!

Andrei Chira Avatar

Comentarios

11 respuestas

  1. Increíble recurso sobre cómo limpiar la base de datos de WP. Gracias por compartir esto.

    1. Gracias. Si necesita alguna otra información o tutoriales que podamos escribir, háganoslo saber.

  2. ¿Has probado TablePlus? Es similar a Sequel Pro pero admite múltiples controladores.

    1. Nunca había oído hablar de eso hasta ahora.

  3. Estoy usando Akismet. ¿Debería eliminar eso también? Probé la versión gratuita de UPDRATPLUS varias veces, pero siempre se agota la memoria y el sitio no funciona. Aumenté la memoria en php.ini y lo intenté, pero sin éxito. Tengo alojamiento Linux compartido con Godaddy.

    1. Prefiero Antispam Bee , creo que es más eficaz para combatir el spam que Akismet.
      La mayoría de los complementos de respaldo tienen problemas con el alojamiento compartido, una solución que podría funcionar mejor es usar de ManageWP o de WP Time Capsule .
      Estas soluciones realizan copias de seguridad incrementales, por lo que no es necesario comprimir ni comprimir, y eso utiliza menos recursos del servidor.

  4. Con la ayuda del conocimiento obtenido en su artículo, limpiar la base de datos resultó ser bastante fácil y sin errores ni problemas.

  5. Este es un artículo realmente excelente, gracias por compartirlo y me gustaría decirlo, siga compartiendo su información con nosotros.

  6. Gracias.
    ¡Funciona a las mil maravillas!

  7. Muy buena información compartida, gracias por esto.

  8. Muy buen artículo compartido, gracias por esto.

Deja un comentario

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