Краулер Facebook

Чаще всего на Facebook делятся материалами, которые размещены на веб-страницах. Когда человек впервые делится ссылкой, краулер Facebook выполняет скрапинг HTML-кода страницы, размещенной по указанному URL. Это делается для того, чтобы собрать, кэшировать и показать информацию о материалах на Facebook, такую как заголовок, описание и миниатюра страницы. Кроме непосредственной публикации ссылок на Facebook краулинг страницы может быть выполнен и в других случаях, например, при размещении на странице любых социальных плагинов Facebook.

Идентификация краулера

Для идентификации краулера используются следующие строки запросов программного агента:

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

или

facebookexternalhit/1.1

Доступ к краулеру

Краулеру Facebook требуется доступ к вашим материалам, чтобы корректно выполнить скрапинг и опубликовать их. Ваши страницы должны быть доступны для краулера. Если для доступа к материалам требуется войти на сайт или доступ к ним ограничен, вам необходимо внести наш краулер в список разрешенных. Обратите внимание, что наш краулер поддерживает только алгоритмы кодировки GZIP и Deflate. Убедитесь, что на вашем сервере используется один из них.

Если во время скрапинга материалы недоступны, его можно выполнить повторно, когда материалы станут доступны. Для этого воспользуйтесь отладчиком перепостов или API Graph.

Предоставить доступ краулеру можно двумя способами.

  1. Добавьте указанные выше строки запросов программного агента в список разрешенных, после чего выполнять дополнительные действия по обслуживанию не потребуется.
  2. Добавьте IP-адреса, используемые краулером, в список разрешенных, что гораздо безопаснее.

Выполните следующую команду, чтобы получить актуальный список IP-адресов, используемых краулером:

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

Будет возвращен список IP-адресов, материалы по которым обновляются достаточно часто:

# 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 

Приемлемая задержка

Необходимо убедиться в том, что краулинг ресурсов, указанных в URL, выполняется достаточно быстро, не более нескольких секунд. Если краулер не обеспечивает должную скорость обработки, то ресурс не удастся показать на Facebook.

Ограничение периодичности краулинга

В коде страниц и объектов можно указать периодичность, с которой краулер Facebook будет проверять наличие новых материалов. Если краулер выполняет скрапинг слишком часто, воспользуйтесь свойством og:ttl объекта, чтобы ограничить доступ для краулера.

Краулер Facebot

Начиная с 28 мая 2014 г., в краулере также используется следующая строка запросов программного агента:

Facebot

Facebot — это робот Facebook для веб-краулинга, который помогает улучшить результативность рекламы. Facebot работает максимально "вежливо". Он пытается получить доступ к каждому веб-серверу только один раз за несколько секунд, что соответствует отраслевым стандартам, и делает это с учетом ваших настроек robots.txt.

Имейте в виду, что Facebot выполняет проверку на предмет изменений в вашем файле robots.txt только несколько раз за день, так что некоторые обновления могут быть обнаружены не сразу.