Autonomía digital y tecnológica

Código e ideas para una internet distribuida

Borrar miles de comentarios spam en WordPress con wp-cli

Imago voragine.net
[actualizado el ]

Hay instalaciones de WordPress que se quedan descuidadas durante un tiempo y se llenan de spam. Una de las principales entradas de spam son los formularios para dejar comentarios en cada post. Un WordPress descuidado puede acumular rápidamente decenas de miles de comentarios basura. Borrarlos desde el panel de administración no es una opción. Sí que se puede hacer directamente en base de datos, sin embargo usando wp-cli es mucho más fácil.

wp-cli es una herramienta maravillosa. Y cuando se combina con el poder de bash se pueden realizar tareas titánicas con un solo comando, como borrar miles de comentarios clasificados como spam:

wp comment delete $(wp comment list --status=spam --format=ids) --force

Para borrar todos los comentarios pendientes de aprobación:

wp comment delete $(wp comment list --status=hold --format=ids) --force

Borrar los comentarios clasificados como spam o los que están pendientes de aprobación es muy útil para descargar la base de datos de una instalación de WordPress y aligerar la carga del panel de administración.

Hay veces que si hay demasiados, bash no puede manejar tantos parámetros. En mi sistema, el límite está en 15.000. Para evitar el error:

wp comment delete $(wp comment list --number=15000 --status=hold --format=ids) --force

Los comentarios borrados se quedan en la papelera. Para borrarlos definitivamente:

wp comment delete $(wp comment list --status=trash --format=ids)

1 comentario

Dejar un comentario

*
*

 

Un trackback