Блог
Как да Използваме Product Schema Markup за WooCommerce за По-Добро SEO
Днес ще разгледаме как да използваме Product Schema Markup за WooCommerce, за да подобрим вашето SEO. Този тип маркировка помага на търсачките да разберат по-добре информацията за вашите продукти и да ги представят по-атрактивно в резултатите от търсенето.
Какво е Product Schema Markup?
Product Schema Markup е вид микро данни, които описват ключови детайли за вашите продукти, като име, цена, наличност, ревюта и други. Това помага на търсачките да представят вашите продукти по-ясно и информативно.
Стъпки за Добавяне на Product Schema Markup:
Съберете Необходимата Информация:
Подгответе информация като име на продукт, цена, наличност, ревюта и изображения.
Създайте Маркировката:
Използвайте следния код за WooCommerce, за да интегрирате Product Schema Markup:
add_filter(‘woocommerce_structured_data_product’, ‘custom_structure_data’, $priority = 20, $accepted_args = 2);
function custom_structure_data($schema, $product) {
$shop_name = get_bloginfo(‘name’);
$shop_url = home_url();
$currency = get_woocommerce_currency();
$permalink = get_permalink($product->get_id());$schema[‘brand’] = array(
‘@type’ => ‘Brand’,
‘name’ => ‘Примерен Бранд’
);if (!$product->get_rating_count()) {
$schema[‘aggregateRating’] = array(
‘@type’ => ‘AggregateRating’,
‘reviewCount’ => 5,
‘ratingValue’ => 4.9
);$schema[‘review’][] = array(
‘@type’ => ‘Review’,
‘reviewRating’ => array(
‘@type’ => ‘Rating’,
‘bestRating’ => ‘5’,
‘ratingValue’ => ‘4.9’,
‘worstRating’ => ‘1’,
),
‘author’ => array(
‘@type’ => ‘Person’,
‘name’ => ‘Клиент’,
),
‘reviewBody’ => “,
‘datePublished’ => ‘2022-02-22’,
);
}
if ($product->get_sku()) {
$schema[‘mpn’] = $product->get_sku();
} else {
$schema[‘mpn’] = $product->get_id();
}if (!$product->get_short_description() && !$product->get_description()) {
$schema[‘description’] = $product->get_name();
}if (“ !== $product->get_price()) {
$price_valid_until = gmdate(‘Y-12-31’, time() + YEAR_IN_SECONDS);
$currency = get_woocommerce_currency();if ($product->is_type(‘variable’)) {
$lowest = $product->get_variation_price(‘min’, false);
$highest = $product->get_variation_price(‘max’, false);if ($lowest === $highest) {
$markup_offer = array(
‘@type’ => ‘Offer’,
‘price’ => wc_format_decimal($lowest, wc_get_price_decimals()),
‘priceValidUntil’ => $price_valid_until,
‘priceCurrency’ => $currency,
);
} else {
$markup_offer = array(
‘@type’ => ‘AggregateOffer’,
‘lowPrice’ => wc_format_decimal($lowest, wc_get_price_decimals()),
‘highPrice’ => wc_format_decimal($highest, wc_get_price_decimals()),
‘offerCount’ => count($product->get_children()),
);
}
} else {
if ($product->is_on_sale() && $product->get_date_on_sale_to()) {
$price_valid_until = gmdate(‘Y-m-d’, $product->get_date_on_sale_to()->getTimestamp());
}
$markup_offer = array(
‘@type’ => ‘Offer’,
‘price’ => wc_format_decimal($product->get_price(), wc_get_price_decimals()),
‘priceValidUntil’ => $price_valid_until,
‘priceCurrency’ => $currency,
);
}$markup_offer += array(
‘priceCurrency’ => $currency,
‘availability’ => ‘http://schema.org/’ . ($product->is_in_stock() ? ‘InStock’ : ‘OutOfStock’),
‘url’ => $permalink,
‘seller’ => array(
‘@type’ => ‘Organization’,
‘name’ => $shop_name,
‘url’ => $shop_url,
),
);$schema[‘offers’] = array(apply_filters(‘woocommerce_structured_data_product_offer’, $markup_offer, $product));
} else {
$schema[‘offers’] = array(
‘@type’ => ‘Offer’,
‘price’ => ‘1’,
‘priceValidUntil’ => ‘2025-05-25’,
‘priceCurrency’ => ‘BGN’,
);
}$schema[‘color’] = ‘Неопределен’;
$schema[‘pattern’] = ‘БДС’;
$schema[‘material’] = ‘Храна’;if (wp_get_attachment_url($product->get_image_id())) {
$schema[‘image’] = wp_get_attachment_url($product->get_image_id());
} else {
$schema[‘image’] = ‘https://example.com/default-image.jpg’;
}return $schema;
}
Добавете Маркировката към Вашия Сайт:
Поставете генерирания код във вашия functions.php файл на темата или чрез плъгин за персонализиране на WooCommerce.
Тествайте и Валидирайте: След като добавите кода, използвайте инструменти като Google’s Structured Data Testing Tool, за да се уверите, че всичко е правилно конфигурирано и работи.