Четверг, 20 июня 2019 06:59

Микроразметка Open Graph для карточки товара Virtuemart 3

Микроразметка - это дополнительные теги и атрибуты на странице, которые помогают поисковым системам лучше понимать ее содержимое. Существует несколько словарей микроразметки.

Schema.org - для расширенных сниппетов в поисковой выдаче

Open Graph - для качественного представления сайта в соц. сетях.

Open Graph - словарь, разработанный Facebook. Поддерживается всеми популярными социальными сетями.

Open Graph разметка позволяет управлять видом превью при публикации ссылки на страницу в социальных сетях. Для вставки разметки в шаблоне /components/com_virtuemart/views/productdetails/tmpl/default.php карточки товара сразу после строки

defined('_JEXEC') or die('Restricted access');

Добавим

$doc = JFactory::getDocument();
 
$head = '<meta property="og:title" content="'.$this->product->product_name.'" />';
if (!empty($this->product->product_s_desc)) {
   $head .= '<meta property="og:description" content="'.htmlspecialchars(strip_tags($this->product->product_desc)).'" />';
   } elseif (!empty($this->product->product_desc)) { 
  $head .= '<meta property="og:description" content="'.htmlspecialchars(strip_tags($this->product->product_desc)).'"/>'; 
   } 
$head .= '<meta property="og:image" content="'.JURI::base().$this->product->images[0]->file_url.'" />';
$head .= '<meta property="og:type" content="website" />';
$head .= '<meta property="og:site_name" content="site.ru"/>';
$head .= '<meta property="og:url" content="'.JFactory::getURI().'" />';
$doc->addCustomTag($head);

site.ru замените на адрес вашего сайта. Теперь, если пользователь захочет поделиться товаром в соц. сетях, можно быть уверенным, что на месте изображения, названия и описания будут нужные данные.

Все изменения нужно вносить в файл /components/com_virtuemart/views/productdetails/tmpl/default.php. Чтобы после обновления virtuemart правки сохранились переопределим данный файл в папке шаблона. Для этого скопируем его в папку /templates/имя_шаблона/html/com_virtuemart/productdetails/. Если в папке уже есть файл default.php, то нужно править его.

Прочитано 124 раз