Il crawler di Facebook

Per la maggior parte, i contenuti sono condivisi su Facebook come una pagina web. La prima volta che qualcuno condivide un link, il crawler di Facebook estrae il codice HTML dell'URL per raccogliere, memorizzare nella cache e mostrare le informazioni su Facebook, come titolo, descrizione e miniatura. Oltre alla pagine web condivise direttamente su Facebook, esistono altri metodi per l'attivazione di un crawler per la tua pagina web. Ad esempio, la presenza di uno dei plug-in social di Facebook sulla tua pagina web può far sì che il nostro crawler estragga la pagina web in questione.

Identificazione del crawler

Puoi identificare il crawler di Facebook usando una delle seguenti stringhe user agent:

facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)

o

facebookexternalhit/1.1

Accesso del crawler

Il crawler di Facebook deve essere in grado di accedere ai contenuti per estrarli e condividerli correttamente. Pertanto, deve poter vedere le tue pagine. Se richiedi l'accesso o offri un accesso limitato ai contenuti, dovrai autorizzare il nostro crawler. Tieni presente che il nostro crawler accetta solamente codifiche gzip e deflate, perciò assicurati che il tuo server usi il tipo di codifica corretto.

Se i contenuti non risultano disponibili al momento dell'estrazione, puoi forzarla quando lo saranno nuovamente inserendo l'URL nel debugger di condivisione o usando l'API Graph.

Esistono due modi per concedere l'accesso al crawler:

  1. Autorizzare le stringhe user agent descritte in precedenza, per cui non è necessaria alcuna modifica.
  2. Autorizzare gli indirizzi IP usati dal crawler, opzione più sicura:

Esegui questo comando per ottenere la lista degli indirizzi IP usati dal crawler.

whois -h whois.radb.net -- '-i origin AS32934' | grep ^route  

Restituirà una lista di indirizzi IP che cambiano spesso:

# For example only - over 100 in total
31.13.24.0/21 
66.220.144.0/20    
2401:db00::/32  
2620:0:1c00::/40  
2a03:2880::/32 

Latenza appropriata

Controlla che le risorse a cui fanno riferimento gli URL possano essere recuperate velocemente dal crawler, in non più di qualche secondo. Se non è questo il caso, Facebook non sarà in grado di mostrare la risorsa.

Rate limiting del crawler

Puoi aggiungere un'etichetta alle pagine e agli oggetti per definire quanto il crawler di Facebook deve aspettare prima di controllare la presenza di nuovi contenuti. Usa la proprietà og:ttl degli oggetti per limitare l'accesso del crawler, se risulta troppo aggressivo.

Crawler di Facebot

A partire dal 28 maggio 2014, potresti vedere un crawler con la seguente stringa user agent:

Facebot

Facebot è il robot di Facebook dedicato al web crawling che ti aiuta a migliorare le prestazioni pubblicitarie. Facebot è progettato per essere rispettoso. Il robot prova ad accedere ai server web una sola volta a intervalli di pochi secondi, in conformità con gli standard del settore e nel rispetto delle impostazioni del tuo file robots.txt.

Tieni presente che Facebot controlla le modifiche apportate al file robots.txt del tuo server solo un paio di volte al giorno, pertanto gli eventuali aggiornamenti non vengono registrati subito, ma al rilevamento successivo.