Tiempo de lectura aprox: 5 minutos, 24 segundos
Optimiza tu WordPress.
En ocasiones hay que «remangarse» y hacer trabajo sucio, o sea, limpiar lo que se pueda, para que las cosas funcionen como es de suponer que deben hacerlo.
Cuando una instalación de WordPress lleva tiempo funcionando, es muy común que se acumule basura en su interior. Obviamente, no hablo de «polvo» acumulado, pero si de residuos informáticos.
La cantidad de residuos puede verse aumentada por muchos factores, como la cantidad de «escritores», la cantidad de «versiones» de cada entrada, etcétera.
Factores estos, no siempre fácilmente controlables. 😉
Optimiza tu WordPress
Antes de limpiar, es conveniente saber qué se debe limpiar (no es lo mismo limpiar una cocina que un taller mecánico) han de usarse herramientas y productos de limpieza adecuados.
Sí, de acuerdo, estamos hablando de informática, pero aún así, no es lo mismo limpiar un disco duro, que una memoria o una galería de imágenes (por poner un ejemplo).
En este caso concreto, hablamos de limpiar la base de datos de WordPress.
Así que empezamos por el principio.
¿Porqué se genera suciedad en la Base de Datos?
Las razones siempre son las mismas, aunque la velocidad a la que se genera la basura varía de un entorno a otro, por lo que voy a plantearte distintos escenarios de uso del CMS1.
Lo cierto es que es suficiente con escribir algo en la bitácora. Sí, así como suena. Si abres una nueva entrada, ya sea con el editor clásico o con Gutenberg, y escribes «una letra» cada minuto, el editor ira guardando las versiones a modo de borrador, en la base de datos, cada cierto tiempo establecido.
Sin hacer nada, sin pulsar ningún botón, se irá generando «basura» de las copias que no necesitas.
Si ocurre que esto se hace con frecuencia, o si hay más de un usuario editando entradas, este efecto se multiplica, como puedes entender.
Y aunque esto es «un caso extremo», lo uso para explicarte una de las formas fáciles en que esto ocurre sin que el usuario (tu) se de cuenta.
Otro escenario: Tu eres de los que escribe rápido y sin necesidad de edición, por lo que escribes la entrada «del tirón» y no da tiempo a que se creen copias fantasma.
Pero resulta que en tu entrada hace referencia a «otros autores» y citas su obra; en correspondencia, esos autores te citan a ti, o agradecen tus menciones.
Cuando ese cruce de halagos se hace con enlaces, se genera un tráfico de «pingback» y «trackbacks» y, eso también se almacena en la base de datos, engordándola sin necesidad de ninguna acción adicional.
Como comprendes, mientras más citaciones hay en un artículo, más «basura» de este tipo se genera y, mientras más entradas hay con citaciones …
Optimiza tu WordPress.
Atajando el problema
Sea cual sea la razón, más tarde o más temprano, todas las instalaciones de WordPress deberían limpiarse ya que, un engrosamiento innecesario de la base de datos (el «alma» del CMS) genera un detrimento (notable) en el rendimiento del sitio.
Claro que siempre hay quién dice: «Yo nunca he tenido problemas», quien tiene la suerte de contar con un servidor con recursos muy altos, al que no afecta el «peso» de la base de datos, etcétera.
Pero en general, como ya he dicho, tarde o temprano te encuentras con este obstáculo.
Limpiar la basura, es algo que como sabes, no se hace con una escoba, pero también sabes que hay muchas formas de luchar con el problema; desde las más fáciles mediante la instalación de un plugin, hasta la forma manual sólo recomendada a personal especializado.
Los plugin
Advanced Database Cleaner
Este plugin es bastante eficiente; sin que eso quiera decir que es una recomendación, sí es cierto que es uno de los más completos que encuentras en el repositorio.
«Advanced Database Cleaner» te permite limpiar la base de datos borrando los elementos huérfanos como «revisiones antiguas» o, «borradores antiguos» y, optimiza la base de datos.
Cabe destacar que es uno de los que en nuestras pruebas, ha manejado correctamente una instalación en «multisitio».
Puedes encontrar este plugin, en el repositorio oficial de WordPress, en el enlace: (https://es.wordpress.org/plugins/advanced-database-cleaner/).
WP-Sweep
«WP-Sweep» es interesante por dos razones fundamentales: La primera es efectivo y simple; la segunda, hace uso de las funciones de borrado internas de WordPress, en lugar de usar funciones SQL2 en PHP3.
Por otro lado, hay que decir que el funcionamiento de «WP-Sweep» deja que desear, en lo que ha compatibilidades se refiere. Hay una lista de varios plugins y extensiones de WordPress con los que «no se lleva bien». 😉
Puedes encontrar este plugin, en el repositorio oficial de WordPress, en el enlace: (https://es.wordpress.org/plugins/wp-sweep/).
Optimiza tu WordPress.
Optimize Database after Deleting Revisions
Con este nombre tan específico, hay otro plugin que te ayudará en la tarea de mantener limpia (más o menos) la base de datos de tu sitio WordPress.
Curiosamente, este plugin está disponible en Bielorruso, Danés, Holandés, Inglés, Francés, Alemán, Indonesio, Italiano, Persa, Portugués, Ruso, Servio, Sueco, Turco y Ucraniano, pero no en Español (Por si alguien se ofrece a traducirlo).
Al igual que otro de la lista, este plugin es capaz de optimizar las bases de datos de los sitios con la opción «multisitio» de WordPress.
Puedes encontrar este plugin, en el repositorio oficial de WordPress, en el enlace: (https://es.wordpress.org/plugins/rvg-optimize-database/).
WP-Optimize – Clean, Compress, Cache.
Este plugin lo he dejado intencionalmente el último, porque hace más cosas que simplemente limpiar la base de datos, se vende como una solución para acelerar un sitio.
Además de limpiar, «WP-Optimize» realiza tareas de cache y optimización de elementos ajenos a la base de datos, como las imágenes de la galería.
Puedes encontrar este plugin, en el repositorio oficial de WordPress, en el enlace: (https://es.wordpress.org/plugins/wp-optimize/).
Optimiza tu WordPress.
Trabajos manuales
Para los que les gusta meter «las manos en la masa», va esta sección.
Antes de continuar, he de hacer una declinación de responsabilidad, tanto si se usa un plugin como si se hace manualmente, existe el riesgo de destruir la base de datos y, por tanto, inutilizar el WordPress irremediablemente.
SoloWordpress no puede ser considerado responsable, ni colectiva ni individualmente, por el uso que se haga de esta información. Si bien se han puesto todos los esfuerzos en la veracidad y corrección de la información suministrada, los errores pueden ocurrir.
¡Si no estás seguro de lo que estás haciendo, por favor no toques nada!
Y recuerda siempre, hacer una copia de seguridad completa, antes de continuar.
WordPress cuenta con funciones nativas completas, para el borrado de registros almacenados en las tablas de la base de datos (al menos, las tablas «oficiales»).
Una consulta a «La Biblia» de WordPress que es CODEX puede ayudarte con esta y muchas otras tareas, aunque aún teneos el inconveniente de que no está disponible (completo) más que en inglés.
En WordPress (y en toda aplicación informática) siempre hay varias formas de conseguir un objetivo (asumiendo que todas ellas son correctas 😉). En este caso en concreto, se puede realizar la limpieza de la base de datos, mediante funciones nativas de WordPress o mediante instrucciones SQL.
Sí, es cierto, siempre puedes argumentar que las funciones nativas de WordPress son un encapsulado de las funciones SQL correspondientes, así que yo te presento ambas versiones y, tu decides.
Funciones de WordPress
Te voy a presentar una tabla de las funciones de borrado nativas de WordPress, con una breve explicación de para qué se usan (aunque su nombre es usualmente descriptivo).
[wptb id=3637]
Funciones SQL
Voy a presentarte un código SQL que puedes aplicar con tu servidor mySQL (como PHPMyAdmin) para realizar una limpieza de la base de datos. Recuerda, esto NO es código PHP.
Si quieres borrar las revisiones que se producen al hacer ediciones, puedes usar en siguiente snippet:
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';
Por otro lado, si lo que quieres es borrar comentarios, puedes usar:
DELETE FROM wp_comments WHERE comment_approved = 'spam';
para borrar los que has marcado como «spam» o,
DELETE FROM wp_comments WHERE comment_approved = '0';
para borrar los no aprobados.
Si eres como yo y ya tienes deshabilitados los «pingbacks» y «trackbacks», puedes eliminarlos todos de «un plumazo» con:
DELETE FROM wp_comments WHERE comment_type = 'pingback'; DELETE FROM wp_comments WHERE comment_type = 'trackback';
Si lo que te preocupa son los «transient» acumulados en la tabla «options», puedes usar:
DELETE FROM wp_options WHERE option_name LIKE ('%\_transient\_%')
Optimiza tu WordPress.
Conclusión
Sabes que sea cual sea la tarea que quieres realizar en WordPress, es muy probable que alguien haya tenido el mismo obstáculo y por tanto, habrá un plugin para esa tarea.
Pero también puedes ahora «remangarte» y hacer las cosas tu mismo (si es eso lo que te llama).
Y si además, has encontrado otra fórmula, puedes compartirla para que todos ampliemos conocimientos y la comunidad sea cada día más fuerte.
Mientras tanto, recuerda, #QuédateEnCasa, #UsaMascarilla, #LavateLasManos, juega, experimenta y, sobre todo, ¡divertirte!
¡Gracias por leernos!
¡Tus comentarios y preguntas nos ayudan a mejorar, por favor comenta!