Ticker

6/recent/ticker-posts

Ad Code

Responsive Advertisement

Eliminar usuarios Spam en WordPress desde la base de datos

En algunos proyectos es posible que tengas usuarios que se registren y que nunca tengan alguna actividad en tu sitio, este registro puede ser manual o también realizado a través de boots.

 

Generalidades

Si tienes un sitio con muchos usuarios, de los cuales la mayoría son registros sin ningún tipo de actividad, puedes entonces evaluar eliminarlos, en este artículo veremos como realizar esto directamente a través de la Base de Datos.

 

Código SQL para eliminar usuarios que no tiene actividad

Puedes usar este código desde la aplicación PHPMyAdmin de tu cuenta de hosting, tener en cuenta:

  • Asegúrate de seleccionar la base de datos de tu sitio web.
  • En el código se asume el prefijo «wp_», pero puedes cambiarlo de acuerdo al prefijo de tus tablas.
  • Ten en cuenta que el código sólo contempla usuarios que no son usado en WordPress y en pedidos de WooCommerce
  • Si tienes plugins adicionales que usan el ID de usuario, tienes que incluir estas tablas en la consulta SQL para excluir de la eliminación

 

Antes de ejecutar las consultas SQL es recomendable realizar una copia de seguridad de tu sitio o de tu base de datos.
CREATE TEMPORARY TABLE tmp_exclude
SELECT DISTINCT post_author AS user_id FROM wp_posts UNION
SELECT DISTINCT user_id AS user_id FROM wp_comments UNION
SELECT DISTINCT meta_value AS user_id FROM wp_postmeta WHERE meta_key = '_customer_user' UNION
SELECT user_id FROM wp_usermeta WHERE meta_key='wp_capabilities' AND meta_value = 'a:1: {s:13:"administrator";b:1;}';

DELETE FROM wp_usermeta WHERE user_id NOT IN
(SELECT user_id FROM tmp_exclude);

DELETE FROM wp_users WHERE ID NOT IN
(SELECT user_id FROM tmp_exclude);

En el código anterior:

  • Creamos consultas que nos indiquen los IDs de usuarios que están siendo usados en las diferentes tablas, por ejemplo usuarios autores, que ha realizado comentarios o que han realizado compras, también incluimos usuarios con el rol de administradores
  • Estos usuarios usados los guardamos en una tabla temporal
  • Los datos de los usuarios se guardan en dos tablas, las de usuarios y otra tabla de metadata
  • Realizamos consultas de eliminación a ambas tablas excluyendo los IDs utilizados

 

Conclusión

Como has podido comprobar, puedes realizar consultas SQL directamente a la base de datos para eliminar los usuarios que no estén siendo usados y de esta forma mantener tu base de datos optimizada.

 

La entrada Eliminar usuarios Spam en WordPress desde la base de datos es un artículo reciente del sitio DecodeCMS.

Enregistrer un commentaire

0 Commentaires