Cómo eliminar todo el spam y los comentarios de la papelera de una vez

Publicada en WordPress.

Mira nuestro vídeo

Existe una versión mejor de tu web

Comparte este artículo

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 comentarios en «Cómo eliminar todo el spam y los comentarios de la papelera de una vez»

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

Deja una respuesta

No publicaremos tu correo electrónico. Los campos obligatorios están marcados con: •

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

Al marcar la casilla de aceptación estás dando tu legítimo consentimiento para que tu información personal se almacene en SiteGround y sea usada por Nelio Software con el propósito único de publicar aquí este comentario. Contáctanos para corregir, limitar, eliminar o acceder a tu información.