Mascherare i link esterni con RedirectMatch

Stampa E-mail

Qualcuno avrà notato che in questo periodo scrivo spesso - praticamente solo - articoli sul file .htaccess. Il fatto è che, adesso che ho cominciato a conoscerlo meglio, lo trovo sempre più utile e non riesco più a farne a meno. Chi come me conosce poco o nulla di php, con qualche regoletta per l'Apache risolve un sacco di problemi.

Ieri mi chiedevo se ci fosse un sistema semplice per nascondere agli spider dei motori di ricerca gli outbond link (i link verso siti esterni). Per la sezione "Link" - in questo momento non ancora attiva - il cms passa gli url via parametro con il php. Invece per le altre pagine non ho a disposizione un sistema analogo. Se volevo scrivere un link esterno (a meno che non avessi inserito per ogni link il tag rel="nofollow",  molto scomodo per chi come me usa un editor online che non supporta quest'attributo), il bot l'avrebbe seguito e gli avrebbe passato un pò del mio Page Rank.

Questa è una cosa molto fastidiosa, soprattutto se si linka una pagina detestabile (per fare una critica, ad esempio,  o per sconsigliarla). Fortunatamente mi sono ricordato del caro Apache e delle regolette del file htaccess, e sono venute fuori queste 2 righe:

RedirectMatch ^/est/(http\://)?(www\..+)$ http://$2
RedirectMatch ^/est/(http\://)(.+)$ http://$2

Con queste regole ogni collegamento che parte dal sito e che inizia con:

http://www.miosito.it/est/http:// o
http://www.miosito.it/est/www

viene indirizzato al sito esterno.

Quindi se nell'html scriviamo un link di questo tipo:

<a href="http://www.miosito.it/est/http://www.mare.it">

ogni user agent (tra cui i browser e gli spider) sarà mandato dal server su http://www.mare.it. Da notare è che il reindirizzamento avviene "lato server", quindi lo spider tratta quel link come un link interno.

Quindi in questo modo

  • neghiamo al sito di destinazione benefici in termini di pagerank.
  • evitiamo di disperdere il nostro Pr

Approfondimenti

Non dobbiamo, come qualcuno mi ha suggerito, fondere insieme le due righe 

RedirectMatch ^/est/(http://www\.|www\.|http://)(.*)$ http://www.$2

perchè abbiamo la necessità di tenere distinti i casi in cui l'indirizzo di destinazione comincia con http://www. o www. (es.: http://www.casa.mia.it, www.casa.mia.it), da quelli in cui cui inizia solo con http:// ( http://casa.mia.it). Quest'ultimo tipo di url può essere infatti associato ad un dominio virtuale, che non funziona se al suo interno vengono scritte le 3w.

Aggiornamento

Mi veniva un dubbio, ho chiesto su qualche forum, ma non ho avuto riscontri da parte di altre persone che abbiano usato tecniche simili. Così ho leggermente modificato l'articolo, aggiungendo "/est" - una "sottocartella virtuale" - alle righe del RedirectMatch, per fa si che si possa precluderne l'accesso agli spider. /est sta per Esterno.

Per avere la certezza che lo spider non veda il link, scriviamo nel file robots.txt

User-agent: *
Disallow: /est/

Con questa direttiva Google e gli altri spider "non maligni" sicuramente non seguiranno il link

Mi piacerebbe ricevere commenti via mail (vedi sez. Contatti).

Ultimo aggiornamento ( sabato 11 marzo 2006 )

Home arrow Seo arrow Mascherare i link esterni con RedirectMatch

 I Feed RSS di miniDesign

In evidenza
Il file htaccess
Tutorial mappa Google
Ultime notizie
Le pił lette
Ricerca rapida