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



 

 1. [  Úvod  ](/)
2. [     Blog  ](/blog)
3. [     Pracujeme s Mergadem  ](/kategorie/pracujeme-s-mergadem)
4. <a class="flex items-center gap-2 hover:underline" href="" itemid="" itemprop="item" itemscope="" itemtype="https://schema.org/Thing">    **Jak opravit časté chyby v XML feedu? II. díl** </a>
 
  

 

#  **Jak opravit časté chyby v XML feedu? II. díl** 

 

 

 [    ![](https://www.mergado.cz/sites/default/files/perm/user-avatar/katka2.jpg)   Kateřina Šmajzrová  ](/blog/katerina-smajzrova) [Pracujeme s Mergadem](/kategorie/pracujeme-s-mergadem) 

24. 11. 2016

4 minuty čtení

 

 

 

 

 

  ![časté chyby xml feed](https://www.mergado.cz/sites/default/files/perm/image/new-nahladovka-na-blog-1200-x-628-px-6_1.png)  

V [minulém díle](https://www.mergado.cz/jak-opravit-caste-chyby-v-xml-feedu-i-dil) jsme psali o tom, jak se vypořádat s **chybějícími elementy MANUFACTURER a DELIVERY DATE** nebo neplatnými hodnotami v elementech **CATEGORYTEXT či EAN.** Dnes se podíváme na další elementy a jejich úpravy.



 

 

 
                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>
  



 

V [minulém díle](https://www.mergado.cz/jak-opravit-caste-chyby-v-xml-feedu-i-dil) jsme psali o tom, jak se vypořádat s **chybějícími elementy MANUFACTURER a DELIVERY DATE** nebo neplatnými hodnotami v elementech **CATEGORYTEXT či EAN.** Dnes se podíváme na další elementy a jejich úpravy.

## Element PRODUCT obsahuje nepovolenou hodnotu 

Na [Heurece](https://www.mergado.cz/tema/heureka-cz) se element PRODUCT **zobrazuje v porovnání cen.** Podle specifikace tam patří mezi nepovolená rozšíření například: Doprava zdarma, Distribuce, Splátkový prodej nebo Sleva na další nákup.

[Zboží.cz](https://www.mergado.cz/tema/zbozi-cz) využívá tento element při **zobrazování výsledků vyhledávání.** Oproti Heurece má mírnější požadavky na povolená a zakázaná slova, ani tady se ale nesmí vyskytovat reklamní slogany, nadměrná interpunkce nebo emotikony. Naopak informace o dárku nebo slevě sem umístit můžete.

Pokud tedy víte o tom, že se ve vašem elementu PRODUCT něco podobného vyskytuje, pak můžete jednoduše využít pravidlo [Najít a nahradit](https://www.mergado.cz/blog/najit-a-nahradit-mergadovo-nove-pravidlo-ktere-musite-mit)*,* kdy v tomto elementu **vyhledáte požadovaný výraz a nahradíte ho prázdným výrazem** (do kolonky Nahradit) tedy nenapíšete nic.

![](/sites/default/files/users/jak-opravit-chyby-1.png)

##  

## Element PRODUCT neobsahuje hodnotu elementu PRODUCTNAME

Tady jde o trochu opačný problém než v předchozím příkladu. Tentokrát **v elementu PRODUCT informace chybí** a je nutné je tam doplnit (ze specifikace Heureky vyplývá, že tento element obsahuje PRODUCTNAME + informaci navíc).

Výběr těchto produktů provedeme **v rozšířeném nastavení** a následně je upravíme.

![](/sites/default/files/users/jak-opravit-chyby-2.png)

Jak na to? Nejprve je nutné **manuálně zkontrolovat pár produktů**, kterých se tato chyba týká a podle toho zvolit její nápravu. Pokusíme se tu ukázat některé nejčastější možnosti.

- Tato informace v elementu **úplně chybí** (nejjednodušší varianta) a doplníme ji tam pomocí pravidla *Přepsat,* kdy budeme přepisovat pomocí proměnných PRODUCTNAME A PRODUCT, abychom zachovali i stávající informace.

![](/sites/default/files/users/jak-opravit-chyby-3.png)

- Informace v elementu je, ale je **špatná,** resp. se od sebe text v PRODUCTNAME a PRODUCT liší například jen barvou (PRODUCT Tričko Superman modré, PRODUCTNAME Tričko Superman červené). V takovém případě je nutné zkontrolovat na několika produktech, která informace je špatná a tu **přepsat** (buď přepisujeme element PRODUCT elementem PRODUCTNAME nebo obráceně).
- Další chybou může být **přehozené pořadí slov** (Superman tričko modré vs. Tričko Superman modré). Nejsnazší úpravou je potom stejně jako v předchozím případě přepsání elementu.
- Element PRODUCT se od PRODUCTNAME **liší jen jednou mezerou navíc.** V takovém případě se vyplatí spíš **smazat tyto dvě mezery** v elementu a to skrze pravidlo Najít a nahradit, kdy budeme pomocí regulárního výrazu hledat dvě mezery v elementu PRODUCTNAME a nahradíme je jednou mezerou.

![](/sites/default/files/users/jak-opravit-chyby-4.png)

## Hodnota elementu PRODUCT není unikátní

Duplicity v tomto elementu mohou zhoršit nebo zcela znemožnit zobrazení produktů ve vyhledávání, vyplatí se je proto odstranit. I tady je víc možností řešení. V první řadě **zkontrolujte, zda se skutečně nejedná o duplicitní produkty,** kdy je **jeden z nich možné skrýt.** Touto kontrolou také zjistíme**, jaká je příčina duplicity.** Často se jedná o různé varianty jednoho produktu, které musíme odlišit přidáním informace o daném parametru (velikost nebo barva)**.** Pokud je váš feed neobsahuje, ale v e‑shopu máte varianty rozlišeny, kontaktujte správce či vývojáře svého e‑shopu, kteří vám s generováním parametru pomohou. Potom už stačí hodnotu elementu **PARAM přidat do elementu PRODUCT.**

## Element DESCRIPTION obsahuje HTML značky

S tímto si Mergado jednoduše poradí pomocí pravidla *odstranit HTML.*

![](/sites/default/files/users/jak-opravit-chyby-5.png)

## Element DESCRIPTION má špatný formát 

Tuto chybu MERGADO nahlásí v případě, že **má váš popis zboží méně než 5 slov.** Na vás je tedy zhodnotit, zda jsou v popisu všechny **potřebné informace**, a pokud ne, je vhodné popisky manuálně doplnit. Časová investice do této úpravy se vám jistě vyplatí.

## Hodnota elementu DESCRIPTION není unikátní

I tady doporučujeme **manuální úpravu popisků** tak, aby odpovídaly jednotlivým produktům a odlišovali je od sebe navzájem i od konkurenčních nabídek.

## Element DELIVERY\_ID obsahuje nepovolenou hodnotu

Tato chyba ve feedu pro Heureku naznačuje, že máte u svých produktů nastavenou **jinou dopravu** než je ve specifikaci Heureky (tedy: CESKA\_POSTA, CESKA\_POSTA\_NA\_POSTU, CSAD\_LOGISTIK\_OSTRAVA, DHL, DPD, EMS, FOFR, GEBRUDER\_WEISS, GEIS, GENERAL\_PARCEL, GLS, HDS, HEUREKAPOINT, INTIME, PPL, RADIALKA, SEEGMULLER, TNT, TOPTRANS, UPS, VLASTNI\_PREPRAVA).

S nastavením dopravy můžete snadno **pracovat pomocí pravidla** *Nastavení ceny dopravy,* kde jednotlivé dopravce (jejichž název představuje ono ID v pojmenování elementu) přidáte a rovnou k nim doplníte i cenu za typ služby.

![](/sites/default/files/users/jak-opravit-chyby-6.png)

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.

Pokud máte tipy na další časté chyby v XML feedech, dejte nám o nich vědět do komentářů nebo na [fórum](http://forum.mergado.cz), příště se můžeme věnovat třeba právě jim. Případně se nám rovnou ozvěte na technickou podporu.



 

  ![](https://www.mergado.cz/themes/custom/mergado/static/images/banner/mergado.svg) Mergado na 30 dní zdarma

- upravíte si feed sami a ušetříte náklady za práci programátora
- plný přístup ke všem funkcím už ve zkušební verzi

 

 [Chci to vyzkoušet](https://accounts.mergado.com/register/) 

  ![](https://www.mergado.cz/themes/custom/mergado/static/images/banner/mergado.svg)  

 

- [  Heureka.cz ](/tema/heureka-cz)
- [  Tipy pro práci s Mergadem ](/tema/tipy-pro-praci-s-mergadem)
- [  XML feed ](/tema/xml-feed)
 
 [    ![](https://www.mergado.cz/sites/default/files/perm/user-avatar/katka2.jpg)  ](/blog/katerina-smajzrova)###  [ Kateřina Šmajzrová ](/blog/katerina-smajzrova) 

Katka se panu Mergadovi starala o české texty, hlídala aby jim bylo rozumět a aby vás bavily. Taky točila videa a webináře pro ty, kdo jsou spíš na obrázky než na texty.

 

 

 

 

 

 

 

 

 

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

 

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

### Heureka recenze do Google recenzí: nový postup krok za krokem

 

 ](/blog/heureka-recenze-do-google-recenzi) 

 [    ![](https://www.mergado.cz/sites/default/files/perm/image/shoptet-shopify-prevod.jpg)  

### Jak jsme s Mergadem převedli e‑shop ze Shoptetu na Shopify: kompletní migrace bez ztráty dat

 

 ](/blog/jak-jsme-s-mergadem-prevedli-e-shop-ze-shoptetu-na-shopify-kompletni-migrace-bez-ztraty-dat) 

 [    ![nastavení agenturních účtů](https://www.mergado.cz/sites/default/files/perm/image/new-nahladovka-na-blog-1200-x-628-px-37.png)  

### Jak nastavovat uživatelské účty agenturních pracovníků v Mergadu

 

 ](/blog/opravneni-uzivatelskych-uctu-pro-agentury) 

 

 

 

## 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ů](/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()
      }