Next.jsSEOWeb Development

The Complete Next.js SEO Checklist for Business Websites

A battle-tested checklist of every SEO element you need to implement in a Next.js App Router website — from metadata and JSON-LD to sitemaps, Core Web Vitals, and structured data.

Softotic Engineering/1 February 2025/3 min read

The Complete Next.js SEO Checklist for Business Websites

Next.js App Router is one of the most SEO-friendly frameworks available — but only if you use it correctly. This checklist covers everything we implement on every Softotic client website, from basic metadata to advanced structured data.

✅ 1. Metadata API (App Router)

Use Next.js's typed Metadata API — never inject tags manually in __INLINE_CODE_0__.

typescript
export const metadata: Metadata = {
  title: {
    default: "Softotic | Enterprise Software",
    template: "%s | Softotic",
  },
  description: "Your concise page description here.",
  alternates: { canonical: "https://example.com/page" },
  openGraph: {
    title: "Page Title | Softotic",
    description: "...",
    images: [{ url: "/og-image.jpg", width: 1200, height: 630 }],
  },
};

Checklist:

  • Title template set at root layout
  • Unique description per page (150–160 chars)
  • Canonical URL on every page
  • OpenGraph title, description, image
  • Twitter card metadata
  • __INLINE_CODE_0__ meta respects __INLINE_CODE_1__ flags

✅ 2. Structured Data (JSON-LD)

Google uses JSON-LD to understand your site and generate rich results.

Must-implement schemas:

  • Organization — sitewide in root layout
  • WebSite with SearchAction — sitewide
  • Service — on every service page
  • Article — on every blog post
  • BreadcrumbList — on all detail pages
  • Review/AggregateRating — on testimonials page
typescript
// Inject in <head> via dangerouslySetInnerHTML
<script
  type="application/ld+json"
  dangerouslySetInnerHTML={{ __html: JSON.stringify(schema) }}
/>

✅ 3. Sitemap.xml (Auto-Generated)

Use __INLINE_CODE_0__ to auto-generate from your data sources:

typescript
export default function sitemap(): MetadataRoute.Sitemap {
  // Include all static + dynamic routes
  return [...staticRoutes, ...serviceRoutes, ...blogRoutes];
}

Verify your sitemap is submitted in Google Search Console.

✅ 4. Robots.txt

typescript
// app/robots.ts
export default function robots(): MetadataRoute.Robots {
  return {
    rules: [{ userAgent: "*", allow: "/", disallow: "/_next/" }],
    sitemap: "https://www.softotic.com/sitemap.xml",
  };
}

✅ 5. Core Web Vitals

LCP (Largest Contentful Paint):

  • Use __INLINE_CODE_0__ for all images with correct __INLINE_CODE_1__ and __INLINE_CODE_2__ on above-fold images.
  • Server-side render above-fold content (avoid loading spinners at top).

CLS (Cumulative Layout Shift):

  • Set explicit __INLINE_CODE_0__ and __INLINE_CODE_1__ on all images.
  • Avoid inserting content above existing content dynamically.
  • Use __INLINE_CODE_0__ on web fonts.

INP (Interaction to Next Paint):

  • Minimise main-thread blocking JS.
  • Use __INLINE_CODE_0__ imports with __INLINE_CODE_1__ for heavy client components.

✅ 6. Rendering Strategy by Route

Choose the right rendering mode per route:

Route typeStrategy
Home, AboutSSG (static)
Services, IndustriesSSG with __INLINE_CODE_0__
Blog postsISR (__INLINE_CODE_0__)
SitemapISR

✅ 7. Internal Linking

Every detail page should link to:

  • Related services
  • Related case studies
  • Related blog posts

This distributes PageRank and helps Googlebot discover all pages.

✅ 8. Semantic HTML

  • One __INLINE_CODE_0__ per page.
  • Heading hierarchy: h1 → h2 → h3.
  • Use __INLINE_CODE_0__, __INLINE_CODE_1__, __INLINE_CODE_2__, __INLINE_CODE_3__, __INLINE_CODE_4__ semantically.
  • __INLINE_CODE_0__ text on every image.

✅ 9. Page Speed

Tools to validate: Lighthouse, PageSpeed Insights, WebPageTest.

Targets:

  • LCP: < 2.5s
  • CLS: < 0.1
  • INP: < 200ms
  • Lighthouse performance: > 90

Summary

SEO in Next.js App Router is excellent out of the box — but it requires deliberate configuration. Work through this checklist for every new page and route you add.

Need an SEO-optimised website built? Contact Softotic.