Next.js SEO That Actually Works for Indian Businesses
← Back to blog
seonextjsindia

Next.js SEO That Actually Works for Indian Businesses

18 April 20267 min read

Most Next.js SEO advice you'll find is written for US or European audiences. It tells you to chase 100 Lighthouse scores on iPhone 14s on fiber. That's not the country we're optimizing for.

The Indian user is on a mid-tier Android, on a 4G connection that drops to 3G in elevators, searching in a mix of English and Hindi, and increasingly getting answers from AI overviews instead of clicking blue links. If you build a Next.js site for an Indian business and skip the India-specific work, you will rank for about us and nothing else.

This is the playbook I use for Next.js sites targeting Indian audiences in 2026.

1. App Router metadata done right

The Next.js App Router gives you a real metadata API. Use it properly per route, not just globally.

// app/services/web-development/page.jsx
export const metadata = {
  title: "Web Development Services in Kota, India",
  description:
    "Full stack web development for Indian businesses — Next.js, React and Node.js, built for speed and on-page SEO.",
  alternates: { canonical: "/services/web-development" },
  openGraph: {
    locale: "en_IN",
    alternateLocale: ["en_US"],
    images: [{ url: "/og/web-dev.png", width: 1200, height: 630 }],
  },
}

Three Indian-specific details:

  • locale: "en_IN" — tells Google your primary audience is English-speaking India.
  • alternateLocale: ["en_US"] if you also serve foreign clients.
  • A canonical URL per page. Indian sites notoriously create duplicate URLs through tracking parameters and trailing slashes — kill that with explicit canonicals.

2. LocalBusiness schema is non-optional

Google's Indian local pack is dominated by sites with structured data. Add LocalBusiness (or a more specific subtype like ProfessionalService) JSON-LD with your city, state and coordinates.

const localBusinessJsonLd = {
  "@context": "https://schema.org",
  "@type": "ProfessionalService",
  name: "Your Business",
  address: {
    "@type": "PostalAddress",
    addressLocality: "Kota",
    addressRegion: "Rajasthan",
    addressCountry: "IN",
  },
  geo: { "@type": "GeoCoordinates", latitude: 25.2138, longitude: 75.8648 },
  areaServed: [
    { "@type": "Country", name: "India" },
    { "@type": "City", name: "Kota" },
  ],
}

If you serve clients outside India, add those countries to areaServed too — it's a quiet signal that affects "[service] for hire" searches in those markets.

3. Core Web Vitals on Indian 4G

The median Indian mobile user is on a mid-tier Android with 4G that real-world delivers 8–25 Mbps with 30–80ms latency. Two metrics matter most for ranking:

LCP (target: under 2.5 seconds). Your hero image is almost always the LCP element. Three rules:

  • Always use next/image with priority for the hero image only.
  • Serve AVIF + WebP via Next's automatic format negotiation.
  • Set explicit sizes so the browser downloads the right resolution. Don't leave it to chance.
<Image
  src="/hero.jpg"
  alt="..."
  width={1600}
  height={900}
  priority
  sizes="(max-width: 768px) 100vw, 1200px"
/>

INP (target: under 200ms). This replaced FID in March 2024 and Indian users get hit harder because their devices are slower. Audit:

  • Long-running JavaScript on tap. Defer non-critical scripts with next/script strategy="lazyOnload".
  • Heavy state updates on input. Debounce or move to a transition.
  • Animation libraries that block the main thread (older versions of AOS, Lottie). Replace with GSAP or Framer Motion which use rAF correctly.

4. Hinglish keyword research

Google Keyword Planner is blind to how Indians actually search. Real queries look like:

  • web developer kota near me
  • next js developer hire india
  • affordable web developer for small business india
  • ecommerce website kaise banaye nextjs

You'll find these in Google Search Console's Performance report — filter your queries by impressions, sort by position, and you'll see the long tail Google already shows your site for. Optimize those queries first; they're free wins.

For new sites, use:

  • Google autosuggest — type your seed keyword and Tab through the suggestions.
  • People Also Ask boxes in actual SERPs.
  • AnswerThePublic for question-style queries.

5. Sitemap, robots and indexing

The Next.js App Router makes these trivial. Use them properly:

// app/sitemap.js
import { getAllPosts } from "@/lib/blog"
const SITE_URL = "https://yoursite.com"

export default function sitemap() {
  return [
    { url: `${SITE_URL}/`, lastModified: new Date(), priority: 1.0 },
    { url: `${SITE_URL}/blog`, lastModified: new Date(), priority: 0.8 },
    ...getAllPosts().map((p) => ({
      url: `${SITE_URL}/blog/${p.slug}`,
      lastModified: p.date ? new Date(p.date) : new Date(),
      priority: 0.7,
    })),
  ]
}

Two common mistakes:

  • Including in-page anchors (/#contact) in the sitemap. They're not URLs.
  • Setting every page to priority: 1.0. Priority is relative. Homepage 1.0, key landing pages 0.8, blog posts 0.6–0.7.

Submit the sitemap to Google Search Console and Bing Webmaster Tools. Bing's market share in India is small but Microsoft Copilot uses Bing's index — that's where your AI search visibility comes from.

6. Generative Engine Optimization (GEO)

In 2026, between Google AI Overviews, ChatGPT browse, and Perplexity, a meaningful chunk of Indian users get their first answer without clicking a link. To get cited:

  • Add an llms.txt file at the root. It's a short Markdown summary of your site for LLM crawlers. Specified at llmstxt.org.
  • Write long-form, citable passages. AI engines cite specific paragraphs, not whole pages. Make each H2 section answer a discrete question in 2–4 paragraphs.
  • Add FAQPage JSON-LD. Google no longer shows FAQ rich results for non-government/non-healthcare sites, but AI engines still parse them as structured Q&A.
  • Make sure your site renders without JavaScript. Many AI crawlers don't execute JS. Server-render anything that matters for ranking.

You can test this by curling your page with no User-Agent and reading the raw HTML. If your H1 and main content aren't there, fix it.

7. Indian-specific technical gotchas

  • Hostname strategy. Prefer .in or .com over .co.in. Google treats .in as India-targeted by default in Search Console.
  • Hreflang only if you have real translations. Don't add hreflang tags pointing to non-existent pages — Google will deindex them.
  • CDN regions. Vercel and Cloudflare both have Mumbai PoPs. Make sure your hosting is using them — round-trip latency from a Kota user to a US-east origin is brutal.
  • Hindi content. If you publish in Hindi, set lang="hi" on the <html> element of those pages and use Devanagari Unicode, not romanized Hindi. Google indexes them differently.

8. Measure what matters

Set up these four free tools on day one:

  1. Google Search Console — your source of truth for queries, impressions and indexation.
  2. Bing Webmaster Tools — for IndexNow and Copilot visibility.
  3. PageSpeed Insights / CrUX — real-user CWV data, segmented by mobile vs desktop.
  4. Vercel Speed Insights or Plausible — for behavior-level analytics that don't tank your CWV the way GA4 does.

Check Search Console weekly. The single highest-leverage SEO activity for a small Indian business site is finding queries where you're ranking position 8–15 and optimizing the page to push them to position 1–5.

Putting it together

Four steps in order of leverage:

  1. Fix Core Web Vitals on mobile 4G (LCP and INP).
  2. Add LocalBusiness JSON-LD with addressCountry: "IN" and areaServed.
  3. Find the queries you already rank for in GSC and write one focused long-form post per high-intent query.
  4. Add llms.txt and FAQPage schema for AI search visibility.

Do those four and you'll be ahead of 90% of Indian business websites.


Looking to apply this to your own site? I work with Indian businesses on Next.js builds and SEO retainers — get in touch or hire a full stack developer in Kota for your next project.