A partir du moment où votre blog WordPress commence à avoir un peu de succès et à apparaître dans les résultats des moteurs de recherche, les spams débarquent en postant des dizaines de commentaires. Ces commentaires peuvent avoir un impact relativement important à la fois sur le serveur et sur le temps nécessaire à la modération.
Voici quelques conseils que j’ai appliqués et qui m’ont permis de ne pas avoir de spams sur ce blog.
Utiliser le plugin Askimet
Askimet est une webapp qui est fait pour protéger un blog des commentaires de spams, il a bloqué plus de 32 milliards de spams depuis sa création. Il existe un plugin pour WordPress afin de s’interfacer facilement avec Askimet et ainsi protéger son blog.
Ne pas installer ce plugin sur son serveur est une mauvaise idée pour moi, car même si Askimet est parfois capricieux, il peut considérer des commentaires en spams alors qu’ils ne le sont pas, il gère une très grande majorité des spams.
Installer ce plugin est vraiment un gain de temps appréciable dans la gestion de son blog et l’installation est très rapide vu qu’il est déjà installé avec WordPress !
Modifier son fichier .htaccess
La seconde technique consiste à modifier le fichier .htaccess à la racine du site. Généralement les spammeurs utilisent des robots pour poster des milliers de commentaires sur des milliers de sites. Seulement les robots ne sont pas tous codés correctement et c’est donc ainsi que l’on peut les détecter.
Voici la petite règle de réécriture pour Apache qui permet de se débarrasser de spams :
# protection contre le spam
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post.php*
RewriteCond %{HTTP_REFERER} !.*nom_domaine.com* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]
Cette règle de réécriture détecte les tentatives de commentaires qui correspondent aux requêtes POST sur le script PHP du fichier wp-comments-post.php et dont le referer n’est pas mon blog avec un User Agent vide. Dans le cas ou toutes les conditions sont réunies, le spammeur est redirigé vers chez lui.
Cette technique permet de filtrer les spammeurs avant Askimet et ainsi d’alléger la charge de son serveur.
Conclusion
Ces 3 conseils ne sont pas très coûteux à mettre en place mais le retour sur investissement est très positif.