DSDrillSEO
Next.js 15 App Router SEO Checklist: Metadata, Static Export & OpenGraph Best Practices
July 13, 2026•DrillSEO Editorial Team

Next.js 15 App Router SEO Checklist: Metadata, Static Export & OpenGraph Best Practices

≡Table of Contents

Next.js 15 App Router SEO Checklist: Metadata, Static Export & OpenGraph Best Practices

Next.js 15 & Modern Search Engine Optimization

Next.js 15 brings significant architectural advancements for search engine optimization, including asynchronous request APIs, React 19 compiler support, and enhanced static site generation (SSG). When configured correctly, Next.js provides search engines with pre-rendered HTML, instantaneous Time to First Byte (TTFB), and automated OpenGraph social previews.

Essential Next.js 15 SEO Architecture Checklist

SEO Component Recommended Implementation Impact on Google Indexing
Dynamic Metadata generateMetadata({ params }) with awaited params Ensures unique title, meta description, and canonical tags per page
Static Site Generation generateStaticParams() with output: 'export' Pre-renders 100% of HTML for instant crawler discovery
Structured Data Server-rendered <script type="application/ld+json"> Enables Google Rich Results & AI Overview citations
Dynamic Sitemaps src/app/sitemap.ts returning MetadataRoute.Sitemap Automates XML sitemap indexing with real-time modified dates
Robots Directives src/app/robots.ts returning MetadataRoute.Robots Prevents crawling of private admin APIs while prioritizing content

1. Awaiting Dynamic Params in Next.js 15

In Next.js 15, dynamic route parameters (params and searchParams) are treated as asynchronous Promises. To generate accurate metadata without runtime warnings, always await the parameters:

import type { Metadata } from 'next';
import { getPostBySlug } from '@/lib/posts';

export async function generateMetadata({
  params
}: {
  params: Promise<{ category: string; slug: string }>;
}): Promise {
  const { slug } = await params;
  const post = getPostBySlug(slug);

  if (!post) {
    return {
      title: 'Page Not Found | DrillSEO',
      robots: { index: false, follow: false }
    };
  }

  return {
    title: `${post.title} | DrillSEO`,
    description: post.excerpt,
    alternates: {
      canonical: `https://www.drillseo.com/${post.category}/${post.slug}`
    },
    openGraph: {
      title: post.title,
      description: post.excerpt,
      images: [{ url: post.featuredImage, width: 1200, height: 630, alt: post.title }]
    }
  };
}

2. Static Export with Full URL Coverage

When using static export (output: 'export' in next.config.js), every dynamic route must export a generateStaticParams function. This informs the Next.js compiler to generate HTML files for all published articles during the build step:

export function generateStaticParams() {
  const posts = getAllPosts();
  return posts.map((post) => ({
    category: post.category,
    slug: post.slug,
  }));
}

3. Core Web Vitals Optimization in Next.js

  • Image Optimization: Utilize Next.js <Image> component or static WebP assets with explicit width, height, and priority for hero images to prevent Cumulative Layout Shift (CLS).
  • Font Preloading: Use next/font/google to automatically inline critical font CSS and eliminate Flash of Unstyled Text (FOUT).
  • Script Loading Strategies: Load Google Analytics or third-party tracking scripts with strategy="afterInteractive" or strategy="lazyOnload" to protect Interaction to Next Paint (INP).
DS
Official Mobile App4.8 / 5.0 (10k+ Installs)

Audit SEO & Track Rankings On The Go

Get real-time crawl issue alerts, Core Web Vitals diagnostics, and keyword position tracking in your pocket with the free DrillSEO Android app.

Get it on Google Play
100% Free • No Subscription Required
D

Written by DrillSEO Editorial Team

✓ Verified Editorial

Senior Technical SEO & Growth Strategist • DrillSEO Core Contributor

Specializing in technical crawl architecture, search algorithm reverse-engineering, and web performance optimization for enterprise and indie brands.

Last Updated: 2026 Edition
Newsletter

Stay Updated with SEO Tips

Subscribe to our newsletter to receive the latest SEO tips, tools, and strategies directly in your inbox

A
B
C
D
+2K
others already subscribed
4.9/5 from 2200+ reviews
We respect your privacy. Unsubscribe at any time.