Co dělat, když Mergado nemůže stáhnout vstupní feed#
Když Mergado nedokáže stáhnout váš vstupní feed, projekt se nepřegeneruje a na výstupu zůstanou starší data. Ve většině případů není příčina v Mergadu, ale v tom, že server s vaším feedem odmítne nebo neodpoví na požadavek o jeho stažení. Tento článek vám pomůže zjistit, co se děje, a nasměruje vás k řešení — ideálně tak, abyste příčinu našli sami a nemuseli čekat na odpověď podpory.
Postup platí pro vstupní feed projektu i pro soubory, které stahuje pravidlo Import datového souboru.
Jak zjistíte, co se přesně stalo#
Nehádejte podle toho, že „projekt nefunguje“. Mergado zaznamenává každý pokus o stažení feedu:
- V Mergadu otevřete projekt, u kterého problém nastal.
- Přejděte na stránku Historie.
- V kolonce Typ událostí vyfiltrujte Import produktů, případně Plánovaný import produktů, pokud se projekt přegenerovává automaticky.
Uvidíte počet neúspěšných pokusů a hlášku k nim. U nejčastějších chyb (401, 403, 404, 500, 502, 503 a 504) je hláška konkrétní a rovnou napoví, co se stalo — v tom případě pokračujte podle tabulky níže. Pokud vidíte jen obecnou hlášku „Neznámá chyba“, přejděte rovnou na sekci Co znamená „Neznámá chyba“.
Co znamenají jednotlivé chyby#
| Hláška v Historii | Co se děje | Kde hledat řešení |
|---|---|---|
| Přístup ke vzdálenému souboru byl odepřen (401 Unauthorized). | Feed je chráněný přihlašovacím jménem a heslem a Mergado je nemá, nebo jsou chybné. | Zkontrolujte přihlašovací údaje v URL adrese feedu, případně v rozšíření Mergado Drive. Pokud jste je na serveru změnili, změňte je i v Mergadu. |
| Vzdálený server odmítl odpovědět (403 Forbidden). | Server o Mergadu ví, ale přístup mu odmítá. Nejčastější případ. Bývá to whitelist IP adres, WAF (webový firewall, který filtruje provoz na váš web), Cloudflare nebo blokace automatizovaného stahování. | Povolte IP adresy Mergada. Pokud používáte Cloudflare, postupujte podle tohoto návodu. |
| Vzdálený soubor neexistuje (404 Not Found). Na zadané adrese nebyla nalezena žádná data. | Na zadané adrese žádný soubor není. Feed byl přesunutý, přejmenovaný, nebo je v adrese překlep. | Otevřete adresu feedu v prohlížeči. Pokud ji nenajdete ani vy, získejte aktuální adresu ve svém e-shopovém systému a opravte ji v nastavení projektu. |
| Na vzdáleném serveru došlo k blíže nespecifikované chybě (500 Internal Server Error). | Server s feedem narazil na vnitřní chybu, nejčastěji selhalo samotné generování feedu. | Zkuste adresu otevřít v prohlížeči. Pokud chyba trvá, řešte ji se svým hostingem nebo dodavatelem e-shopu. |
| Vzdálený server nebyl schopen odpovědět (502 Bad Gateway). | Server před vaším e-shopem (proxy, CDN) nedostal platnou odpověď od serveru, který feed generuje. | Obvykle jde o dočasný výpadek. Pokud chyba trvá, obraťte se na svůj hosting. |
| Vzdálený server neodpověděl (503 Service Unavailable). | Server je přetížený, v údržbě nebo dočasně nedostupný. | Počkejte na další pokus o stažení. Pokud se chyba opakuje, řešte se svým hostingem výkon serveru nebo plánované údržby. |
| Vzdálený server nebyl schopen odpovědět (504 Gateway Timeout). | Generování feedu trvalo příliš dlouho a server odpověď nestihl odeslat. | Požádejte hosting nebo dodavatele e-shopu o zrychlení generování feedu, případně o jeho předgenerování do souboru. |
WAF (Web Application Firewall) je bezpečnostní filtr, který kontroluje požadavky na váš web a podezřelé blokuje. Bývá součástí hostingu nebo služeb jako Cloudflare a někdy omylem zablokuje i automatizované stahování feedu.
Co znamená „Neznámá chyba“#
U ostatních chyb Historie neukáže konkrétní popis, ale jen obecnou hlášku „Neznámá chyba“. Týká se to zejména:
- 429 Too Many Requests — server omezuje počet požadavků a stahování feedu se do limitu nevešlo.
- Timeout — server vůbec neodpověděl, nebo trvalo příliš dlouho spojení navázat.
- Chyba certifikátu / SSL — server má neplatný, expirovaný nebo nedůvěryhodný certifikát.
Přesný kód a důvod z Historie v tomto případě nepoznáte — vidí ho jen naše technická podpora. Než jí napíšete, zkuste si příčinu ověřit sami — u většiny případů ji najdete bez čekání na odpověď:
-
Ověřte stažení feedu tak, jak ho vidí Mergado. Mergado nestahuje feed přes prohlížeč, ale automatizovaně přes nástroj curl s identifikací (User-Agentem)
MergadoBot. Stejný požadavek si můžete poslat sami. V terminálu (macOS, Linux, Windows 10 a novější) spusťte:curl -I -A "MergadoBot" "https://adresa-vaseho-feedu"- Na prvním řádku odpovědi uvidíte HTTP kód (například
HTTP/2 200,403,429nebo503). Podle něj poznáte příčinu, i když Historie ukazuje jen „Neznámou chybu“. - Odpověď obsahuje hlavičku
cf-mitigated: challenge→ feed blokuje Cloudflare, postupujte podle návodu pro Cloudflare. - Příkaz nic nevrátí nebo skončí až po dlouhé době → odpovídá to timeoutu.
- Příkaz skončí chybou certifikátu → jde o chybu SSL, řešte obnovu certifikátu u svého hostingu.
Test běží z vaší IP adresy, ne z IP adresy Mergada. Pokud vám vrátí
200, ale Mergado feed stáhnout nedokáže, blokuje server nejspíš přímo IP adresu Mergada — ověřte to v logu (další krok) nebo u svého hostingu. - Na prvním řádku odpovědi uvidíte HTTP kód (například
-
Zkontrolujte vlastní access/error log hostingu (v administraci vašeho hostingu — na rozdíl od naší Historie tam uvidíte skutečný HTTP status). Dohledejte v něm čas neúspěšného pokusu podle Historie a hledejte požadavky z IP 81.31.39.112.
- Požadavek tam není vůbec → byl zastaven dřív, než se dostal k vaší aplikaci (firewall, WAF, síťová úroveň) → odpovídá to timeoutu.
- Požadavek tam je a vidíte konkrétní kód (například 429) → máte přesnou příčinu, aniž byste čekali na nás. U chyby 429 požádejte správce serveru nebo hosting o zvýšení limitu pro IP adresu Mergada.
-
Porovnejte čas poslední úspěšné a první neúspěšné položky v Historii. Pomůže to spojit problém s konkrétní změnou — novým bezpečnostním pravidlem, zapnutím Cloudflare, migrací hostingu nebo obnovou certifikátu.
Pokud ani tímto postupem příčinu nenajdete, napište nám na mergado@mergado.cz — přiložte odkaz na projekt, adresu feedu a čas, kdy problém nastal. Až po tomto ověření vám kód a přesný důvod dohledáme v administraci.
Zvláštní případ: dřív to fungovalo a přestalo, aniž bych něco změnil#
Tohle je častější, než by se zdálo, a skoro nikdy to není chyba na straně Mergada. Typické příčiny:
- Váš hosting nasadil nová bezpečnostní pravidla. Reálný případ: velký český hosting zavedl nové pravidlo pro detekci podezřelé komunikace a omylem jako rizikovou vyhodnotil i komunikaci Mergada. Zablokoval tím stahování feedů u všech e-shopů na svých serverech, dokud jsme ho neupozornili.
- Zapnuli jste Cloudflare nebo se změnilo jeho nastavení.
- Skončila platnost certifikátu.
- Migrovali jste hosting nebo se změnila IP adresa serveru a whitelist tam už není.
- Změnilo se heslo nebo hash v adrese feedu, například po aktualizaci e-shopu.
Jak to poznáte: v Historii projektu najdete poslední úspěšné stažení a porovnáte ho s prvním neúspěšným. Čas, kdy se to zlomilo, je nejcennější údaj pro vás i pro váš hosting.
Jak postupovat#
- Otestujte feed tak, jak ho stahuje Mergado — příkazem
curl -I -A "MergadoBot" "https://adresa-vaseho-feedu"(podrobněji v sekci Co znamená „Neznámá chyba“). Samotné otevření feedu v prohlížeči nestačí: prohlížeč může feed načíst, i když automatizované stahování server blokuje. - Podívejte se do Historie projektu, jaká chyba se opakuje. Pokud jde o konkrétní hlášku (401, 403, 404, 500, 502, 503 nebo 504), najděte ji v tabulce výše. Pokud jde o „Neznámou chybu“, postupujte podle sekce Co znamená „Neznámá chyba“.
- Zkontrolujte whitelist IP adres. Mergado stahuje vstupní feed z adresy 81.31.39.112. Pokud používáte rozšíření, přidejte i jejich IP adresy.
- Ověřte, že feed není chráněný více způsoby současně. Kombinace whitelistu a hashe v adrese je častý zdroj problémů, typicky u feedů ze Shoptetu.
- Pokud používáte Cloudflare, nastavte výjimku podle samostatného návodu. Samotné přidání IP adresy na whitelist tam nestačí.
- Napište svému hostingu, pokud nic z výše uvedeného nepomohlo. Uveďte, že jde o legitimní automatizované stahování produktového feedu, a požádejte o odblokování IP adresy 81.31.39.112. Přiložte čas, kdy stahování přestalo fungovat.
- Kontaktujte naši podporu, pokud si nejste jistí. Napište na mergado@mergado.cz a přiložte odkaz na projekt, adresu feedu a čas, kdy problém nastal.
FAQ#
Znamená chyba při stahování, že přijdu o data na výstupu?#
Ne. Když se stažení nepodaří, Mergado ponechá data z posledního úspěšného importu — pokud k nějakému už došlo. Výstupní feed zůstane dostupný, ale bude obsahovat starší informace, dokud se stažení nepodaří znovu. Pokud se feed nepodařilo stáhnout ani jednou (například u nově založeného projektu), žádná data na výstupu zatím nejsou.
Proč se mi feed nestáhne, když v prohlížeči funguje?#
Prohlížeč a Mergado přistupují k feedu jinak. Mergado feed stahuje automatizovaně přes nástroj curl s identifikací MergadoBot. Prohlížeč umí zpracovat JavaScript a bezpečnostní výzvy, automatizované stahování ne. Server také může rozlišovat přístup podle IP adresy, a vaše je jiná než ta Mergada. Nejčastěji za tím stojí whitelist IP adres, WAF nebo Cloudflare. Spolehlivější než prohlížeč je proto test přes curl, popsaný v sekci Co znamená „Neznámá chyba“.
Platí to samé pro pravidlo Import datového souboru?#
Ano. Pravidlo Import datového souboru stahuje soubor stejným způsobem jako vstupní feed, takže i příčiny a řešení jsou stejné.
Jak zjistím, jestli mě blokuje hosting?#
Spolehlivý příznak je chyba typu timeout, kdy server neodpoví vůbec, přestože test přes curl s identifikací MergadoBot z vašeho počítače projde normálně. Pokud navíc problém začal ze dne na den bez vašeho zásahu, je blokace ze strany hostingu velmi pravděpodobná. Obraťte se na jeho podporu.
Proč v Historii vidím jen „Neznámá chyba“ a ne konkrétní kód?#
Historie ukazuje konkrétní popis jen u nejčastějších chyb (401, 403, 404, 500, 502, 503 a 504). Ostatní chyby, například 429, timeout nebo problém s certifikátem, se v ní zobrazí obecně jako „Neznámá chyba“ — přesný kód v tu chvíli vidí jen naše podpora. Postup, jak si příčinu ověřit sami, najdete v sekci Co znamená „Neznámá chyba“.
Musím po vyřešení něco udělat, aby se projekt přegeneroval?#
Mergado se o stažení pokouší při každém dalším přegenerování automaticky. Pokud chcete výsledek zkontrolovat hned, spusťte přegenerování ručně v projektu.