June 2026
Why I Stopped Using Next.js for Croatian Content Sites
Why one developer abandoned Next.js for Croatian content sites and found better performance at lower cost
I’ve built dozens of content sites over the years, and for a long time Next.js was my default choice. But after launching several Croatian-language projects—from local news aggregators to niche hobby blogs—I started noticing patterns that made me question that decision. The framework’s strengths in English-speaking markets don’t always translate well to smaller, language-specific audiences, and the costs began to outweigh the benefits.
The Promise vs. The Reality for Croatian Content
Next.js markets itself as the ultimate solution for fast, SEO-friendly websites. Static site generation (SSG) gives you pre-built HTML, incremental static regeneration (ISR) keeps content fresh, and server-side rendering (SSR) handles dynamic pages. On paper, it’s perfect for a content site that needs to rank well on Google.
In practice, running a Croatian content site on Next.js introduced friction I hadn’t anticipated. The first issue was build times. My site had around 2,000 articles, each with Croatian diacritics and localized metadata. Every time I added a new post, the static regeneration process would revalidate hundreds of pages, often taking several minutes. For a site that publishes daily news, that delay is unacceptable—readers expect updates within seconds, not after a coffee break.
The Cost of Hydration
Next.js is a React framework, which means every page ships JavaScript to the browser even if the content is mostly static. For an English-language site with a global audience, that’s manageable. But for a Croatian site where the average reader might be on a mid-range smartphone with a slower connection, the extra kilobytes of JavaScript matter. I saw bounce rates spike on pages that took more than three seconds to become interactive.
I measured this on one of my own sites: a Croatian travel blog. The initial HTML loaded quickly—around 1.2 seconds—but the time to interactive was over four seconds. That’s because React had to hydrate all the components, including a heavy navigation menu and a comments section. For a simple article about hiking in Plitvice, the user didn’t need that complexity.
SEO Issues Specific to Croatian Content
Search engine optimization for a small language market like Croatian has quirks that Next.js doesn’t handle gracefully. Google’s algorithm places extra weight on page speed and core web vitals, but it also penalizes sites that serve different content to crawlers versus users. Next.js’s dynamic rendering can sometimes blur that line.
The Crawl Budget Problem
Croatian content sites rarely have the domain authority of larger English competitors. That means Googlebot allocates a smaller crawl budget—fewer pages it will check per visit. If your Next.js site generates thousands of URLs through dynamic routes (e.g., /clanak/[slug]), the crawler might waste its limited budget on redirects or slow responses.
I once had a Croatian news site where Google indexed only 40% of the articles after three months. The issue wasn’t content quality—it was that Next.js’s server-side rendering was returning 500 errors for some older posts during peak traffic, and the crawler gave up. Switching to a simpler static generator fixed that overnight.
The Hidden Maintenance Burden
Next.js is a moving target. The framework updates frequently, and each major version introduces breaking changes. For a Croatian content site with a small team—often just one developer or a hobbyist—keeping up with these updates is a drain on time.
Localization and Internationalization
Next.js offers built-in i18n support, but it’s designed for sites with multiple languages. A Croatian-only site doesn’t need that complexity. I found myself configuring locale detection, URL prefixes, and fallback logic that I never used. The extra configuration added boilerplate to every page, making the codebase harder to maintain.
Worse, the i18n routing sometimes interfered with Croatian-specific URL patterns. For example, I wanted clean URLs like /recepti/domaca-tjestenina but Next.js insisted on adding a /hr prefix because I had set Croatian as the default locale. Removing it required a custom middleware hack that broke on the next update.
The Alternative That Works Better
After months of frustration, I migrated my Croatian content sites to a simpler stack: a static site generator paired with a lightweight frontend framework. The results were immediate.
Static Site Generators Without the Complexity
I switched to Astro for one project and plain Hugo for another. Both generate pure HTML with zero JavaScript by default. For a Croatian travel blog, the time to interactive dropped from four seconds to under one second. The build times also improved—Hugo can generate 2,000 pages in under 30 seconds, compared to Next.js’s several minutes.
The trade-off is that you lose some dynamic features. But for a content site, that’s often a feature, not a bug. No hydration, no client-side routing, no serverless functions to debug. Just HTML files that load instantly.
A Concrete Example
Let me share a real story. I run a small Croatian recipe site called “Kuhinja iz Dvorišta.” It started on Next.js with ISR. Every time I added a new recipe for sarma or burek, the site would regenerate hundreds of pages, and the build process would sometimes fail because of memory limits on the free Vercel tier. I moved it to Hugo hosted on a cheap VPS. Now, I write a markdown file, run a build command, and the site updates in seconds. Traffic grew by 30% in the first month because pages loaded faster, and Google started ranking my recipes higher.
The Practical Takeaway
If you’re building a content site for a Croatian audience, think carefully before reaching for Next.js. Evaluate your actual needs: do you need real-time updates, complex user interactions, or a global user base? For most local content sites, the answer is no. A static site generator like Astro, Hugo, or even plain Jekyll will serve your readers better, cost less to run, and save you hours of maintenance.
The web is moving toward simpler, faster solutions. For Croatian content, that’s not a step backward—it’s a smart move that prioritizes your readers over developer convenience. Next.js will still be there if you ever build something truly dynamic. Until then, your audience will thank you for a site that loads before they finish reading the headline.