Los comentarios spam son uno de los males de Internet, que se ceban – cómo es natural – principalmente en sitios WordPress, pues por defecto los temas vienen provistos de formulario de comentarios, que es bien conocido por estos plastas cibernéticos que nos quieren vender mierdas varias.
Y normalmente no pasa nada, pues Akismet, el plugin anti-spam por defecto de WordPress, da buena cuenta de ellos. Lo malo es que, hasta que se borran definitivamente, ocupan un espacio valiosísimo de la base de datos, no digamos en una red de sitios WordPress, donde todo se magnifica.
Porque, claro, multiplica esos comentarios pedorros llenos de enlaces por cada uno de los sitios de la red, pues está claro, tu base de datos crecerá a ritmo frenético, y no es cuestión de ir sitio por sitio borrando comentarios spam ¿no?.
Hay solución …
Boone Gorges ha creado un script que da buena cuenta de los comentarios spam, borrando todos los de la red de un plumazo, a lo bestia y sin anestesia, ahí es nada.
Esta pequeña bestia está compuesta de estas bonitas líneas de código:
<?php function qw_delete_spam_comments() { $in_progress = (bool) get_site_option( 'qw_delete_in_progress' ); if ( ! $in_progress ) { global $wpdb; update_site_option( 'qw_delete_in_progress', '1' ); // 4980 $next = (int) get_site_option( 'qw_delete_next_blog' ); if ( empty( $next ) ) { $next = 1; } if ( $next > 4980 ) { return; } switch_to_blog( $next ); $spams = $wpdb->get_col( "SELECT comment_id FROM {$wpdb->comments} WHERE comment_approved = 'spam' LIMIT 10" ); if ( empty( $spams ) ) { $next++; update_site_option( 'qw_delete_next_blog', $next ); } else { foreach ( $spams as $spam ) { wp_delete_comment( $spam, true ); } } restore_current_blog(); delete_site_option( 'qw_delete_in_progress' ); } } register_shutdown_function( 'qw_delete_spam_comments' );
¿Que qué es lo que hace?, pues maravillas, es como Terminator con las pilas recién cargadas. Simplemente ten en cuenta estos detalles para tener todo controlado:
- El número de sitios está puesto a mano (en el ejemplo 4980), tenlo en cuenta para adaptarlo a tu red.
- La cadena denominada
qw_delete_in_progress
es un acelerador, que asegura que solo una de estas rutinas se ejecute cada vez. - En el ejemplo se ha limitado a 10 comentarios por página, pero puedes adaptarlo a lo que quieras.
- Lo más importante: crea un fichero con el código y ponlo en la carpeta ‘mu-plugins‘. Cuando termine de ejecutarse (para eso revisa la marca
qw_delete_next_blog
de la tablawp_sitemeta
– has terminado si es mayor que el número total de sitios de la red), asegúrate de borrarlo, o al menos comenta la línearegister_shutdown_function
.
Nada más, que usted lo mate bien … el spam, se entiende.
¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!