Když máte e-shop s desítkami tisíc produktů a chcete je posílat do několika srovnávačů zároveň, dostanete se rychle do jednoho bodu: potřebujete nástroj na transformaci feedů. Zdrojový XML export z e-shopu totiž nikdy nevypadá přesně tak, jak ho chce Google pro Nákupy — s feedem je potřeba dál pracovat tak, aby reklamy fungovaly co nejefektivněji. A pak přijde Heureka, Zboží, Biano...
Roky to řeším přes placený nástroj na transformaci feedů. Skvělá věc — udělá přesně to, co má. Jenže tarify se počítají podle počtu produktů a počtu výstupních feedů. Když těch produktů máte desítky tisíc a k tomu tři, čtyři kanály, dostanete se do horní části ceníku a platíte to každý měsíc. Napořád.
Co z toho vlastně reálně potřebuju — a nedal by se ten zbytek napsat?
Spoiler: dal. A trvalo to odpoledne, protože kód jsem nepsal sám.
Co ten nástroj vlastně dělá
Když si to rozeberete na kost, transformace feedu je překvapivě jednoduchý koncept. Jsou to tři kroky:
- Stáhni zdrojové XML z e-shopu.
- Projdi produkt po produktu a aplikuj pravidla — přejmenuj element, doplň chybějící hodnotu, skryj produkt, který není skladem, odvoď barvu z názvu.
- Zapiš výsledek jako nové XML a vystav ho na adrese, kterou zadáš Googlu.
To je celé. Všechno ostatní, co takové nástroje nabízejí, je uživatelské rozhraní nad těmito třemi kroky.
Ta klikací pravidla ale nejsou magie. „Když název obsahuje slovo modrá, nastav g:color na Modrá" je jeden řádek podmínky. „Když produkt není skladem, vyhoď ho z feedu" je taky jeden řádek. Když jsem si vyexportoval seznam pravidel ze svého projektu, zjistil jsem, že jich mám několik desítek — a všechna jsou tohoto typu. Žádná raketová věda.
Jak vypadá moje náhrada
Pravidla jsou v konfiguračním souboru.
Krátký program v Pythonu, který ta pravidla umí přečíst a aplikovat. Napsaný jednou, pak už se nemění. Stáhne feed, projde produkty, aplikuje pravidla ze zmíněného souboru, zapíše výsledek.
Kód se nemění, konfigurace ano. Přesně proto to zvládne udržovat i netechnický člověk.
Kde to běží (a proč mě to nestojí nic)
Tohle je moje oblíbená část. Neběží to na žádném serveru, který bych platil. Běží to na GitHub Actions.
Princip: GitHub umí spouštět váš kód podle časového plánu. Řeknete mu „každou hodinu mi spusť tenhle skript" a on to udělá. Vezme čistý stroj, nainstaluje Python, pustí transformaci a vypne se. Pro veřejné repozitáře je to zdarma.
A výsledné XML? To publikuju přes GitHub Pages — statický hosting, taky zdarma. Feed má tedy normální adresu, kterou zadám do Google Merchant Center, a ten si ho Google načítá.
Kde do toho vstupuje AI
Tady je pointa, kvůli které o tom vůbec píšu.
Před dvěma lety bych to nepostavil. Ne že bych to nedokázal — ale nevyplatilo by se to. Strávil bych nad tím víkendy, pak bych ladil parsování XML, pak bych zjistil, že mi to padá na diakritice, a nakonec bych se vrátil k placenému nástroji, protože můj čas má taky cenu.
Dnes to funguje jinak. Popíšete, co potřebujete. Necháte si to napsat. Zkontrolujete, jestli to dělá, co má. Opravíte, co nesedí.
Práce, která by zabrala víkendy, zabere odpoledne — a tím se celá ekonomika toho rozhodnutí obrátí vzhůru nohama.
A to je podle mě ta skutečná zpráva. Nejde o tenhle konkrétní feed. Jde o to, že hromada SaaS nástrojů, které dnes platíte, je uvnitř jednodušší, než vypadá zvenku. Platíte za rozhraní, za pohodlí a za to, že se o to nemusíte starat. To je legitimní — někdy to za ty peníze stojí. Ale poprvé v historii máte reálnou možnost si to spočítat a rozhodnout se.
Kdy to dává smysl — a kdy ne
Nebudu vám lhát, tohle není řešení pro každého.
Dává to smysl, když:
- máte pravidla, která se skoro nemění,
- rozumíte tomu, co má na výstupu být, a poznáte, když to nesedí,
- platíte za nástroj hodně relativně k tomu, kolik jeho funkcí reálně používáte.
Nedává to smysl, když:
- potřebujete pravidla měnit denně a chcete to dělat pohodlně,
- ve firmě není nikdo, kdo by to v případě problému zvládl otevřít,
- používáte pokročilé funkce, které by vás stály víc práce než peněz — bidding, analytiku nad feedem.
Neradím vám vypovědět všechno a psát si vlastní nástroje.
Radím vám podívat se na fakturu a zeptat se, jestli to, co doopravdy používáte, není náhodou ty tři kroky nahoře.
Závěr
Mám feed, který se sám aktualizuje, běží zadarmo, a pravidla si v něm změním stejně rychle jako klikáním v rozhraní. Postavil jsem ho za odpoledne, protože jsem si na kód najal AI a sám dělal to, čemu rozumím: rozhodoval, co má na výstupu být.
Nechci tvrdit, že tohle je budoucnost všeho. Ale kdykoliv teď platím měsíční paušál za nástroj, kladu si otázku, kterou jsem si dřív nekladl: jak složité to uvnitř doopravdy je?