Подскажите пожалуйста, что я делаю нет так и почему 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'].'"/>');
?>
Когда пересылаю эту ссылку через мессенджер, то все берется, кроме картинки. И это еще можно пережить. Но если размещаю ссылку в фб, то там отражается полная шляпа с информацией вообще с другой страницы. Хотя при просмотре полного кода страницы все эти мета-теги корректно выводятся. Что делаю не так, никак не могу понять :(
Для того чтобы проверить какие проблемы возникают с разметкой вам надо пользоватся (например )откладчиками перепостов, у FB так же есть такой инструмент
Инструменты и поддержка
Для проверки разметки для Twitter
можете воспользоватся Twitter card validator
вот ссылка
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Пытаюсь сосчитать количество пробелов в строке, но через find выводит количество всех символов, а не пробеловПочему и какая есть альтернатива?
Не могу отправить правильный запрос на сервер, чтобы получить с него ответь в виде json строки