Столкнулся с тем, что кнопка Facebook Share расшаривает только главную страницу сайта, без включения нужного заголовка и картинки.
Что использую: на данный момент скрипт от share42.com. Пробовал и другие подобные вещи, а так же и вручную вставлять код с дев-раздела ФБ - результат один и тот же. Да и работают они по одному принципу:
http://facebook.com/share/sharer.php?u=url&t=title и т.д.
Что пробовал:
1. Создал на фб приложение - подключил сайт. На будущее пригодится. После вставки кода JavaSDK на некоторых страницах стало подхватываться описание и картинка, но это касалось только корневых пунктов меню. Уходишь вглубь на один уровень хотя бы - всё, снова шарится только основой урл. При этом java-скрипт передаёт url правильно:
http://facebook.com/share/sharer.php?u=Здесь_нужный_url&t=
а_здесь_нужный_заголовок
2. Обнаружил, что для FB нужны отдельные meta-теги с "og":
| HTML5 |
1
2
3
4
5
6
7
8
| <meta property="fb:app_id" content="моё id" />
<meta property="og:site_name" content="Название моего сайта" />
<meta property="og:title" content="Заголовок моей страницы" />
<meta property="og:type" content="article" />
<meta property="og:url" content="мой url" />
<meta property="og:image" content="картинку пока не стал указывать" />
<meta property="og:locale" content="ru_RU" />
<meta property="og:description" content="Описание моей страницы" /> |
|
Фейсбушный JavaSDK их добавляет, но не везде они заполнены оказываются, либо берётся описание главной страницы.
Решил помочь фейсбуку, сделал вот так:
| PHP |
1
2
3
4
5
6
| $app = JFactory::getApplication();
$sitename = $app->getCfg('sitename');
$currenturl = JURI::current();
$doc = JFactory::getDocument();
$page_title = $doc->getTitle();
$page_description = $doc->getDescription(); |
|
И соответственно
| PHP |
1
2
3
4
5
6
7
8
| <meta property="fb:app_id" content="Моё id" />
<meta property="og:site_name" content="название моего сайта" />
<meta property="og:title" content="<?php echo $page_title; ?>" />
<meta property="og:type" content="article" />
<meta property="og:url" content="<?php echo $currenturl; ?>" />
<meta property="og:image" content="пока так же пусто, не вставлял" />
<meta property="og:locale" content="ru_RU" />
<meta property="og:description" content="<?php echo $page_description; ?>" /> |
|
Но увы и ах, не работает.
Такая проблема на нескольких сайтах. Причём, с одним из них у меня возникло ощущение, что у ФБ где-то свой кэш страниц есть аки у Гугля или Яндекса, который обновляется раз в 1000 лет. Обновлял сайт, поставил J3.3.3, всё ок. А в шару главной страницы идёт лого старого сайта, которого по текущему адресу нет уже больше месяца.
Вопрос, конечно, несколько оффтопичный, ибо не только с джумлой это связано. Но всё же. Может где-то в настройках приложения на ФБ надо что-то включить? На других же сайтах всё работает. А у меня нет.