Der Facebook-Crawler

Oft werden Inhalte auf Facebook in Form einer Webseite geteilt. Wenn jemand einen Link zum ersten Mal teilt, liest der Facebook-Crawler die HTML unter der entsprechenden URL aus, um Informationen zum Inhalt, wie beispielsweise Titel, Beschreibung und Miniaturbild, abzurufen, zwischenzuspeichern und auf Facebook anzuzeigen. Neben einem direkten Teilen der Webseite auf Facebook gibt es noch andere Vorgänge, die einen Crawl deiner Webseite auslösen. Wenn du beispielsweise eines der sozialen Plugins von Facebook auf deiner Webseite integriert hast, kann dies dazu führen, dass unser Crawler die Seite ausliest.

Identifizieren des Crawlers

Der Facebook-Crawler lässt sich anhand eines der folgenden User-Agent-Strings erkennen:

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

oder

facebookexternalhit/1.1

Crawler-Zugriff

Der Facebook-Crawler erfordert den Zugriff auf deinen Inhalt, um ihn ordnungsgemäß auslesen und teilen zu können. Deine Seiten müssen also für den Crawler sichtbar sein. Wenn der Zugriff auf deinen Inhalt eine Anmeldung erfordert oder anderweitig eingeschränkt ist, musst du unseren Crawler auf eine Whitelist setzen. Beachte, dass unser Crawler nur die Kodierungen gzip und deflate akzeptiert. Stelle sicher, dass der Server die richtige Kodierung verwendet.

Wenn der Inhalt zum Zeitpunkt des Auslesens nicht verfügbar ist, kannst du bei seiner Verfügbarkeit eine erneute Auslesung erzwingen, indem du die URL in den Sharing Debugger eingibst oder die Graph API verwendest.

Es gibt zwei Möglichkeiten, dem Crawler Zugriff zu gewähren:

  1. Hinzufügen der oben aufgeführten User-Agent-Strings zur Whitelist (hiernach sind keine weiteren Aktionen erforderlich)
  2. Hinzufügen der vom Crawler verwendeten IP-Adressen zur Whitelist (dies ist sicherer):

Führe diesen Befehl aus, um eine aktuelle Liste der vom Crawler verwendeten IP-Adressen abzurufen.

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

Hierdurch wird eine Liste der IP-Adressen zurückgegeben, die sich oft ändern:

# 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 

Gewährleisten einer akzeptablen Latenz

Du musst sicherstellen, dass die in den URLs enthaltenen auszulesenden Ressourcen in annehmbarer Zeit – also nicht mehr als ein paar Sekunden – vom Crawler abgerufen werden können. Wenn der Crawler hierzu nicht in der Lage ist, kann Facebook die Ressource nicht anzeigen.

Crawler-Ratenbegrenzung

Du kannst Seiten und Objekte kennzeichnen, um anzugeben, wie lange der Facebook-Crawler wartet, bis er nach neuen Inhalten sucht. Verwende die og:ttl-Objekteigenschaft, um den Crawler-Zugriff zu beschränken, wenn unser Crawler zu aggressiv vorgeht.

Facebot Crawler

Seit 28. Mai 2014 findest du den Crawler auch mit folgendem User-Agent-String:

Facebot

Facebot ist der Web-Crawling-Roboter von Facebook, der dazu beiträgt, die Werbeanzeigen-Performance zu verbessern. Facebot ist auf Höflichkeit ausgelegt. Er tätigt Zugriffsversuche auf einen Webserver im Abstand von einigen Sekunden, was den Branchenstandards entspricht, und beachtet deine robots.txt-Einstellungen.

Beachte, dass Facebot nur ein paar Mal pro Tag die robots.txt-Datei deines Servers auf Änderungen überprüft. Wenn du also Änderungen vornimmst, werden diese erst bei der nächsten Überprüfung beachtet und nicht sofort.