Я делал так:
1) В component_epilog.php шаблона компонента выставляем теги. Для этого используем DirProperty. Как пример:
[CODE]$APPLICATION->SetDirProperty('og_image', $arItem['PIC']['src']);
$APPLICATION->SetDirProperty('og_url', $arItem['DETAIL_PAGE_URL']);
$APPLICATION->SetDirProperty('og_type', 'album'); [/CODE]
2) В обработчике события [url=http://dev.1c-bitrix.ru/api_help/main/events/onepilog.php]OnEpilog[/url] в /bitrix/php_interface/init.php проводим финальную обработку:
[CODE]// обработка опенграфовских мета-тегов
AddEventHandler('main', 'OnEpilog', array('CMyEpilogHooks', 'OpenGraph'));
class CMyEpilogHooks
{
function OpenGraph()
{
GLOBAL $APPLICATION;
foreach (array('og_title', 'og_image', 'og_url', 'og_site_name', 'og_type', 'og_description') as $prop_name)
{
$value = $APPLICATION->GetDirProperty($prop_name);
if ($prop_name == 'og_url' && empty($value))
$value = $APPLICATION->GetCurPage(false);
if (in_array($prop_name, array('og_image', 'og_url')) && !empty($value))
$value = 'http://тыры.пыры'.$value;
$prop_code = str_replace('og_', 'og:', $prop_name);
if (!empty($value))
$APPLICATION->AddHeadString("<meta property=\"$prop_code\" content=\"$value\" />");
}
}
}
[/CODE]
Ну, как-то так. Код не совсем понятный, извините, но рабочий.