Facebook like: href url против канонического url
для отслеживания целей, я хочу, чтобы URL-адрес, который появляется в потоке facebook после "похожего действия", немного отличается от URL-адреса, который действительно понравился пользователю.
Пример:
Я использую <link rel="canonical" href="#" onclick="location.href='http://example.com/test.html'; return false;">
в своем разделе, чтобы рассказать facebook, к какому URL относится подобное действие на этом веб-сайте.
Далее на веб-сайте у меня есть <fb:like href="#" onclick="location.href='http://example.com/test.html?param=144141'; return false;">
с тем же URL-адресом, только с дополнительным параметром.
Мое намерение: если кто-то нажимает кнопку "как", facebook помещает его в "группу, которая нравится http://example.com/test.html", чтобы появиться затем аналогичная кнопка. Но когда другой пользователь видит свое подобное действие в потоке facebook и нажимает на него, он должен быть перенаправлен на http://example.com/test.html?param=144141.
Проблема заключается в том, что это не работает, потому что каноническое объявление в разделе заголовка перезаписывает атрибут href моего тега <fb:like>
. Кто-нибудь знает, как решить эту проблему или просто не работает?
Ответы
Ответ 1
Вы не можете выполнить то, что вы запросили, но вы можете добавить произвольный параметр отслеживания (особенно полезный для целей аналитики). Facebook недавно добавил параметр ref
в элемент fb:like
для этой цели. Вам решать, как вы хотите заполнять различные биты информации в этот единственный параметр, а затем анализировать fb_ref
всякий раз, когда он включается в входящие URL-адреса.
Пример
Поместите следующий элемент на страницу HTML:
<fb:like href="#" onclick="location.href='http://example.com/test.html'; return false;" ref="144141"></fb:like>
Пользователи, щелкнув ссылку из Facebook, должны быть перенаправлены на:
http://example.com/test.html?fb_ref=144141&fb_source=home_multiline
Documentation