Интеграция сайта с Facebook через OpenGraph

    Facebook OpenGraphВыменивая у агрегаторов контента (поисковых машин, социальных сетей и прочих сервисов) «продовольствие» на пользовательский трафик, издатель постоянно задается вопросом: не станет ли агрегатор основным источником информации для моего пользователя? Потерять свою идентичность в общей каше медиа-ресурсов, отдать результаты производства бесплатно и ничего не получить взамен — риски, которые зачастую сдерживают медиа-менеджеров в решении о максимальной публичности и открытости.

    В этом смысле анонсированная Facebook поддержка OpenGraph кажется несколько провокационной. Технология позволяет сайтам экспортировать в социальную сеть профили всех объектов, которые они освещают – персоны, локации, товары, организации, произведения искусства и т.д. Пользователь, подписавшись на любой из этих объектов, сможет получать информационные сообщения в NewsFeed, увидит эти объекты в своих интересах и результатах поиска. Facebook предоставил удивительные возможности, но в то же время заставил серьезно задуматься о дальнейшей судьбе stand-alone media.

    Sports.ru оказался первым российским сайтом, который ввязался в эту авантюру =) Какую задачу мы решаем с помощью OpenGraph и с какими проблемами столкнулись — в продолжении статьи об интеграции медийного проекта c социальной сетью.

    Весь редакционный контент Sports.ru нанизывается на теги, многие из которых являются энциклопедическими объектами: содержат фотографию, досье, географическую локацию, статистику спортивных выступлений и т.д. Например, новость про финансовую помощь «Лукойла» и «Газпрома» при переходе на систему «осень-весна» привязана к тегам Сергей Фурсенко, премьер-лига, РФС, первый дивизион, Газпром, второй дивизион, Лукойл. Каждый тег обладает персональной страницей, на которой собирается вся информация по объекту.

    Мы предлагаем пользователю Facebook подписаться на новости любого из наших тегов (к слову, сейчас их больше 50 000), нажав на кнопку «Мне нравится», и получать превью текстов и фотографий выбранной тематики в свой NewsFeed.

    Чтобы такая подписка заработала, мы решили следующие задачи:

    1. Добавили meta-теги OpenGraph на страницы тегов
    Meta-теги OpenGraph позволяют нам рассказать Facebook об объекте: имя, его фотография, тип объекта (команда, спортсмен, турнир, функционер и т.д.), энциклопедические и технические данные. Например, для страницы футбольного клуба Спартак www.sports.ru/tags/1044511.html это описание выглядит так:

    Meta-теги Facebook OpenGraph в исходном коде странице Спартак на Sports.ru

    На этом этапе для проверки OpenGraph-страниц рекомендую использовать Facebook Url Linter.

    2. Добавили кнопки «мне нравится» на страницы тегов
    Используется стандартный код Like Button, ничего специфичного.

    Кнопка Facebook Мне нравится на странице тега сборной Уругвая на Sports.ru

    Когда первый пользователь нажмет кнопку «мне нравится», Facebook проверит страницу на наличие meta-тегов OpenGraph и автоматически занесет ее в список Facebook Pages. Хотя эта страница обладает внутренним идентификатором Social Graph ID, ее физический адрес вынесен за пределы Facebook: в пространство провайдера OpenGraph-объектов.

    OpenGraph-страница Спартак в интересах пользователя Facebook

    Через какое-то время (точнее, через определенное количество подписчиков на страницу) объект фиксируется в социальном графе и начинает отображаться в результатах поиска.

    OpenGraph-страница Спартак в результатах поиска Facebook

    3. Создали приложение публикации новостей
    После того, как OpenGraph-страница зафиксировалась в социальном графе, можно публиковать на ее стене анонсы. Доставлять контент «залайкавшим» наши теги подписчикам можно руками, а можно автоматически. Естественно, мы пошли вторым путем. Зарегистрированное приложение работает на стороне Sports.ru: выбирает свежие материалы сайта, разбивает их по тегам и публикует новости на стенах соответствующих OpenGraph-страниц, используя Graph API и stream.publish. Как только на Sports.ru появляется новость, статья или фотография, привязанная к одному из наших OpenGraph-тегов, приложение сразу же публикует контентную единицу на стене соответствующей страницы. «Залайкавший» пользователь увидит в своей ленте вот такое сообщение:

    Новости Sports.ru в ленте Facebook, опубликованные через OpenGraph

    Разрабатывая всю механику проекта, мы наткнулись на проблемы, решать которые нам еще предстоит в ближайшее время:

    1. Отсутствует интерфейс мониторинга подписок
    Facebook не предоставляет какого-либо интерфейса для мониторинга подписок на OpenGraph-страницы в рамках одного приложения. Поэтому нам придется самостоятельно реализовать внутренний сервис сбора статистики по нашим тегам (число подписчиков в Facebook, объем выгружаемой информации, количество переходов и т.д.)

    2. Дублирование информационных сообщений
    В ходе разработки мы наткнулись на логическую проблему: т.к. к новостям могут привязываться несколько тегов, а пользователь — подписаться на несколько тегов, то в его ленте могут оказаться продублированные сообщения:

    Продублированные новости Sports.ru в ленте Facebook, опубликованные через OpenGraph

    К сожалению, решить эту проблему можно только со стороны Facebook: «схлапывать» одинаковый контент, полученный с нескольких стен. Проблему обещают решить в IV квартале 2010, когда завершится проект под кодовым названием «minifeed2».

    3. Статьи – тоже объекты OpenGraph!
    Необходимо добавить meta-теги OpenGraph на страницы нашей статей, после чего они появятся в результатах поиска Facebook. Естественно, периодические публикации через stream.publish для статей не имеют смысла.

    Проект мы запустили месяц назад без какого-либо анонсирования, и пока что о результатах, выраженных в переходах и проявлениях «вирусности», говорить рано. Об этом, я думаю, мы напишем отдельно, через пару месяцев эксплуатации. В любом случае, наши ожидания от грядущего эффекта самые оптимистичные =)

    Sports.ru

    82,00

    Компания

    Поделиться публикацией
    Комментарии 19
      +3
      И? результат внедрения какой?
        +3
        Как уже писал выше, результатами поделимся отдельно. Все работает, многие уже пользуются. Но пока что наблюдаем. Например, на тот же Спартак www.sports.ru/tags/1044511.html подписалось уже 37 человек (им просто нравится Спартак и у них есть аккаунт в Facebook). Это не много.

        Такая история медленно разгоняется, но у нее длинный хвост, поэтому мгновенной реакции не может быть. Рассказывать об этом нашим пользователям мы только-только начинаем.
        +2
        Как залайкать страницу начальник? :)
          +1
          Никак, светить ее вообще не стоит =)
          0
          Очень вовремя написана статься — мы как раз вчера прикрутили такие же рюшечки на один из наших сайтов, с результатами тоже пока несовсем ясно :(
            +1
            Ну наверно главная задача для нас сейчас — дать пользователям понять, что, залайкав opengraph-страницу, они автоматически, без предупреждения подписываются на новости по этому тегу. В этом смысле, кнопка с рифленом «мне нравится» не совсем удачно вписывается. Нужно, наверно, добавить разъясняющий модуль где-то рядом с этой кнопкой. Пока думаем, каким образом.
            0
            Вам не кажется, что нужно как то пресечь эту тенденцию с «Залайкавшими» и подобрать слово из русского языка?
              +4
              Надо бы. Но варианта лучше я пока не видел. Даже в профессиональных изданиях не могут придумать какую-нибудь русскоязычную замену: в последнем номере СФ псевдо-глагол «лайкать» используется целых 5 раз www.kommersant.ru/doc.aspx?docsid=1500573 =)
                0
                  +3
                  Заценить
                    +1
                    Кстати, Ваш вариант довольно подходящий. «Оценил» и «заценил» обычно используются при положительной оценке.
                      0
                      Оценил и забыл.
                      «Лайк» или «мне нравится» — как раз больше подходит под подписку. В данном случае — так точно.
                    0
                    «Занравкать» — от слова «нравится» :))
                    +2
                    В правильном направлении копают, давно уже назрела альтернатива текстовому поиску. Глядишь, получим лет через н-цать структурированную базу с удобным поиском вместо той свалки сайтов, что есть сейчас.
                      +2
                      Очень интересно, спасибо. Давно послеживаю за вашим сайтом т.к. мне интересна тематика спортивных сайтов и могу сказать, что вы идете очень правильным путем.
                        0
                        Очень бодро. Надо разобраться, вот в профиле Формулы-1 жму лайк, в ленте теперь появятся новости по Ф1? Почему-то не вижу.
                          0
                          Они появятся у вас в ленте, как только появятся у нас на сайте. Новости начинают поступать к вам с момента подписки.
                          0
                          А можно подробностей по пункту 3 (Статьи) — почему они сами появляются в ленте новостей, кто их туда собирает, краулер Facebook'а что ли?
                            0
                            Когда пользователь «лайкает» нашу opengraph-страницу, он, по сути, лайкает обычную Fan Page. Апдейты этой Fan Page сваливаются в NewsFeed всем пользователям, которые ее залайкали. Мы разработали приложение, которое, используя stream.publish, публикует на стенах таких страниц новые статьи по мере их публикации на Sports.ru

                          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                          Самое читаемое