Guida al Cloaking, passo passo

da lightonseo 3.812 views0

cloaking

Lasciamo da parte per qualche minuto l’ex motto di Google “don’t be evil”, perché oggi vi parlo di cloaking, una tecnica di SEO Black Hat che ci apre le porte di un mondo interessante. Ovviamente non nasconderò i rischi, ma vedremo anche i numerosi vantaggi del cloaking e per finire condividerò un script di cloaking in PHP (da tenere lontano dai bambini).

Avete quasi tutti già sentito parlare del cloaking e sapete più o meno in cosa consiste, ma per i pochi di voi che non hanno idea di cos’è comincio con una breve definizione del cloaking (in ambito SEO).

 

Cos’è il cloaking?

In ambito SEO il cloaking consiste nel fare vedere ai motori di ricerca un contenuto diverso da quello che vedono gli utenti. Si tratta di una tecnica di SEO Black Hat assolutamente contraria alle linee guida dei motori di ricerca e di Google, che tuttavia offre a chi la usa il grande vantaggio di non dovere fare alcun compromesso.

Ai motori di ricerca possiamo mostrare la pagina ideale per il posizionamento, mentre agli utenti facciamo vedere quella perfetta per le conversioni. Senza il cloaking dobbiamo fare dei compromessi tenendo conto delle esigenze marketing e di quelle SEO. Non è una cosa scontata.

 

Rischi del cloaking?

Le conseguenze possano essere pesanti quindi il cloaking va valutato bene. Nel caso Google ci scopra, il prezzo è una bella penalizzazione manuale che può comportare la sparizione dai risultati di ricerca. Infatti, spesso questa tecnica SEO è utilizzata su siti secondari, satelliti per esempio.

Probabilmente conoscete la storia della penalità di BMW nel 2006. Altri grandi nomi sono stati penalizzati ma con loro in realtà Google ci ha voluto dare un avvertimento, un po’ come Negan (The wolking dead). Per il motore di ricerca non è semplice trovare il cloaking su tutte le serp del mondo, anzi, sarebbe davvero molto costoso. Se ci pensi le penalizzazioni per cloaking sono manuali e ciò dimostra quanto sia difficile per Google automatizzare il processo. Quando non abbiamo un metodo valido di difesa, spaventare funziona bene. I siti conosciuti sono per Google i target da frustare per ottenere risultati.

 

Lo spam report, il rischio più grosso

Mentre per Google è impossibile controllare tutto in un modo automatico, i vostri competitor non esiterebbero a denunciarvi. Google ha previsto tutto con l’apposito formulario di spam report, amato dai coraggiosi anonimi che non hanno alcun problema a sputtanarvi, volendo anche con una decina di account.

Questo significa che il cloaking bisogna farlo bene, limitando al massimo il rischio che i vostri concorrenti lo scoprano. Ora arriviamo alla parte più interessante che spiega come farlo limitando i rischi.

 

Fare cloaking come Dio comanda

È possibile identificare Googlebot con vari modi, ma c’è ne solo uno veramente valido.

 

Idee sbagliate per identificare Googlebot

User agent based

La prima soluzione che viene in mente è verificare l’user agent dell’utente che cerca di accedere al sito. Ecco un esempio tipico di user agent string usata da Google : Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

Tecnicamente funziona bene, Googlebot vedrà solo il contenuto che avete preparato per lui. Il problema è che possiamo tutti sostituire il nostro user agent con quello di Googlebot e se lo fa un concorrente potrà accedere alle due versioni e scoprire il giochino. Il resto della storia lo conosciamo. Cloaking basato sull’user agent? Meglio evitare.

IP Based

Un altro modo di controllare Googlebot è di verificare se l’IP dell’utente appartiene a Google. Anche questa è una tecnica da evitare perché ci crea dei pensieri di cui non abbiamo bisogno.

Ci sono altri servizi di Google che usano gli stessi IP di Googlebot. Sinceramente non mi ricordo se è il caso di Google translate per esempio, ma qualsiasi persona potrebbe richiedere a translate di tradurre la mia pagina. Sarebbe un modo di connettersi al mio sito con un IP di Google. Sgamato!

Il secondo motivo per cui e meglio evitare un IP based cloaking è che anche se avessimo una lista completa degli IP di Google, questo potrebbe aggiungere nuove IP in qualsiasi momento. Avremmo il problema di tenere Aggiornata questa lista, e come si fa?

 

Buona idea per identificare Googlebot

Perché non dare fiducia a quello che ci dice Google per identificare Googlebot in modo più sicuro?

Per essere sicuri che l’utente e veramente Googlebot la soluzione migliore è di fare un rDNS lookup (Reverse DNS) seguito da un forward DNS lookup. Se non ci capite niente non è un problema, chiarisco subito le cose.

Di regola ogni IP dovrebbe essere associato a un DNS e viceversa. Quindi possiamo ritrovare il DNS partendo di un IP e allo stesso modo ritrovare un IP partendo da un DNS. Ecco un esempio di coppia IP / DNS per Googlebot:

  • IP : 66.249.66.1
  • DNS : crawl-66-249-66-1.googlebot.com

In PHP, l’IP dell’utente si trova in questa variabile $_SERVER[‘remote_addr’]. La funzione per recuperare il DNS associato a un IP è gethostbyaddr(). Questa funzione prende in paramtero l’IP per cui volete verificare il DNS. In pratica nel codice, il DNS si recupera in questo modo:

$ip = $_SERVER[‘remote_addr’];
$dns = gethostbyaddr($ip);

I DNS di Googlebot (crawl-66-249-66-1.googlebot.com) finiscono tutti con googlebot.com. Una semplicissima regex farà questo lavoro per noi.

Alcune persone però usano una tecnica chiamata DNS Spoofing che consiste nel fare credere che un IP sia legato a un DNS di Googlebot per esempio. Il secondo step, ci protegge di questo rischio facendo un forward DNS lookup.

Questa volta invece di ottenere un DNS Partendo da up IP, facciamo il contrario. Partiamo da un DNS per ottenere l’IP a cui è associato. Ci aspettiamo di ottenere lo stesso IP dell’utente che si è connesso al sito. Se non funziona, c’è qualcosa che non torna.

La funzione PHP che lo fa è gethostbyname(). Quindi aggiungiamo una riga di codice:

$ip = $_SERVER[‘remote_addr’];
$dns = gethostbyaddr($ip);
$forward_ip = gethostbyname($dns);

Se le variabili $ip e $forward_ip hanno lo stesso valore, allora il DNS ottenuto è quello vero, l’utente non sta provando a prenderci in giro.

 

Uso utile del cloaking

All’inizio del post Abbiamo visto l’esempio di uso più classico, cioè mostrare un super contenuto agli spider di Google, e una super pagina agli utenti veri. Ma ci sono altre possibilità da esplorare. Ricordate che abbiamo concordato di lasciare perdere per 5 minuti il moto “don’t be evil”.

 

Per ottenere one way link

A noi SEO piacciono i link. Facciamo di tutto per ottenere link potenti. Per esempio facciamo scambi link, ma questa tecnica ci lascia un gusto un po’ amaro perché:

  • Non possiamo fare scambi link con 50 siti diversi (siamo golosi)
  • Non sono one way link, e a noi piacciono i one way link (siamo sempre golosi)

Con il cloaking possiamo fare 300 scambi link, tanto per Google sono dei one way link, visto che la versione vista da Googlebot non contiene link. Vi fa di fare uno scambio link con me?

 

Per nascondere il vostro PBN

Da qualche tempi vanno molto di moda i PBN, però anche i PBN non sono una tecnica autorizzata da Google. Se vogliamo fare le cose per bene, tutti questi siti bisogna tenerli ben nascosti. Se qualsiasi tizio andando su Majestic o Ahrefs trovasse il vostro PBN, potrebbe essere un problema.

Il tipo (o la tipa) potrebbe fare un copia incolla di tutta la lista e andare a piangere sul forum di Google. Oppure potrebbe cominciare a linkare tutti i siti del vostro PBN sulle stesse target in modo da far figurare troppi link in comune.

 

Per evitare i problemi di copyright

Nel gruppo Facebook dei Fatti di SEO ho condiviso un tool per recuperare siti interi dalla wayback machine. Questi siti possono essere utilissimi come siti satelliti e visto che non dovete spendere niente per i contenuti, sono ottimi rispetto al ROI. Rimane però il problema con i diritti di autore. Indovinate un po’ cosa possiamo fare… sì, un bel cloaking. A Google facciamo vedere un bel sito ricco di contenuti, all’utente invece possiamo rispondere con un bellissimo errore 503.

Ricordatevi sempre di utilizzare l’attributo noarchive nel meta robots per vietare a Google il caching della pagina, altrimenti basterebbe andare sulla versione in cache di Google per vedere quello che ha visto Googlebot.

Ci sono ancora tanti altri usi interessanti del cloaking, purtroppo non posso raccontare tutto oggi, ma spero di avervi interessato abbastanza con questo post, quindi per finire eccovi lo script di cloaking in php.

 

Script di cloaking in PHP

<?php // Recupero dell’user agent $ua = $_SERVER[‘HTTP_USER_AGENT’]; // Recupero dell’IP $ip = $_SERVER[‘REMOTE_ADDR’]; //Verifichiamo se il user agent e quello di Googlebot, //se non lo è, è inutile di fare tutto questo casino di rDNS et forward DNS if(preg_match(‘#googlebot#i’,$ua)){ //recupero del DNS sulla base dell’IP (rDNS) $dns = gethostbyaddr($ip); //Verifica se il DNS è quello di Googlebot if (preg_match(‘#\.googlebot\.com$#i’,$dns)) { //recupero dell’IP sulla base dell’DNS (forward DNS) $host = gethostbyname($dns); //verifica se i valori dell’forward DNS lookup e dell’IP recuperato all’inizio sono uguali if ($host == $ip){ //se entriamo qui vuole dire che sono uguali e che va tutto benne // Questo e per verificare se si tratta di Googlebot mobile in caso vogliamo un case specifico per lui if(preg_match(‘#AppleWebKit#i’,$ua)) { include (‘googlemobilebot.php’); exit; } else { include (‘googlebot.php’); exit; } } else { // Se entriamo qui vuole dire che l’utente sta provando a //farvi credere che è Googlebot con un DNS Spoofing (a me non è mai sucesso) include (‘fake-googlebot.php’); exit; } } else { // Se entriamo qui vuole dire che l’utente sta provando a //farvi credere che è Googlebot cambiando il suo User agent include (‘fake-googlebot.php’); exit; } } else { // non googlebot include (‘not-googlebot.php’); exit; } ?>

Invia una risposta