# Cloaking

Il cloaking è una tecnica informatica mediante la quale, grazie a particolari script, è possibile mostrare ai motori di ricerca un contenuto differente da quello che realmente il sito internet propone agli utenti, consentendo così al sito stesso di ottenere migliori posizionamenti all'interno delle SERP.
In questo modo il cloaking induce al rischio di venire bannati dagli indici dei motori di ricerca.
Il cloaking implica sempre l'azione di mostrare ai motori di ricerca qualcosa che in realtà non è. Per questo, sebbene sia a volte usato nell'affiliate marketing per nascondere e/o modificare i link di affiliazione (c.d. link cloaking) non sembra possa esistere, ad oggi una forma di white hat cloaking. Ciò equivale a dire che il cloaking rientra sempre fra le azioni ingannevoli che possono causare una penalizzazione manuale o algoritmica da parte dei motori di ricerca.
Di contro un uso corretto delle tecniche di "cloaking" si trova nella gestione delle lingue mediante personalizzazione dei contenuti a seconda della provenienza dei visitatori, purché gli stessi contenuti siano in ugual modo fruibili dai motori di ricerca. In quest'ultimo caso sarà sfruttata la conoscenza dell'indirizzo IP di provenienza e si parlerà, usando sempre la classica terminologia inglese, di "IP delivery" o "Geolocation IP based".

## Tipologie

Esistono diverse tipologie di cloaking:

### Cloaking user-agent

Uno user-agent è un programma (un agente software) che opera per conto di un utente. Ad esempio, un browser Web funge da user-agent che recupera le informazioni del sito Web su un sistema operativo. Quando si digita una query, il browser invia un codice al server che distinguerà/identificherà lo user-agent. Se lo user-agent viene identificato come un crawler, viene offerto il contenuto mascherato.

### Cloaking basato su IP

Ogni utente che accede a un sito Web dispone di un indirizzo IP basato sulla propria posizione e sul servizio Internet. In esso, gli utenti vengono reindirizzati alla pagina desiderata attraverso una pagina con un buon ranking SERP e un volume di traffico elevato. Per questo, si possono utilizzare i record DNS inversi (disponibili nel cPanel della società di hosting che ospita il sito web) per identificare l'indirizzo IP e impostare .htaccess per reindirizzarli.

### Cloaking JavaScript

Questo accade quando agli utenti con browser abilitati per JavaScript viene offerta una versione del contenuto mentre agli utenti che hanno JavaScript disabilitato (come i motori di ricerca) viene offerta un'altra versione di un sito web.

### Cloaking HTTP_REFERER

In questo metodo l'intestazione HTTP_REFERER del richiedente viene controllata e, in base a ciò, viene fornita una versione del sito Web nascosta o non nascosta.

### HTTP Accept-language

Questa tecnica controlla l'intestazione HTTP Accept-Language dell'utente e, in base al risultato della corrispondenza, viene presentata una versione specifica del sito web. Se l'intestazione HTTP Accept-Language è di un motore di ricerca, viene fornita una versione occultata del sito web.

## Modi per implementare il cloaking
### Testo invisibile o nascosto

Questo può essere fatto aggiungendo del testo dello stesso colore di quello dello sfondo in modo che non sia visibile all'occhio umano.

### Siti Web basati su Adobe Flash

Adobe Flash era in grado di implementare il cloaking. Esso è obsoleto dal 31 dicembre 2020.

### Sostituzione degli script Java

Si può utilizzare JavaScript per mostrare il contenuto a un utente non abilitato a JavaScript che corrisponde alle informazioni testuali all'interno di un elemento multimediale.

### Linguaggi lato server

PHP:
ASP.NET: