Open Graph разметка на сайте Битрикс

230
14 апреля 2017, 23:51

Подскажите пожалуйста, что я делаю нет так и почему OG разметка на сайте Битрикс не работает? Пишу разметку для компонента news.detail. Для этого сначала в файле result_modifier.php прописываю:

<?php
$this->__component->SetResultCacheKeys(array(
    "NAME",
    "DETAIL_PICTURE",
    "PREVIEW_TEXT",
    "DETAIL_PAGE_URL"
));
?>

Затем пишу в файле component_epilog.php:

<?php
    $APPLICATION->AddHeadString('<meta property="og:title" content="'.$arResult['NAME'].'"/>');
$APPLICATION->AddHeadString('<meta property="og:description" content="'.ucfirst($arResult['PREVIEW_TEXT']).'"/>');
$APPLICATION->AddHeadString('<meta property="og:site_name" content="Название сайта"/>');
$APPLICATION->AddHeadString('<meta property="og:locale" content="ru_RU"/>');
$APPLICATION->AddHeadString('<meta property="og:url" content="'.$host.$_SERVER['SERVER_NAME'].$APPLICATION->GetCurPage(false).'"/>');
$APPLICATION->AddHeadString('<link rel="canonical" href="'.$host.$_SERVER['SERVER_NAME'].$arResult['DETAIL_PAGE_URL'].'"/>'); 
$APPLICATION->AddHeadString('<meta property="og:image" content="http://site.ru'.$arResult['DETAIL_PICTURE']['SRC'].'"/>');

$APPLICATION->AddHeadString('<meta name="twitter:title" content="'.$arResult['NAME'].'"/>');
$APPLICATION->AddHeadString('<meta name="twitter:description" content="'.ucfirst($arResult['PREVIEW_TEXT']).'"/>');
$APPLICATION->AddHeadString('<meta name="twitter:card" content="summary_large_image"/>');
$APPLICATION->AddHeadString('<meta name="twitter:site" content="@site"/>');     
    $APPLICATION->AddHeadString('<meta property="twitter:image:src" content="http://site.ru'.$arResult['DETAIL_PICTURE']['SRC'].'"/>');
?>

Когда пересылаю эту ссылку через мессенджер, то все берется, кроме картинки. И это еще можно пережить. Но если размещаю ссылку в фб, то там отражается полная шляпа с информацией вообще с другой страницы. Хотя при просмотре полного кода страницы все эти мета-теги корректно выводятся. Что делаю не так, никак не могу понять :(

Answer 1

Для того чтобы проверить какие проблемы возникают с разметкой вам надо пользоватся (например )откладчиками перепостов, у FB так же есть такой инструмент
Инструменты и поддержка

Для проверки разметки для Twitter можете воспользоватся Twitter card validator вот ссылка

READ ALSO
Вывод числительного в падеже

Вывод числительного в падеже

Перевести в строку в импадеже: Есть

174
Почему find не находит пробелы в строке?

Почему find не находит пробелы в строке?

Пытаюсь сосчитать количество пробелов в строке, но через find выводит количество всех символов, а не пробеловПочему и какая есть альтернатива?

220
Rest Api Ajax Get запрос

Rest Api Ajax Get запрос

Не могу отправить правильный запрос на сервер, чтобы получить с него ответь в виде json строки

271