Chiudere pingback/trackback verso i vecchi post.

Questo blog, in oltre dieci anni di attività, ha collezionato 3760 post, così, per gli spambot esistono altrettante possibilità verso cui tentare di inserire commenti o trackback/pingback di spam.

Nel tempo i sistemi per bloccare questi continui tentativi sono state innumerevoli. Ad oggi sembra che Hiddy faccia il suo sporco lavoro per quel che riguarda i commenti. Per i pingback invece avrei dovuto affidarmi a qualche altro plugin ma non avevo voglia di appesantire ulteriormente il motore del blog.

La contromisura presa è dettata da una considerazione molto evidente: se è vero che di tanto in tanto certi vecchi post vengano ripescati dagli internauti per lasciare un commento, è molto meno frequente che gli stessi siano citati da qualche parte nel web (forse anche perché “i blog sono un po’ morti” perché non ci si linka più vicendevolmente, come si legge spesso in giro). Così ho deciso di chiudere i pingback/trackback a tutti gli articoli antecedenti il 2012.

L’operazione, via phpMyAdmin si traduce in una semplice query dall’editor SQL:

UPDATE wp_posts SET ping_status = 'closed'
WHERE post_date < '2012-01-01' AND post_status = 'publish';

In questo modo rimane possibile inviare pingback agli articoli più recenti (gli ultimi due anni mi sembra più che ragionevole) e l’unica accortezza da avere è ripetere periodicamente l’operazione aggiornando la data.

Emanuele

Pubblicato da

Ingegnere. Si divide tra lavoro, bicicletta, monociclo e volontariato. Vive in una casa con un ciliegio insieme ad una moglie, tre bimbe e otto pesciolini che non lo aiutano a tenere in ordine.

4 commenti » Scrivi un commento

  1. Uno script automatico che controlla la data e in caso di nuovo anno, esegue in automatico l’operazione? 😛

    • Chiamasi plugin. Era quel che volevo evitare. I plugin (anche quelli non attivati ma semplicemente presenti nella lista dei plugin di WordPress) rallentano e appesantiscono. Quando non si tratta di funzioni vitali/dinamiche preferisco evitare il più possibile.
      Se lo metto come PHP esterno, devo comunque ricordarmi di eseguirlo ogni tanto, altrimenti non parte mica…
      Ciao,
      Emanuele

  2. Se hai la possibilità di utilizzare il Cron, potresti risolvere il “problema”

    • Ho anche la possibilità di usare SQL ogni tanto, anche perché periodicamente in quel caso, dovrei verificare che cron stia funzionando a dovere (si, ho la possibilità di avviare dei processi con cron sul mio hosting). 😛
      Ciao,
      Emanuele