Vygenerování statických HTML stránek z Reactu (SEO)

Mám webovou stránku s React.js, kde tato obsahuje "produkty" podobně jako třeba Eshop, a kvůli zlepšení SEO v search engines jako je Seznam.cz uvažuju o pravidelném generování statické HTML stránky pro každý produkt.

Můj plán je, že všechny pages, které chci předgenerovat, budu mít v sitemap.xml, a přes robots.txt pro pořádek zakážu crawlerům přístup všude tam, kde není daná page zmíněna v sitemap.xml.

Chatgpt říká, že na to je nejlepší použít Puppeteer, což používá Chromium podobně jako Playwright a je to od Google.

Playwright momentálně používám na testy, ale Chatgpt říká, že na můj případ vygenerování statických HTML je nej ten Puppeteer.

Tak se chci zeptat, co byste doporučili.

Díky.
Od roku 2005 se zabývám SW Vývojem, načež od roku 2015 je to i mé povolání. Specializuji se na Javu, a v posledních letech i na Python a intranetové aplikace v Reactu. Delám v AWS Cloudu.


Re:Vygenerování statických html stránek z Reactu (SEO)
« Odpověď #1 kdy: Dnes v 08:19:15 »
Puppeteer ani nic podobného založeného na renderování v prohlížeči určitě ne.

Na tohle má podporu spousta Reactových frameworků a vlastně i sám React. Říká se tomu SSG (Static Site Generation). Případně pokud vám jde o SEO a není nutné mít předem vygenerované statické stránky, tj. stačí online na serveru vygenerovat HTML, můžete použít s Reactem Server Side Rendering (SSR).

Záleží pak na frameworku, který používáte. Next.js byl z velkých frameworků pro React první, který SSG a SSR nabízel, ale minimálně jedno z toho nabízí i spousta jiných frameworků (TanStack, React Router, Lume, existují i pluginy pro Vite, abyste si to mohl implementovat sám).

Re:Vygenerování statických HTML stránek z Reactu (SEO)
« Odpověď #2 kdy: Dnes v 11:13:27 »
A to hlavní, k té stránce máš přístup nebo jsi divák pro tu stránku? Já bych potřeboval poradit s tím druhým

Re:Vygenerování statických HTML stránek z Reactu (SEO)
« Odpověď #3 kdy: Dnes v 12:09:22 »
Prevedl bych si to do Nextu
Děkuji za možnost editace příspěvku.