What happens to my Strapi content if Croct is unreachable?
A big share of our users are on slow mobile connections in Nairobi. Our content comes from Strapi and I am evaluating adding personalization on top, but I do not want to put a network dependency in front of content that works fine today.
What is the actual failure behavior? If the personalization request times out or fails, does the page hang, show nothing, or fall back to the Strapi content? And what are the default timeouts
1 answer
Fault tolerance is part of the model: your existing Strapi content stays as the default fallback, so an unreachable personalization service means visitors get exactly what they get today, not a broken page.
Both fetch in the JS SDK and useContent in React accept a fallback option, and with plain JS you can also catch and fall back yourself:
const {content} = await croct .fetch('home-hero') .catch(() => ({content: strapiHero}));On timeouts: defaultFetchTimeout is 5000ms in the JS SDK and 2000ms in the Next.js SDK, and both are configurable, so for a slow-connection audience you can tune it down further. The page never hangs waiting indefinitely; worst case is the timeout elapsing and the fallback rendering. I would just make sure the fallback you pass is the same Strapi data you already have in hand, then the failure mode is literally your current site.