Muhammed Shibli

Web · Business

Next.js for Indian Business Websites: Is It Overkill?

· by Muhammed Shibli

Next.js is genuinely overkill for a lot of Indian business websites, and I say that as someone who builds sites in it, including this one. The honest answer to "should my business use Next.js" depends entirely on what the site needs to do, not on what's currently trending in web development circles.

The question I get from almost every Indian business owner

It usually comes wrapped in something like "my nephew said Next.js is what real companies use" or "I saw a competitor's site is fast, what framework is that." Neither question is really about Next.js specifically — it's about wanting a site that loads fast, looks credible, and doesn't feel like it's stuck in 2015. Next.js can deliver that, but so can several simpler options, and the framework choice matters far less than most business owners assume.

When Next.js is genuinely overkill

A five-to-ten-page site for a local shop, a service business, or a small institute, with content that changes rarely and no real interactivity beyond a contact form, doesn't need a React framework with server components, routing conventions, and a build pipeline. This is squarely WordPress-or-simpler territory, especially if the business owner (or their staff) needs to edit text and images themselves without calling a developer every time. I've had clients come to me wanting a Next.js site who, once I actually understood what they needed, were better served by something they could maintain on their own — and telling them that costs me a slightly smaller invoice and earns a client who trusts my advice next time.

When it's actually the right call

Next.js earns its complexity when a site has real reasons to need a proper framework: a blog or content section where good SEO infrastructure (proper metadata, sitemaps, structured data) genuinely matters for organic traffic, interactive features beyond a static page, or a roadmap that includes booking, payments, or an account system down the line. It also makes sense when performance is a genuine competitive factor — a business whose site needs to load fast on patchy mobile networks across India benefits from Next.js's static generation and image optimization defaults in a way a heavier WordPress setup with a dozen plugins often can't match.

This site is a working example of the "yes, use it" case: a personal brand site with a blog, case studies, and structured data for search and AI-answer-engine visibility, fully statically exported so it loads fast and costs almost nothing to host.

Hosting cost comparison: Vercel vs a VPS

Vercel's free tier covers a genuinely useful amount of traffic for a small business site, deploys directly from a git push, and handles HTTPS and CDN distribution without any configuration. For a lot of small sites, this is the right default — it's convenient, and the cost stays at zero until traffic grows meaningfully.

The alternative I use for a lot of client sites, including this one, is a VPS running nginx as a static file server, sometimes alongside other services the client already runs. This makes sense when a business already has a VPS for other purposes (a Telegram bot, a backend API) and consolidating hosting is simpler than managing accounts across multiple platforms, or when predictable flat hosting cost matters more than Vercel's generous-but-scaling pricing at higher traffic. Neither option is objectively better — it's a question of what else the business already runs and how much they want managed for them versus controlled directly.

What forms and payments actually need

A fully static export — no server rendering at request time — has no backend to process a contact form submission or verify a payment server-side. This isn't a Next.js limitation specifically; it's what "static" means. The fix is scoping exactly what needs a server and keeping everything else static: a single serverless function on Vercel, or one small backend endpoint on a VPS, handling just the form submission or payment webhook, while the rest of the site — the pages, the blog, the case studies — stays pre-built and fast.

For payments specifically, Razorpay is the practical default for almost any Indian business — UPI support alone makes it the natural fit for how Indian customers actually want to pay, and the checkout integration with Next.js is well-trodden ground. Stripe makes more sense for a business genuinely serving an international, card-paying customer base; for a business selling mainly to Indian customers, defaulting to Stripe because it's more internationally known is usually the wrong call.

The migration question I get a lot

A common variant of this question: "we already have a WordPress site, should we move to Next.js?" My honest answer is almost always no, unless the current site is genuinely causing a problem — bad performance the owner can point to, a specific feature WordPress can't reasonably support, or a redesign already planned for other reasons that makes it a natural point to reconsider the stack. Migrating a working site purely to be on a more modern framework is spending budget on an invisible improvement; the customers browsing the site don't know or care what it's built in, they care whether it loads fast and looks credible. I'd rather spend that budget on something a customer actually notices.

What I actually recommend by business size

For a local shop or single-location service business with content that rarely changes: something simpler than Next.js, ideally something the owner can edit themselves. For a growing business with a blog, real SEO ambitions, or a roadmap toward bookings and payments: Next.js, built statically where possible with small serverless or backend endpoints for the interactive pieces, exactly the shape of this site and how I build for clients in that position. For a business already running other services on a VPS: Next.js hosted alongside them on the same server, consolidating infrastructure instead of scattering it across platforms.

If you're not sure which category your business is in, that's a five-minute conversation, not something you need to guess at from a framework's marketing page — see full stack development for how I scope web projects, or message me on WhatsApp with what your site needs to do.

Frequently asked questions

Do I need Next.js for a simple business website?

Usually not. A five-page site for a local shop or service business is often better served by a simpler static site builder, or even a well-built WordPress site if the owner needs to edit content themselves without a developer. Next.js earns its complexity when there's real interactivity, a blog that needs good SEO infrastructure, or a plan to add features like booking or payments later.

Is Vercel free tier enough to host a business site?

For low-to-moderate traffic, yes, and it's genuinely convenient — push to deploy, automatic HTTPS, good performance defaults. Where it stops being the obvious choice is cost predictability at higher traffic or when a business already has other services on a VPS and wants everything in one place rather than spread across platforms.

Can a static Next.js export handle a contact form or payments?

Not directly — a fully static export has no server to process form submissions or verify payments server-side. The usual fix is a small serverless function (on Vercel) or a lightweight backend endpoint (on a VPS) handling just that piece, while the rest of the site stays static. This site itself is built exactly that way.

Should an Indian business use Razorpay or Stripe with Next.js?

Razorpay, for almost every Indian business — UPI support alone makes it the practical default for domestic customers, and the checkout flow is well-documented for Next.js integration. Stripe makes more sense if the business genuinely serves an international customer base with cards as the primary payment method, but for a business selling mainly to Indian customers, Razorpay's UPI-first design matches how people actually want to pay.

Related reading

Keep going