Краулер Facebook

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

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

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

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

или

facebookexternalhit/1.1

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

Краулеру Facebook требуется доступ к вашим материалам, чтобы корректно выполнить скрапинг и опубликовать их. Ваши страницы должны быть доступны для краулера. Если для доступа к материалам нужно войти на сайт или же доступ к ним ограничен, вам необходимо занести наш краулер в «белый» список. Обратите внимание, что наш краулер поддерживает только кодировки gzip и Deflate. Убедитесь, что на вашем сервере используется одна из них. Обратите внимание, что краулер выполняет скрапинг только первого 1 МБ страницы, поэтому все свойства Open Graph должны быть перечислены в этом фрагменте.

Если во время скрапинга материалы недоступны, его можно повторить позже. Для этого передайте URL с помощью отладчика перепостов или воспользуйтесь 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 только несколько раз за день, так что может обнаруживать некоторые обновления с задержкой.