Cómo evitar comentarios spam en WordPress desde htaccess

Cómo evitar comentarios spam en WordPress desde htaccess

Hay muchos métodos para reducir el spam en WordPress. Uno de los más utilizados hoy en día es Akismet del propio JetPack. No obstante, la solución que vamos a comentar a continuación es desde el htaccess. No evita el 100% del spam, hoy en día prácticamente es imposible evitarlo por completo, pero aún así desde el propio codex, es uno de los métodos que se proponen.

Para ello tan sólo tenemos que copiar y pegar en nuestro .htaccess el siguiente código:

[php title=»Código para prevenir spam en comentarios de WordPress»]
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
RewriteCond %{HTTP_REFERER} !.*tudominio.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) http://%{REMOTE_ADDR}/$ [R=301,L][/php]

No olvides sustituir tudominio.com por tu dominio real.

Lo que hace este código es simplemente comprobar que antes de ejecutar el fichero php que inserta el comentario, se ha estado navegando por alguna url del propio dominio. Es decir, la mayoría de spam en comentarios de WordPress lo que hace es directamente enviar gran cantidad de información al fichero wp-comments-post.php, donde incluye los datos, como emails, nombre, url, texto, etc. Como saben la estructura que tiene que lleva dicha información, son capaces de añadir comentarios sin estar navegando por la web, y de esta forma envían miles de peticiones por minutos a cientos de webs. Pero, si obligamos desde el htaccess a que si estás insertando un comentario, es porque vienes de leer un post, nos quitamos de un plumazo todo este spam generado automáticamente.

Esperamos que os sea de utilidad. Si tenéis alguna consulta o usáis algún otro método que os esté funcionando muy bien, esperamos vuestros comentarios. ¡Gracias!

7 comentarios
  • nordri Publicado el 21/11/2012 a las 16:54 Responder

    Interesante solución! Yo venía cerrando los comentarios de las entradas antiguas!

    Saludos.

  • aquihaydominios Publicado el 21/11/2012 a las 17:14 Responder

    Hola Nordri,

    prueba con esta solución a ver que tal. Nosotros no cerramos los comentarios de las entradas antiguas, porque a veces nos llegan consultas de post creados con cualquier fecha. Cierto es que lo más reciente siempre suele tener más movimiento, pero muchas veces llegan consultas incluso de entradas creada años atrás.

    Saludos.

  • nordri Publicado el 27/11/2012 a las 17:14 Responder

    Hay que reconocer que está funcionando!! Mola! 😉

    Saludos

  • aquihaydominios Publicado el 27/11/2012 a las 17:17 Responder

    Hola Nordri,

    Nos alegramos de que te esté funcionando!!!
    Muchas gracias por comentarlo!

    Saludos

  • Javier Publicado el 16/12/2013 a las 09:17 Responder

    Interesante solucion. Pero una pregunta: si el usuario llega directamente a la página (por ejemplo a traves de una busqueda en google), entonces ¿no le dejará introducir el comentario?

  • aquihaydominios Publicado el 16/12/2013 a las 10:58 Responder

    Hola Javier,

    sí le dejaría. Lo bots acceden directamente a wp-comments-post.php sin pasar por el formulario que hay que rellenar para enviar información a wp-comments-post.php. Si tú vienes de Google (o de donde sea), entras al formulario, y después del formulario enviar la información a wp-comments-post.php por lo que no hay ningún inconveniente de donde vengas si primero accedes al formulario donde debes escribir tus comentarios, que es el procedimiento normal. Esperamos haber aclarado tu duda.

    Gracias, un saludo.

Deja un comentario

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