Imagen de Paweł Czerwiński en Unsplash

Todos los que cada día administramos un sitio en WordPress nos encontramos con que tenemos demasiados comentarios marcados como spam. La mayoría de ellos son detectados automáticamente por nuestro plugin anti-spam (en caso de tenerlo) y marcados potencialmente como spam para que podamos revisarlos a posteriori (ya sea para eliminarlos o aceptarlos). El problema es que con tanto spam, lo más probable es que tú, como yo, al final tengamos miles de comentarios de spam que incrementan el tamaño de nuestra base de datos.

Si es tu caso, eliminar todos los comentarios marcados como spam desde tu panel de control no es una opción. Sin embargo, te vamos a mostrar cómo eliminar todos estos comentarios a la vez mediante dos simples instrucciones SQL de actualización a ejecutar en nuestra base de datos de WordPress.

Los comentarios se guardan en la tabla wp_comments de la base de datos. La columna comment_approved de esta tabla nos indica si el comentario está aprobado, si está en la papelera, o si fue marcado como spam. Por ejemplo, la siguiente consulta SQL nos muestra cuantos comentario de cada tipo tenemos en nuestra base de datos (esta información debería coincidir con los datos que puedes ver en la sección Comentarios de tu panel de administración de WordPress):

SELECT comment_approved, count(*)
FROM
wp_comments
 GROUP BY comment_approved

statsspammysql

Basado en esto, la siguiente instrucción SQL de borrado se encarga de eliminar de una vez tus comentarios marcados como spam o aquellos que están en la papelera:

DELETE FROM wp_comments
WHERE
comment_approved='spam' OR comment_approved='trash'

Para mantener la consistencia, nos aseguraremos de que no quedan metadatos relativos a los comentarios que borramos en el paso anterior. Mediante la siguiente instrucción SQL de borrado eliminamos los metadatos que sobran:

DELETE FROM wp_commentmeta
WHERE
comment_id NOT IN (SELECT comment_id FROM wp_comments)

Y con esto ya lo tenemos. Ahora puedes ver en tu panel de administración de WordPress el resultado. Hemos eliminado los comentarios que nos estaban ocupando espacio en la base de datos y que no nos interesaban.

dashboardnospam

ADVERTENCIA: No creo que haga falta recordarte que antes de hacer cualquier modificación en nuestra base de datos de WordPress debemos crear una copia de seguridad. Si por algún imprevisto cometemos un error o algo fuera de nuestro control sucede, disponer de una copia de seguridad nos puede salvar la vida.

ACTUALIZACIÓN: También puedes usar el plugin Batch Comment Spam Deletion, de Pippin Williamson (via Lucy Tomás).

Imagen destacada de Paweł Czerwiński en Unsplash.

3 respuestas a «Cómo eliminar todo el spam y los comentarios de la papelera de una vez»

  1. Avatar de Lucy Tomás

    Buen aporte Antonio con este artículo, seguro que a más de uno le va a ser de ayuda. Para los que no se atrevan a meter mano en el código pueden eliminar los comentarios spam con un plugin creado por Pippin Williamson

    https://wordpress.org/plugins/batch-comment-spam-deletion/

    1. Avatar de Antonio Villegas

      Gracias, Lucy. Actualizo el contenido con el plugin que comentas 🙂

  2. Avatar de adolfo

    Muchas gracias amigo excelente información, existe algún plugin que me pueda ayudar.

Deja una respuesta

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

He leído y acepto la política de privacidad de Nelio Software

Tus datos personales se almacenarán en SiteGround y serán usados por Nelio Software con el único objetivo de publicar tu comentario aquí. Con el envío de este comentario, nos das el consentimiento expreso para ello. Escríbenos para acceder, rectificar, limitar o eliminar tus datos personales.