Feed pro srovnávač se po stěhování webu přestal aktualizovat
Příznaky
Menší e-shop se přestěhoval k jinému hostingu. Web fungoval, objednávky chodily, nikdo si ničeho nevšiml. XML feed pro srovnávač zboží ale zůstal ve stavu z doby stěhování: soubor existoval a měl správné položky, jen se už měsíc negeneroval. Nové ceny, slevy a produkty se do srovnávače nedostaly.
Prostředí
WordPress s WooCommerce, sdílený hosting. Feed vytváří plugin, který soubor neaktualizuje sám při ukládání produktů. Generování spouští zvenku volání jeho REST adresy (/wp-json/<plugin>/v1/feed/generate/...).
Diagnostika
- Datum poslední změny souboru feedu ukázalo den stěhování.
- Ceny ve vzorku produktů seděly. Šlo jen o to, že novější změny chyběly, ne o chybu v datech. Proto se nic nehlásilo.
- WP-Cron fungoval a v plánovaných úlohách WordPressu nic neselhávalo. Generování totiž WordPress neplánuje vůbec.
- V dokumentaci pluginu je, že potřebuje vnější cron na svou REST adresu. Ten byl nastavený v administraci starého hostingu a s webem se nepřenesl, protože není v souborech ani v databázi.
- Ruční zavolání adresy vrátilo
{"result":"done"}asi za 0,7 s a soubor se přegeneroval.
Příčina
Plánovaná úloha byla součástí hostingu, ne webu. Stěhování přeneslo soubory a databázi, ale na úlohy v plánovači hostingu nikdo nepamatoval.
Co hrozí, když se to neřeší
Srovnávač dál ukazuje staré ceny a zboží, které už není skladem. Zákazník klikne na slevu, která neplatí, a odejde naštvaný. Za nesoulad cen může srovnávač e-shop penalizovat nebo vyřadit. Stejně tiše po stěhování přestávají běžet i další plánované úlohy: zálohy, rušení nezaplacených objednávek, e-maily. Většinou se na to přijde až po týdnech.
Oprava
- Feed jsme ručně přegenerovali zavoláním REST adresy.
- V plánovači úloh nového hostingu jsme přidali úlohu, která adresu volá dvakrát denně.
- Prázdné soubory starých feedů jsme z webu přesunuli do zálohy.
Ověření
Po prvním plánovaném běhu měl soubor feedu nové datum a počet položek odpovídal publikovaným produktům. Ověření jsme zopakovali druhý den.
Prevence a ponaučení
Před stěhováním si sepište všechny úlohy v plánovači starého hostingu: feedy, zálohy, synchronizace skladu a importy. Kontrola webu tohle nenajde, protože se nic nerozbije, jen přestane aktualizovat.
Související služby: Havárie a chyby E-shop a pokladna