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 pagina Web condivisa direttamente su Facebook, ci sono altri modi che possono attivare un rilevamento della tua pagina Web. Ad esempio, la presenza di uno dei plug-in social di Facebook sulla pagina Web può far sì che il crawler estragga tale pagina Web.

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. Il crawler accetta solo codifiche gzip e deflate, quindi assicurati che il tuo server usi la codifica corretta. Il crawler estrae solo il primo 1 MB di una pagina, quindi tutte le proprietà Open Graph devono essere elencate prima di tale cutoff.

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 Facebook

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.