Pensamiento e idea prematura, por lo que puede ocasionar algún problema (dudoso, pero ahí dejo eso). El sistema de "palabras prohibidas" de WordPress permite insertar una lista de palabras que en caso de existir en un comentario y/o trackback los mensajes sean eliminados.
Pero el caso es que pese a eliminar mucho spam con este método (los comentarios no son problema, pero los trackbacks todavía sí y uno se niega a capar una funcionalidad como ésa) siguen consumiendo recursos.
Supongo que, aunque no he llegado a pararme a mirarlo a fondo, es debido a todo el código que debe procesar antes de descartar el trackback.
La solución pasaría por implementar un filtro personalizado
antes de todo esto, en el fichero wp-trackback.php
justo
antes de:
if ( is_single() || is_page() ) $tb_id = $posts[0]->ID;
Habría que hacer un filtrado de palabras básico:
$title-and-excerpt = $title.$excerpt; if ( eregi('ejemplo|medicina|guau',$title-and-excerpt) ) { die(); }
El ejemplo es muy simple, si en el nombre o el contenido del trackback se encuentran las palabras "ejemplo", "medicina" o "guau" la petición termina ahí.
Las primeras pruebas realizados no pintan mal. Utilizando algo de profiling con APD el mismo trackback tarda la mitad en ser eliminado con este método que si se elimina utilizando las palabras prohibidas.
De todas formas me pregunto si no será mejor utilizar
preg_match()
en lugar de eregi()
tal como ya hago con el
sistema para mostrar publicidad.
De todas formas si para que una web vaya bien hay que ser eficiente en la optimización de recursos, uno no debe olvidarse de ser eficiente en sacar la basura...
Comentarios