Проекти

Mini Case: Custom Product Schema за WooCommerce без скъпи плъгини

3 декември 2025 г.

Накратко за проекта

Множество WooCommerce сайтове разчитат на Yoast и допълнителния им плъгин за Product Schema, с цел да получат богати резултати в Google. Проблемът е, че този плъгин е скъп, а след ъпдейти често води до несъвместимости с други плъгини, което причинява грешки, счупени функционалности и загуба на rich snippets.

Това е като да платиш за скъпа касова система, която всеки път след обновяване блокира магазина – и вместо да печелиш време и пари, губиш и двете.

Ключови подобрения

  • Пълна замяна на Product Schema функционалността, без използване на плъгини.
  • Стабилно JSON-LD внедряване, генерирано динамично от WooCommerce.
  • Подобрена производителност и SEO чрез намаляване на зависимостите и конфликтите.

Използвани технологии

  • WooCommerce – източник на продуктови данни.
  • WordPress hooks – за инжектиране на schema в <head>.
  • JSON-LD – стандартът за структурирани данни.

Предизвикателства

Проблемът се криеше не в липсата на schema, а в зависимостта от тежки и нестабилни плъгини, които след ъпдейти чупеха front-end елементи, забавяха сайтовете и водеха до временна загуба на rich snippets в Google.

Това е все едно да имаш магазин, но управлението на витрината да е поверено на външен екип, който може да реши да смени подредбата всеки път, когато си обнови софтуера.

Решение с custom код

Внедрих лек код, който автоматично генерира валиден Product Schema за всяка продуктова страница, без нужда от допълнителни плъгини или API заявки:

Php
add_action('wp_head', function() {
    if ( is_product() ) {
        global $product;
        ?>
<script type="application/ld+json">
{
  "@context": "https://schema.org/",
  "@type": "Product",
  "name": "<?php echo $product->get_name(); ?>",
  "image": "<?php echo wp_get_attachment_url( $product->get_image_id() ); ?>",
  "description": "<?php echo wp_strip_all_tags( $product->get_short_description() ); ?>",
  "sku": "<?php echo $product->get_sku(); ?>",
  "offers": {
    "@type": "Offer",
    "url": "<?php echo get_permalink(); ?>",
    "priceCurrency": "BGN",
    "price": "<?php echo $product->get_price(); ?>",
    "availability": "https://schema.org/<?php echo $product->is_in_stock() ? 'InStock' : 'OutOfStock'; ?>"
  }
}
</script>
<?php
    }
});

Кодът използва wp_head hook и динамично извлича данни от $product, като гарантира валидни стойности за Google и други търсачки.

Стъпки за имплементация

  1. Поставете кода в functions.php на child тема или custom plugin.
  2. Тествайте на продуктова страница и валидирайте с Rich Results Test.
  3. Премахнете конфликтни плъгини (ако има).
  4. Регенерирайте sitemap и изпратете в Search Console.

Резултат

След внедряване на решението сайтовете намалиха зависимостта от платен софтуер, получиха стабилен Product Schema и премахнаха риска от конфликт след ъпдейти.

Това доведе до по-добро crawl-ване от Google, по-висок CTR от rich results и по-малко време за поддръжка от екипа.

Извод

Понякога най-доброто решение не е по-скъп плъгин, а интелигентно, минималистично внедряване, което използва вградените възможности на платформата. С custom JSON-LD WooCommerce може да постигне топ SEO резултати, без да разчита на тежки и нестабилни добавки.