Všetky projekty
Weby a e-commerce V prevádzke

Master Feed — vlastný WooCommerce feed pre Mergado a Heureku

Vlastný WordPress/WooCommerce plugin, ktorý generuje produktový feed so správnymi hlavnými kategóriami. Rieši problém, kde produkty odchádzali do porovnávačov s nesprávnou kategóriou a výkon kampaní tým ticho trpel.

Klient
Vlastný projekt — použiteľný aj pre ďalšie WooCommerce e-shopy s Mergadom
Rola
Samostatne (diagnostika, návrh a implementácia)

Použité technológie

  • WordPress
  • WooCommerce
  • PHP 8 (PSR-4)
  • XMLWriter streaming
  • WP Cron
  • Mergado / Heureka feed spec

Dopad

Čo umožňuje
Produkty vo feede dostávajú správnu hlavnú kategóriu. Porovnávače a reklamné systémy majú lepší vstup a klient neprichádza o výkon kvôli zle zaradeným produktom.

Diagnostika bugu v Mergado Pack

Súbor: mergado-marketing-pack/src/Feed/Product/ProductFeed.php:773-838

Pôvodný plugin vyberal ako hlavnú kategóriu najhlbšiu vetvu kategórie, nie hlavnú kategóriu nastavenú v SEO plugine. Pri produktoch s viacerými kategóriami to znamenalo, že vo feede skončila nesprávna kategória.

Dôsledok pre klienta: Heureka alebo Google Shopping mohli produkt zaradiť zle. Nebola to viditeľná chyba s hláškou, ale tichý problém, ktorý sa prejaví horším výkonom.

Master Feed plugin

Náhrada za časť pôvodného pluginu, ktorá generuje feed. Výsledkom je vlastný plugin pod kontrolou klienta.

Čo plugin robí

  • Zoberie produkty z WooCommerce
  • Určí správnu hlavnú kategóriu podľa SEO pluginu
  • Vygeneruje XML feed pre Mergado/Heureku
  • Uloží ho ako statický súbor, aby sa negeneroval nanovo pri každom stiahnutí
  • Vie sa spúšťať automaticky aj ručne z administrácie

Optimalizácie

  • Feed sa zapisuje postupne, aby plugin zbytočne nespotreboval veľa pamäte
  • Výsledný feed je statický súbor, takže server ho vie rýchlo odovzdať Heureke alebo Mergadu
  • Súbor sa prepne až po kompletnom vygenerovaní, aby porovnávač nikdy nedostal napoly zapísaný feed
  • Pri hromadnej úprave produktov sa feed negeneruje 100-krát, ale iba raz po dokončení zmien

Bezpečnosť

  • Ručné spustenie je dostupné iba používateľom s oprávnením spravovať WooCommerce
  • Výstupy v administrácii sú ošetrené
  • Adresár s feedom nemá verejný výpis súborov
  • Plugin nepoužíva rizikové techniky ako eval

Čo som sa naučil

  • Nie každá chyba sa prejaví hláškou. Niekedy systém funguje, ale posiela zlé dáta.
  • Ak plugin neponúka bezpečný spôsob úpravy, pri vážnom probléme je lepšie postaviť vlastný plugin než upravovať cudzí kód, ktorý sa prepíše aktualizáciou.
  • Pri feedoch je lepšie generovať statický súbor a až hotový ho sprístupniť. Je to rýchlejšie a bezpečnejšie.

Pracujete na podobnom?

Krátky úvodný hovor, žiadne záväzky.

Napísať mi