Evitare l’hotlinking con WordPress


L’hotlinking delle immagini è senza ombra di dubbio una pratica veramente fastidiosa che genera spreco (furto) di banda del server sul quale sono custodite le immagini.
Visto che negli ultimi tempi ho notato che più di una volta le immagini custodite su Sbrana.com sono state oggetto di hotlinking, sia quelle automaticamente uploadate da WordPress nella cartella uploads, sia le immagini del vecchio blog in Rapidweaver conservate nella cartella archivio, ispirato da un lunedì troppo lunedì per uscire ad acquistare i regali di Natale, ho finalemnte deciso di porre rimedio a questa uggiosa situazione.
Utilizzate WordPress e volete bloccare l’hotlinking?
Per chi risiede su server apache è possibile bloccare l’hotlinking in un paio di modi diversi:

  • smanacciando sul file htaccess,
  • lasciando che lo faccia per voi Hotlink Protection, un plugin di WordPress dedicato proprio a gestire al meglio questa pratica.

In entrambi i casi il file htaccess non permetterà che le vostre immagini siano oggetto di hotlinking.
E in entrambi i casi potrete prendervi gioco dell’hotlinker del caso, sostituendo automaticamente un’immagine da voi scelta a quella da lui presa di mira.

Sarà sufficiente inserire il seguente codice nel vostro file htaccess:

# START hotlinking sucks by sbranex
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !http://www.nomesito.ltd
RewriteRule (wp-content/uploads.*.(gif|jpg|jpeg|png)$) http://www.nomesito.ltd/immagine-da-mostrare.jpg [L]
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END hotlinking sucks by sbranex

L’htacces così composto autorizza alla pubblicazione delle immagini presentati su nomesito.ltd il solo nomesito.ltd, ma potete inserire delle eccezioni.
Chiaramente quello sopra indicato è un codice abbastanza generico che potrebbe differire in base alle impostazioni del vostro WordPress, in funzione delle regole di riscrittura da voi precedentemente impostate, etc… quindi prima di mettere mano all’htaccess fatene una copia, e magari fate un backup del vostro amato blog, che male non fa.

Eh già, ma in questo modo bloccherete l’accesso alle immagini anche ai motori di ricerca.
E’ dunque il caso di creare delle eccezioni, in modo tale che i motori di ricerca siano in grado di impiegare le vostre immagini.
Ecco di seguito una -minima- parte del mio file htaccess, nel quale specifico che il dominio Sbrana.com, Google, Yahoo!, Msn e Ask sono autorizzati ad utilizzare le immagini conservate nelle cartelle uploads e archivio, mentre agli altri verrà visualizzata l’immagine che vedete all’inizio di questo post.

# START hotlinking sucks by sbranex
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !http://www.sbrana.com
RewriteCond %{HTTP_REFERER} !google. [NC]
RewriteCond %{HTTP_REFERER} !search?q=cache [NC]
RewriteCond %{HTTP_REFERER} !images.google. [NC]
RewriteCond %{HTTP_REFERER} !msn. [NC]
RewriteCond %{HTTP_REFERER} !yahoo. [NC]
RewriteCond %{HTTP_REFERER} !ask. [NC]
RewriteRule (wp-content/uploads.*.(gif|jpg|jpeg|png)$)|(archivio.*.(gif|jpg|jpeg|png)$) http://www.sbrana.com/wp-content/themes/copyblogger/hotlinking.jpg [L]
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END hotlinking sucks by sbranex

Se avete optato per l’adozione del plugin WordPress Hotlink Protection, sarà sufficiente eseguirne l’installazione e il rapido e semplice setup per ottenere un risultato ugualmente efficace, anche se poi vi suggerisco di editare l’htaccess a mano (facendo prima una copia del vecchio!) per consentire l’accesso alle immagini da parte dei motori di ricerca.

Happy hotlinking sucks! 😉