Meta в товарах VirtueMart

Правильное оформление и настройка Meta категорий и товаров в VirtueMart 1.1.8 позволит улучшить ранжирование интернет-магазина, а это прямая дорога к увеличению его посещаемости и продаж. Создатели VirtueMart не слишком долго думали над этим пунктом, и сегодня я восполню пробел версии 1.1.8 и дам пару советов по выводу Meta Description и Keywords в ней.

Meta товаров VirtueMart

Здесь всё просто и никаких извращений с файлами магазина делать не надо. Для оформления Description товаров переходите в карточку товара, и заполняйте поле «Краткое описание» расположенное справа (фото 1). Не путайте это окно с окном внизу, где надо делать описание товара, которое будет отображаться на странице и необходимо для пользователей.

Заливать водой Meta Desc не надо – укажите в 1-2 предложениях преимущества товара и его особенности. Для тех, кто на подводной лодке, напомню, что Description будет видно только в исходном коде (для ПС) и Google почти всегда выводит его в результатах поиска, как описание страницы.

О Meta Keywords создатели VirtueMart 1 сильно не заворачивались и тут я ни их стороне, так как ключи сейчас роли не играют. Для полного самоуспокоения воспользуйтесь сторонними плагинами или пропишите ключи для всего сайта в «основных настройках» сайта, также не забудьте избавиться от дублей Meta в обычных материалах Joomla, если вы комбинируете на сайте возможности CMS и VirtueMart.

Meta категорий VirtueMart

Meta в категориях VirtueMart

Здесь дело более серьёзное, так как многие продвигают именно категории VirtueMart, поэтому их надо в хорошем смысле слова вылизать, прописав полный набор Meta. Сделать это без мата создатели не позволили, и геморрой при оформлении Meta категорий выскакивал то тут, то там. Решать проблемы пришлось кардинально, то есть хирургическим путём замены части кода в файлах магазина. В общем и целом нам понадобиться файл

administrator/components/com_virtuemart/html/shop.browse.php

В нём нужно найти кусок кода

if( $category_id ) {
/**
* CATEGORY DESCRIPTION
*/
$db->query( "SELECT category_id, category_name FROM #__{vm}_category WHERE category_id='$category_id'");
$db->next_record();
$category_name = shopMakeHtmlSafe( $db->f('category_name') );
// Set Dynamic Page Title
$vm_mainframe->setPageTitle( $db->f("category_name") );
$desc = $ps_product_category->get_description($category_id);
$desc = vmCommonHTML::ParseContentByPlugins( $desc ); // Prepend Product Short Description Meta Tag "description" when applicable $mainframe->prependMetaTag( "description", substr(strip_tags($desc ), 0, 255) ); }

 

И заменить его на –

if( $category_id ) {
/**
* CATEGORY DESCRIPTION
*/
$db->query( "SELECT category_id, category_name FROM #__{vm}_category WHERE category_id='$category_id'");
$db->next_record();
$category_name = shopMakeHtmlSafe( $db->f('category_name') );
$desc = $ps_product_category->get_description($category_id);
$desc = vmCommonHTML::ParseContentByPlugins( $desc );
// Prepend Product Short Description Meta Tag "description" when applicable
// !!!!!!!!!!!!!Патерн для мета-ключевых слов заключеных в тег спан со стилем display:none;
$regex = '##iU'; // !!!!!!!!!!!!!Патерн для мета-описания заключенный в тег спан со стилем display:none; $regex_d = '##iU';
// !!!!!!!!!!!!!Патерн для тайтла который не должен быть названием категории заключенный в тег спан со стилем display:none;
$regex_b = '##iU'; if(preg_match($regex_b, $desc, $title_a)) { $desc = preg_replace($regex_b,"",$desc); $vm_mainframe->setPageTitle( $title_a[0] ); } else { $vm_mainframe->setPageTitle( $db->f("category_name") ); } $keywords = preg_match($regex, $desc, $maches); $mainframe->prependMetaTag( "keywords", strip_tags($maches[0])); $desc = preg_replace($regex,"",$desc); if(preg_match($regex_d, $desc, $descrip_a)) { $desc = preg_replace($regex_d,"",$desc); $mainframe->prependMetaTag( "description", strip_tags($descrip_a[0]) ); } else { $mainframe->prependMetaTag( "description", strip_tags($desc)); } }

Теперь надо будет вспомнить основы html и вручную прописать Meta в коде «Информации о категории». Для этого открываем категорию (VirtueMart – Сводная информация – список категорий), заходим в исходный код описания и вставляем сверху –

<span class="keywords" style="display: none;">мета ключи</span>
<span style="display: none;">мета описание</span>
<span style="display: none;"> тайтл</span>

Последнюю строку можно опустить – прописывать же title надо, если вас не устраивает основной или вы хотите чтобы видимое для посетителей и название для поисковиков отличались.

Готовый файл shop.browse

Дабы не навлечь на себя гнева к материалу я прилагаю файл shop.browse.php, который надо просто закинуть в administrator/components/com_virtuemart/html/shop.browse.php и у вас появится возможность прописывать Meta в категориях VirtueMart 1.1.8 на любой вкус и цвет.

ПС. В других версиях VirtueMart не проверено по причине собственной лени, поэтому перед экспериментами не забывайте про бекап.