Analýza a přepis architektury e‑commerce: Odhalení skryté struktury
E‑shop používá třívrstvou architekturu: Cloudflare, React SPA (Vite) a vlastní REST backend – nejedná se o WooCommerce, Shopify ani WordPress headless. První načtení stránky závisí na JavaScriptu, což přináší riziko pomalého LCP a soft 404 chyb pro vyhledávače.
E‑shop používá třívrstvou architekturu: Cloudflare, React SPA (Vite) a vlastní REST backend – nejedná se o WooCommerce, Shopify ani WordPress headless.
První načtení stránky závisí na JavaScriptu, což přináší riziko pomalého LCP a soft 404 chyb pro vyhledávače.
API a datový model vykazují znaky ne zcela čistého návrhu (duplicitní pole, nekonzistentní názvy variant, stock na úrovni produktu místo varianty).
Vlastní home page builder je flexibilní, ale trpí potenciálními nekonzistencemi mezi pořadím, přepínači a daty.
Bạn là bộ NÃO LẬP KẾ HOẠCH của một code agentAI-generated editorial hero image for Bạn là bộ NÃO LẬP KẾ HOẠCH của một code agent. Bạn không trực tiếp truy cập máy; ENGINE sẽ thực thi đúng một lệnh JSON bạn in ra và trả kết.
AI Prompt
Create a landscape editorial hero image for this Studio Global article: Bạn là bộ NÃO LẬP KẾ HOẠCH của một code agent. Bạn không trực tiếp truy cập máy; ENGINE sẽ thực thi đúng một lệnh JSON bạn in ra và trả kết. Article summary: {"tool":"write","args":{"path":"PHAN TICH KIEN TRUC ECOMMERCE.md","content":" Phân tích kiến trúc và hướng viết lại nền tảng e commerce\n\n Phạm vi và mức độ chắc chắn\n\nBáo cáo này phân biệt rõ ba loại kết luận:\n\n Dữ. Topic tags: general web, workflow, code, python, javascript. Style: premium digital editorial illustration, source-backed research mood, clean composition, high detail, modern web publication hero. Use reference image context only for broad subject, composition, and topical grounding; do not copy the exact image. Avoid: logos, brand marks, copyrighted characters, real person likenesses, fake screenshots, UI text, readable text, watermarks, char
openai.com
Úvod
Tento článek přináší podrobnou analýzu architektury existujícího e‑commerce řešení. Nejde o pouhý popis, ale o oddělení pozorovaných faktů (např. použití React/Vite, REST API, Cloudflare) od technických dedukcí (např. způsob, jakým by spolu mohly jednotlivé moduly komunikovat) a doporučení pro budoucí vývoj. Analyzovaný web není postaven na WooCommerce, Shopify ani WordPress headless – jedná se o vlastní řešení.
Jak to funguje: Třívrstvá architektura
Web je postaven na třech hlavních vrstvách:
Cloudflare/CDN – zpracovává požadavky, doručuje statické soubory a směřuje dynamické dotazy na origin server.
Studio Global AI
Continue your research
This page includes a source-backed answer you can continue inside Studio Global.
What is the short answer to "Analýza a přepis architektury e‑commerce: Odhalení skryté struktury"?
E‑shop používá třívrstvou architekturu: Cloudflare, React SPA (Vite) a vlastní REST backend – nejedná se o WooCommerce, Shopify ani WordPress headless.
What are the key points to validate first?
E‑shop používá třívrstvou architekturu: Cloudflare, React SPA (Vite) a vlastní REST backend – nejedná se o WooCommerce, Shopify ani WordPress headless. První načtení stránky závisí na JavaScriptu, což přináší riziko pomalého LCP a soft 404 chyb pro vyhledávače.
What should I do next in practice?
API a datový model vykazují znaky ne zcela čistého návrhu (duplicitní pole, nekonzistentní názvy variant, stock na úrovni produktu místo varianty).
Analýza a přepis architektury e‑commerce: Odhalení skryté struktury
E‑shop používá třívrstvou architekturu: Cloudflare, React SPA (Vite) a vlastní REST backend – nejedná se o WooCommerce, Shopify ani WordPress headless. První načtení stránky závisí na JavaScriptu, což přináší riziko pomalého LCP a soft 404 chyb pro vyhledávače.
E‑shop používá třívrstvou architekturu: Cloudflare, React SPA (Vite) a vlastní REST backend – nejedná se o WooCommerce, Shopify ani WordPress headless.
První načtení stránky závisí na JavaScriptu, což přináší riziko pomalého LCP a soft 404 chyb pro vyhledávače.
API a datový model vykazují znaky ne zcela čistého návrhu (duplicitní pole, nekonzistentní názvy variant, stock na úrovni produktu místo varianty).
Vlastní home page builder je flexibilní, ale trpí potenciálními nekonzistencemi mezi pořadím, přepínači a daty.
Bạn là bộ NÃO LẬP KẾ HOẠCH của một code agentAI-generated editorial hero image for Bạn là bộ NÃO LẬP KẾ HOẠCH của một code agent. Bạn không trực tiếp truy cập máy; ENGINE sẽ thực thi đúng một lệnh JSON bạn in ra và trả kết.
AI Prompt
Create a landscape editorial hero image for this Studio Global article: Bạn là bộ NÃO LẬP KẾ HOẠCH của một code agent. Bạn không trực tiếp truy cập máy; ENGINE sẽ thực thi đúng một lệnh JSON bạn in ra và trả kết. Article summary: {"tool":"write","args":{"path":"PHAN TICH KIEN TRUC ECOMMERCE.md","content":" Phân tích kiến trúc và hướng viết lại nền tảng e commerce\n\n Phạm vi và mức độ chắc chắn\n\nBáo cáo này phân biệt rõ ba loại kết luận:\n\n Dữ. Topic tags: general web, workflow, code, python, javascript. Style: premium digital editorial illustration, source-backed research mood, clean composition, high detail, modern web publication hero. Use reference image context only for broad subject, composition, and topical grounding; do not copy the exact image. Avoid: logos, brand marks, copyrighted characters, real person likenesses, fake screenshots, UI text, readable text, watermarks, char
openai.com
Úvod
Tento článek přináší podrobnou analýzu architektury existujícího e‑commerce řešení. Nejde o pouhý popis, ale o oddělení pozorovaných faktů (např. použití React/Vite, REST API, Cloudflare) od technických dedukcí (např. způsob, jakým by spolu mohly jednotlivé moduly komunikovat) a doporučení pro budoucí vývoj. Analyzovaný web není postaven na WooCommerce, Shopify ani WordPress headless – jedná se o vlastní řešení.
Jak to funguje: Třívrstvá architektura
Web je postaven na třech hlavních vrstvách:
Cloudflare/CDN – zpracovává požadavky, doručuje statické soubory a směřuje dynamické dotazy na origin server.
Studio Global AI
Continue your research
This page includes a source-backed answer you can continue inside Studio Global.
What is the short answer to "Analýza a přepis architektury e‑commerce: Odhalení skryté struktury"?
E‑shop používá třívrstvou architekturu: Cloudflare, React SPA (Vite) a vlastní REST backend – nejedná se o WooCommerce, Shopify ani WordPress headless.
What are the key points to validate first?
E‑shop používá třívrstvou architekturu: Cloudflare, React SPA (Vite) a vlastní REST backend – nejedná se o WooCommerce, Shopify ani WordPress headless. První načtení stránky závisí na JavaScriptu, což přináší riziko pomalého LCP a soft 404 chyb pro vyhledávače.
What should I do next in practice?
API a datový model vykazují znaky ne zcela čistého návrhu (duplicitní pole, nekonzistentní názvy variant, stock na úrovni produktu místo varianty).
React SPA (Vite) – stará se o vykreslování uživatelského rozhraní v prohlížeči.
Vlastní REST backend – poskytuje data o katalogu, CMS, nastavení obchodu a zpracovává operace jako kupóny, platby (PayPal), kontaktní formuláře, novinky, recenze a sledování.
První načtení a navigace
Při prvním načtení libovolné adresy (/, /shop, /product/<slug>) server vrací stejnou „skořápku“ aplikace s prázdným <div id="root"> a JavaScriptovými soubory. Tyto soubory mají v názvu hash, což umožňuje jejich dlouhodobé cachování. Po jejich stažení a spuštění React inicializuje router, který podle URL vybere správnou stránku. Ta si pak může data načíst z API nebo použít již předpřipravená data z window.__INITIAL_DATA__.
Důležité upozornění: Pokud HTML obsahuje pouze JSON a prázdný root, jedná se o CSR (Client-Side Rendering), nikoli o SSR. Skutečné SSR poznáte podle toho, že v HTML kódu jsou již obsaženy všechny informace o produktu (název, cena, popis) ještě před spuštěním JavaScriptu. To má zásadní vliv na SEO.
Datový model a API
API je navrženo tak, aby katalog nebyl pevně zabudovaný v kódu frontendu. To je výhoda – změna ceny nebo obrázku nevyžaduje nový build. Například:
GET /api/products?limit=500&active=1 – seznam aktivních produktů.
GET /api/products?q=... – vyhledávání.
GET /api/products/<slug> – detail produktu.
GET /api/products/categories – kategorie.
Varovným signálem je limit=500. To naznačuje, že API je navrženo pro menší katalog. Pro tisíce položek by to vedlo k přetížení. Nový systém by měl používat kurzorové stránkování.
Problémy datového modelu
Analýza odhalila několik nekonzistencí:
Duplicitní data: Existují pole image i images, ann i announcement.
Nekonzistentní varianty: Hodnoty jako XXL a 2XL, ink navy a Ink Navy.
Nesprávné umístění skladu: Skladové zásoby (stock) jsou uvedeny na úrovni produktu, nikoli varianty (např. černá velikost M vs. černá velikost L).
Tyto problémy vedou k chybám v řízení zásob, filtrování a analýze dat. Nový systém by měl standardizovat názvy variant a přesunout SKU a zásoby na úroveň variant.
Porovnání s WooCommerce
Kritérium
Současný React/REST
WooCommerce
Doporučený hybrid (SSR/ISR)
UI a brand
Velmi flexibilní
Závislé na šabloně
Velmi flexibilní
SEO
Rizikové (CSR)
Dobré (HTML ze serveru)
Dobré, pokud je metadata v pořádku
Navigace
Rychlá uvnitř SPA
Tradiční (celé načtení stránky)
Rychlá s vylepšením
První zobrazení
Zpoždění kvůli JS/API
Okamžité HTML
Okamžité HTML, postupná hydratace
Administrace
Nutno vytvořit
Vyspělá
Nutno vytvořit
Údržba
Vysoké nároky na vývoj
Závislost na aktualizacích pluginů
Vysoké, ale lepší architektura
Škálování
Dobré pro více kanálů
Vyžaduje REST/vrstvu navíc
Dobré
Pro 16 produktů
Možná zbytečně složité
Velmi vhodné
Vhodné, pokud to ospravedlňuje značka/plán
Co je třeba zlepšit
Změnit strategii vykreslování: Opustit čisté CSR. Google považuje dynamický rendering (pro bota) pouze za provizorní řešení a nedoporučuje ho . Místo toho použít SSR (Server-Side Rendering) nebo ISR (Incremental Static Regeneration), např. pomocí Next.js nebo Remix. To zajistí, že bude HTML obsahovat veškerý důležitý obsah ihned.
Vyčistit datový model: Sjednotit názvy polí, standardizovat varianty a přesunout zásoby na úroveň SKU.
Zlepšit bezpečnost: Server nesmí nikdy věřit datům (např. ceně) zaslaným z prohlížeče. Všechny výpočty musí probíhat na serveru.
Optimalizovat první načtení: Zabránit „waterfall“ volání API (např. nejprve načíst nastavení, pak home-page, pak layout, pak produkty). Všechna data by se měla načítat paralelně nebo být součástí bootstrappingu.
Implementovat správné HTTP stavové kódy: Nevracet HTTP 200 pro neexistující stránky (soft 404).
Doporučení pro nový zdrojový kód
Frontend: Next.js App Router (nebo Remix) s TypeScriptem.
Frontendový stack: Tailwind CSS nebo CSS Modules, TanStack Query pouze pro data, která se musí obnovovat na klientovi.
Závěr
Současná architektura e‑shopu je vlastní a v mnoha ohledech dobře navržená (např. oddělení frontendu od backendu, flexibilní builder stránek). Její největší slabinou je čistě klientské vykreslování (CSR), které negativně ovlivňuje SEO a rychlost prvního načtení. Nový systém by si měl zachovat všechny výhody vlastního řešení, ale přejít na hybridní model s podporou SSR/ISR. Přechod na WooCommerce se v tomto případě nedoporučuje, protože vlastní builder a brandové UI jsou klíčovou konkurenční výhodou.
fuelonline.com
JavaScript SEO: How To Make SPAs & Dynamic Sites Crawlable ...
React SPA (Vite) – stará se o vykreslování uživatelského rozhraní v prohlížeči.
Vlastní REST backend – poskytuje data o katalogu, CMS, nastavení obchodu a zpracovává operace jako kupóny, platby (PayPal), kontaktní formuláře, novinky, recenze a sledování.
První načtení a navigace
Při prvním načtení libovolné adresy (/, /shop, /product/<slug>) server vrací stejnou „skořápku“ aplikace s prázdným <div id="root"> a JavaScriptovými soubory. Tyto soubory mají v názvu hash, což umožňuje jejich dlouhodobé cachování. Po jejich stažení a spuštění React inicializuje router, který podle URL vybere správnou stránku. Ta si pak může data načíst z API nebo použít již předpřipravená data z window.__INITIAL_DATA__.
Důležité upozornění: Pokud HTML obsahuje pouze JSON a prázdný root, jedná se o CSR (Client-Side Rendering), nikoli o SSR. Skutečné SSR poznáte podle toho, že v HTML kódu jsou již obsaženy všechny informace o produktu (název, cena, popis) ještě před spuštěním JavaScriptu. To má zásadní vliv na SEO.
Datový model a API
API je navrženo tak, aby katalog nebyl pevně zabudovaný v kódu frontendu. To je výhoda – změna ceny nebo obrázku nevyžaduje nový build. Například:
GET /api/products?limit=500&active=1 – seznam aktivních produktů.
GET /api/products?q=... – vyhledávání.
GET /api/products/<slug> – detail produktu.
GET /api/products/categories – kategorie.
Varovným signálem je limit=500. To naznačuje, že API je navrženo pro menší katalog. Pro tisíce položek by to vedlo k přetížení. Nový systém by měl používat kurzorové stránkování.
Problémy datového modelu
Analýza odhalila několik nekonzistencí:
Duplicitní data: Existují pole image i images, ann i announcement.
Nekonzistentní varianty: Hodnoty jako XXL a 2XL, ink navy a Ink Navy.
Nesprávné umístění skladu: Skladové zásoby (stock) jsou uvedeny na úrovni produktu, nikoli varianty (např. černá velikost M vs. černá velikost L).
Tyto problémy vedou k chybám v řízení zásob, filtrování a analýze dat. Nový systém by měl standardizovat názvy variant a přesunout SKU a zásoby na úroveň variant.
Porovnání s WooCommerce
Kritérium
Současný React/REST
WooCommerce
Doporučený hybrid (SSR/ISR)
UI a brand
Velmi flexibilní
Závislé na šabloně
Velmi flexibilní
SEO
Rizikové (CSR)
Dobré (HTML ze serveru)
Dobré, pokud je metadata v pořádku
Navigace
Rychlá uvnitř SPA
Tradiční (celé načtení stránky)
Rychlá s vylepšením
První zobrazení
Zpoždění kvůli JS/API
Okamžité HTML
Okamžité HTML, postupná hydratace
Administrace
Nutno vytvořit
Vyspělá
Nutno vytvořit
Údržba
Vysoké nároky na vývoj
Závislost na aktualizacích pluginů
Vysoké, ale lepší architektura
Škálování
Dobré pro více kanálů
Vyžaduje REST/vrstvu navíc
Dobré
Pro 16 produktů
Možná zbytečně složité
Velmi vhodné
Vhodné, pokud to ospravedlňuje značka/plán
Co je třeba zlepšit
Změnit strategii vykreslování: Opustit čisté CSR. Google považuje dynamický rendering (pro bota) pouze za provizorní řešení a nedoporučuje ho . Místo toho použít SSR (Server-Side Rendering) nebo ISR (Incremental Static Regeneration), např. pomocí Next.js nebo Remix. To zajistí, že bude HTML obsahovat veškerý důležitý obsah ihned.
Vyčistit datový model: Sjednotit názvy polí, standardizovat varianty a přesunout zásoby na úroveň SKU.
Zlepšit bezpečnost: Server nesmí nikdy věřit datům (např. ceně) zaslaným z prohlížeče. Všechny výpočty musí probíhat na serveru.
Optimalizovat první načtení: Zabránit „waterfall“ volání API (např. nejprve načíst nastavení, pak home-page, pak layout, pak produkty). Všechna data by se měla načítat paralelně nebo být součástí bootstrappingu.
Implementovat správné HTTP stavové kódy: Nevracet HTTP 200 pro neexistující stránky (soft 404).
Doporučení pro nový zdrojový kód
Frontend: Next.js App Router (nebo Remix) s TypeScriptem.
Frontendový stack: Tailwind CSS nebo CSS Modules, TanStack Query pouze pro data, která se musí obnovovat na klientovi.
Závěr
Současná architektura e‑shopu je vlastní a v mnoha ohledech dobře navržená (např. oddělení frontendu od backendu, flexibilní builder stránek). Její největší slabinou je čistě klientské vykreslování (CSR), které negativně ovlivňuje SEO a rychlost prvního načtení. Nový systém by si měl zachovat všechny výhody vlastního řešení, ale přejít na hybridní model s podporou SSR/ISR. Přechod na WooCommerce se v tomto případě nedoporučuje, protože vlastní builder a brandové UI jsou klíčovou konkurenční výhodou.
fuelonline.com
JavaScript SEO: How To Make SPAs & Dynamic Sites Crawlable ...