Facebook Graph API SEO Комментарии и фильтр ненормативной лексики - PullRequest
4 голосов
/ 21 октября 2011

Я пытаюсь интегрировать комментарии Facebook, оставленные на нашем сайте, таким образом, чтобы контент мог сканироваться поисковыми системами, а также для людей (хотя я сильно сомневаюсь, что их будет много), у которых нет Javascript включен в их браузере.

В настоящее время наши комментарии в Facebook отображаются с помощью социального плагина комментариев Facebook (с использованием тега <fb:comments href="MY_URL" num_posts="50" width="665"></fb:comments>). Это приводит к тому, что рендеринг iFrame (который в большинстве случаев игнорируется поисковыми системами), так что планируется отрисовать эту информацию и отформатировать ее с помощью базового HTML. Для этого комментарии обрабатываются с помощью Graph API - это отображается только для сканеров и людей с отключенным Javascript.

Все это прекрасно работает, используя вызов API Graph (https://graph.facebook.com/comments/?ids=MY_URL),, анализирует результат JSON и отображает его на странице. Проблема в том, что подход <fb:comments> фильтрует наши результаты на основе черного списка, который мы настроили на одном из наши приложения Facebook. AppId с соответствующим черным списком хранится на странице с использованием метаданных (<meta property="fb:app_id" content="APP_ID"/>), которые элемент управления <fb:comments>, очевидно, должен каким-то образом использовать для фильтрации комментариев.

Проблема в том, что метод Graph API не фильтрует результаты, так как, я думаю, черный список (или идентификатор приложения, содержащий черный список) не указан. Кто-нибудь знает, как указать идентификатор приложения Facebook в URL-адресе вызова API или другой способ не возвращать компоненты, нарушающие условия черного списка?

С другой стороны, я знаю, что дискуссия о фильтрации контента в комментариях разгорается, но это решение руководства по внедрению черного списка, и я не могу повлиять на изменение - просто если кто-то посчитал нужным объяснить причины почему фильтрация контента - это хорошая идея!

Любые мысли о решении приветствуются.

Ответы [ 3 ]

1 голос
/ 29 октября 2011

К сожалению, нет способа получить доступ к отфильтрованному списку комментариев с помощью API - это может быть разумный запрос, чтобы иметь это в API - вы должны подать элемент списка желаний в Отслеживание ошибок Facebook

В противном случае, единственное решение, которое я могу придумать, - это реализовать собственный фильтр на вашей стороне при получении и отображении комментариев из API.

Согласно документации плагина Comments фильтр на стороне Facebook реализован как простое совпадение подстрок, поэтому его реализация должна быть тривиальной. Довольно простое совпадение с регулярным выражением должно быстро проверять каждый комментарий по относительно длинному списку.

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

Цитата из документации:

The comment is checked via substring matching. This means if you blacklist the 
word 'at', if the comment contains the sequence 'a' 't' anywhere it will be
marked with limited visibility; e.g. if the comment contained the words 'bat',
'hat', 'attend', etc it would be caught.
0 голосов
/ 01 ноября 2011

Похоже, вам больше не нужно ничего делать, так как Google начал индексировать комментарии Facebook

http://www.labnol.org/internet/google-indexes-facebook-comments/20295/

0 голосов
/ 27 октября 2011

Уверен, что в настоящее время нет способа сделать это из API-интерфейса графов, единственное, что я могу предложить, это взять черный список и создать собственный фильтр

...