- [Case Studies](https://www.mergado.cz/kategorie/case-studies)
- [E‑commerce tipy](https://www.mergado.cz/kategorie/e-commerce-tipy)
- [E‑shopová řešení a platformy](https://www.mergado.cz/kategorie/e-shopova-reseni-a-platformy)
- [Mergado Pack](https://www.mergado.cz/kategorie/mergado-pack)
- [Mergado tipy](https://www.mergado.cz/kategorie/mergado-tipy)
- [Novinky v Mergadu](https://www.mergado.cz/kategorie/novinky-v-mergadu)
- [Novinky ze srovnávačů](https://www.mergado.cz/kategorie/novinky-ze-srovnavacu)
- [Pracujeme s Mergadem](https://www.mergado.cz/kategorie/pracujeme-s-mergadem)
- [Rozhovory](https://www.mergado.cz/kategorie/rozhovory)
- [Rozšíření](https://www.mergado.cz/kategorie/aplikace)
- [S Mergadem do zahraničí](https://www.mergado.cz/kategorie/s-mergadem-do-zahranici)
- [Ze života Mergada](https://www.mergado.cz/kategorie/ze-zivota-mergada)
 



 

 1. [  Úvod  ](https://www.mergado.cz/)
2. [     Blog  ](https://www.mergado.cz/blog)
3. [     Novinky ze srovnávačů  ](https://www.mergado.cz/kategorie/novinky-ze-srovnavacu)
4. <a class="flex items-center gap-2 hover:underline" href="" itemid="" itemprop="item" itemscope="" itemtype="https://schema.org/Thing">    **12 chyb XML pro Heureku a Zboží.cz — prohlédněte si to nejzajímavější z Mergadova auditu XML!** </a>
 
  

 

#  **12 chyb XML pro Heureku a Zboží.cz — prohlédněte si to nejzajímavější z Mergadova auditu XML!** 

 

 

 [    ![](https://www.mergado.cz/sites/default/files/perm/user-avatar/mergado-pan-100.png)   Pan Mergado  ](https://www.mergado.cz/blog/pan-mergado) [Novinky ze srovnávačů](https://www.mergado.cz/kategorie/novinky-ze-srovnavacu) 

22. 7. 2014

3 minuty čtení

 

 

 

 

 

  ![Chyby XML a pan Mergado, ilustrace](https://www.mergado.cz/sites/default/files/field/image/mergado-chyby-xml_0.png)  

Opravdu zajímavé chyby odhalil můj [audit XML pro Heureku a Zboží.cz](https://audit.mergado.com/). Podívejte se, kde jiní chybovali a nač si dát pozor.



 

 

 
                function tableOfContents() {
                  return {
                    headings_menu: [],
                    heading_active: '', // Added to track the active section
                    shouldBeSticky: false,

                    generateToC() {
                      const headings = document.querySelectorAll('.js-article-full-headings h2, .js-article-full-headings h3');
                      let headingMap = {};

                      headings.forEach((heading) => { // Use an arrow function to maintain `this` context
                        // Normalize heading text to remove diacritics, then replace non-alphanumeric characters with dashes
                        var normalizedText = heading.textContent.normalize("NFD").replace(/[\u0300-\u036f]/g, ""); // Remove diacritics
                        var id = heading.id ? heading.id : normalizedText.trim().toLowerCase()
                          .split(' ').join('-').replace(/[^a-z0-9\-]/ig, ''); // Updated regex to replace non-alphanumeric characters
                        headingMap[id] = headingMap[id] !== undefined ? ++headingMap[id] : 0;

                        // Use the updated `id` with diacritics removed for the heading id and the TOC
                        const finalId = headingMap[id] ? `${id}-${headingMap[id]}` : id;
                        this.headings_menu.push({
                          id: finalId,
                          title: heading.textContent,
                          level: heading.tagName.toLowerCase(), // Track heading level
                          active: false, // Initially set active to false
                        });
                        heading.id = finalId;
                      });
                    },

                    checkStickyNeeded() {
                      const ul = this.$el.querySelector('ul');
                      if (ul) {
                        this.shouldBeSticky = ul.scrollHeight < window.innerHeight;
                      }
                    },

                    setActiveHeading() {
                      // disabled not working with active state on click
                      // add @scroll.window="setActiveHeading()" to the parent div

                      // const headings = document.querySelectorAll('.js-article-full-headings h2');
                      // let activeHeading = '';
                      // let closestHeadingDistance = Infinity;

                      // headings.forEach((heading) => {
                      //   const rect = heading.getBoundingClientRect();
                      //   const offset = rect.top - window.innerHeight / 2; // Consider heading in the middle of the screen as active

                      //   if (offset < 0 && Math.abs(offset) < closestHeadingDistance) {
                      //     activeHeading = heading.id;
                      //     closestHeadingDistance = Math.abs(offset);
                      //   }
                      // });

                      // // Update the active state in headings_menu
                      // if (activeHeading !== this.heading_active) {
                      //   this.headings_menu = this.headings_menu.map(item => ({
                      //     ...item,
                      //     active: item.id === activeHeading,
                      //   }));
                      //   this.heading_active = activeHeading;

                      // }
                    },

                    setActiveItem(clickedId) {
                      this.headings_menu.forEach(item => {
                        item.active = (item.id === clickedId);
                      });
                      this.heading_active = clickedId; // Optionally update the heading_active property if used
                    },
                  };
                }
               1. <a :class="{ 'border-r-[3px] border-secondary': item.active, 'text-sm': item.level === 'h3' }" :href="'#' + item.id" class="inline-block text-balance hover:underline p-0.5 pr-3">  — </a>
  



 

## 1) Jakou barvu to zboží tedy mělo?

![Vícenásobně uvedené barvy zboží pro Heureku.](/sites/default/files/users/articles/audit-mistakes/mergado-img-1.png)

*Jeden parametr* musí být u daného zboží uveden *pouze jednou*. V uvedeném případě bude pro [Heureku](http://www.mergado.cz/tema/heureka-cz) těžké rozhodnout, zda je zboží hlavně zelené, oranžové, čiré *nebo* černé.

## 2) Co je tohle za oddělovač nadřazených kategorií? Proč zrovna velké písmenko „i“?

![Písmenko "i" jako oddělovač kategorie CATEGORYTEXT.](/sites/default/files/users/articles/audit-mistakes/mergado-img-2.png)

Zajímavá chyba, kdy programátor, zřejmě, zaměnil *znak “svislítko”* s velkým písmenem “i”. Vhodné je použít svislítko.

## 3) Tenhle oddělovač asi taky nebude validní

![](/sites/default/files/users/articles/audit-mistakes/mergado-img-3.png)

K oddělení nadřazených kategorií v elementu *CATEGORYTEXT* je vhodné použít znak svislítko. [Zboží.cz](http://www.mergado.cz/tema/zbozi-cz) nabízí i další oddělovače, nicméně svislítko je klasika, se kterou neuděláte chybu.

## 4) Do které kategorie myslíte, že bude zboží zatříděno?

![](/sites/default/files/users/articles/audit-mistakes/mergado-img-4.png)

Heureka zařazuje každé zboží právě do *jedné kategorie*. V XML zpracuje první výskyt elementu CATEGORYTEXT a ostatní vynechá.

## 5) Tahle sukně je “modrá společenská” a “modrá společenská” zároveň

![](/sites/default/files/users/articles/audit-mistakes/mergado-img-5.png)

Zde tvůrci e‑shopu parametry *opakují*.

## 6) Zboží v ceně 0 Kč?

![Nulová cena zboží PRICE_VAT.](/sites/default/files/users/articles/audit-mistakes/mergado-img-6.png)

Že by plnič v administraci zadal chybně *cenu zboží?* Nyní prodává e‑shop zboží za nula korun. A ještě k tomu za inzerci na Zboží.cz či Heurece platí.

## 7) V tomhle XML není nic. Ale jednou to nic máme skladem

![](/sites/default/files/users/articles/audit-mistakes/mergado-img-7.png)

*Chybně vygenerovaných XML souborů* odhaluje Mergadův audit celou řadu. Tohle XML se na první pohled jevilo, jako že nějaký obsah má. Při otevření je ale vidět, že uvnitř souboru žádné informace o zboží nejsou.

## 8) Do jaké kategorie byste zařadili tohle zboží?

![Kategorie CATEGORYTEXT : Akce](/sites/default/files/users/articles/audit-mistakes/mergado-img-8.png)

Heureka potřebuje, pro správné *zatřídění do kategorie*, rozeznat kam zboží patří. Tento příklad jí to ovšem neumožní. V případě Zboží.cz má element CATEGORYTEXT váhu minimální — zpracovává se jen u nového, dosud nezatříděného, zboží. A to jen u několika málo e‑shopů. Jinak jej Zboží.cz ignoruje.

## 9) Jaké to čelo tedy bylo?

![Parametr PARAM_NAME bez obsahu.](/sites/default/files/users/articles/audit-mistakes/mergado-img-9.png)

Častý nešvar, kdy parametr PARAM obsahuje *název parametru PARAM\_NAME* a už *nikoliv jeho hodnotu VAL*. Takto uvedený PARAM nemá smysl a doporučuji jej neuvádět, nebo hodnotu doplnit.

## 10) Tohle třináctimístný EAN13 asi nebude

![Nevalidni EAN 13.](/sites/default/files/users/articles/audit-mistakes/mergado-img-10.png)

Element EAN funguje jen, pokud obsahuje *validní, třináctimístný, číselný kód*. Pokud jej neznáte, nechejte element prázdný.

## 11) Proč končí všechny názvy zboží čárkou?

![Zapomenutá čárka na konci názvu](/sites/default/files/users/articles/audit-mistakes/mergado-img-11.png)

U tohoto e‑shopu se mohl přepsat vývojář. A nebo je tu problém při plnění zboží do administrace. Každopádně všechny názvy zboží končily znakem “čárka”, což asi úmyslem nebylo.

## 12) Jaký ten příkon byl?

![](/sites/default/files/users/articles/audit-mistakes/mergado-img-12.png)

Velmi častý prohřešek vývojářů. Element PARAM smí mít pouze jednu hodnotu. A element SHOPITEM obsahuje pouze jedinou položku zboží. Někdy vývojáři udělají SHOPITEM společnou pro všechny *varianty* zboží a jejich rozdíly uvádějí do PARAM, oddělené středníkem. To je ovšem chyba. Heureka by toto přečetla jako jedno zboží, které má příkon “840;2200”, což asi autor nezamýšlel.

A co XML vašeho e‑shopu? Je bez podobných chyb? **Ověřte si zdarma**, jak jste na tom. **[Udělejte si audit!](http://www.mergado.cz/audit-xml)**

[![](/sites/default/files/users/loga/audit_zdarma.png)](http://www.mergado.cz/audit-xml)

O využití Mergada při správě inzerce si přečtěte **v seriálu Nejčastější použití Mergada**:

1. [Nejčastější využití Mergada (1. díl)](https://www.mergado.cz/nejcastejsi-vyuziti-mergada-1-dil)
2. [Nejčastější využití Mergada (2. díl)](https://www.mergado.cz/nejcastejsi-vyuziti-mergada-2-dil)
3. [Nejčastější využití Mergada (3. díl)](https://www.mergado.cz/nejcastejsi-vyuziti-mergada-3-dil)

S Mergadem tyto a mnoho dalších úprav produktových feedů **zvládnete hromadně a přehledně nastavit sami**. Zkvalitníte tím práci na správě inzerce e‑shopu a **ušetříte** **náklady** na zaměstnávání programátora.

[![Zkuste na 30 dní zdarma](https://www.mergado.cz/sites/default/files/users/zkusit_mergado_button.png)](https://accounts.mergado.com/register/)



 

- [  Zboží.cz ](https://www.mergado.cz/tema/zbozi-cz)
- [  CATEGORYTEXT ](https://www.mergado.cz/tema/categorytext)
- [  EAN ](https://www.mergado.cz/tema/ean)
- [  Audit XML pro vyhledávače zboží ](https://www.mergado.cz/tema/audit-xml)
 
 [    ![](https://www.mergado.cz/sites/default/files/perm/user-avatar/mergado-pan-100.png)  ](https://www.mergado.cz/blog/pan-mergado)###  [ Pan Mergado ](https://www.mergado.cz/blog/pan-mergado) 

Pan Mergado byl největší dříč v našem týmu. Makal ve dne i v noci, aby byla data e‑shopů v tom nejlepším pořádku a přinášela užitek. Zde na blogu psal návody, zprávy i své vlastní názory. No ano, byla to virtuální postava, ale my jsme ho měli rádi. Fakt.

 

 

 

 

 

 

 

 

 

## Mohlo by vás *zajímat*

 

 [    ![](https://www.mergado.cz/sites/default/files/perm/image/jak_uspesne_prodavat_na_idealo.jpg)  

### Jak úspěšně prodávat na idealo

 

 ](https://www.mergado.cz/blog/uspesny-prodej-na-idealo) 

 [    ![FAVI Pixel cover ](https://www.mergado.cz/sites/default/files/perm/image/new-nahledovky_na_blog-1200_x_628_px-7.png)  

### Máte návštěvníky, ale ne konverze? FAVI Pixel je řešení.

 

 ](https://www.mergado.cz/blog/favi-pixel) 

 [    ![bfsg nový zákon ecommerce článek](https://www.mergado.cz/sites/default/files/perm/image/new-nahledovky_na_blog-1200_x_628_px-1-1.png)  

### Další regulace v e‑commerce: co je BFSG a co to znamená pro váš online byznys?

 

 ](https://www.mergado.cz/blog/bfsg-digitalni-pristupnost) 

 

 

 

## Ať vám *nic neunikne*

 Přihlašte se do našeho newsletteru 

   

       

   Přihlášením souhlasíte, že vaše údaje zpracujeme v souladu s podmínkami o [ochraně osobních údajů](https://www.mergado.cz/prohlaseni-o-cookies). 

  Děkujeme, úspěšně jste se připojili k našemu seznamu odběratelů. 

 

 

 
      function ml_webform_success_5807248() {
        var r = ml_jQuery || jQuery
        r('.ml-subscribe-form-5807248 .row-success').show(), r('.ml-subscribe-form-5807248 .row-form').hide()
      }