10 Next.js 15 App Router Speed Tips
Learn how dynamic SSR, font optimization, automatic image optimization, and bundle splitting dramatically improve Lighthouse performance scores.

Learn how dynamic SSR, font optimization, automatic image optimization, and bundle splitting dramatically improve Lighthouse performance scores.


Delivering blazing-fast web applications is critical for search engine rankings, visitor retention, and ecommerce conversion rates. With the release of Next.js 15, the React App Router introduces powerful optimization capabilities alongside new caching defaults.
Here are 10 actionable, battle-tested performance techniques to supercharge your Next.js 15 web application.
In Next.js App Router, every component in the `app` directory is a React Server Component (RSC) by default. Avoid placing `'use client'` at the top of page files. Instead, push client-side interactive boundaries down to leaf components that strictly require browser state or DOM listeners.
Keeping layout wrappers, text blocks, and data presentation components on the server reduces JavaScript bundle sizes downloaded by the browser to nearly zero for those parts.
Next.js 15 defaults `fetch` requests and GET Route Handlers to uncached (`no-store`). For content that changes infrequently, always define explicit cache lifetimes using the `revalidate` segment config:
// Revalidate this page in background every 5 minutes
export const revalidate = 300;
This combines the speed of static HTML delivery with the freshness of server-side data updates.
Eliminate render-blocking external Google Font stylesheet requests by using `next/font`. Next.js automatically downloads and inlines font definitions at build time with zero layout shift:
import { Poppins } from 'next/font/google';
const poppins = Poppins({
subsets: ['latin'],
weight: ['400', '600', '700'],
display: 'swap',
preload: false,
});
Never use raw HTML `<img>` tags for production assets. The Next.js `<Image>` component automatically serves modern WebP and AVIF formats based on client browser support, prevents Cumulative Layout Shift (CLS), and lazily loads images below the fold.
Add your remote image hosts to `next.config.ts` with explicit cache-control headers for maximum edge acceleration.
When deploying Next.js on serverless platforms or Node.js containers like Hostinger, uncached database connections can quickly exhaust connection pools.
Do not let a slow third-party API or analytics query block the entire page render. Wrap slow components in React `<Suspense>` boundaries:
<Suspense fallback={<ProductCardSkeleton />}>
<SlowDynamicProductList />
</Suspense>
This allows Next.js to stream the initial page shell and hero content to the browser immediately while the slower component finishes resolving.
Run the Next.js Bundle Analyzer (`@next/bundle-analyzer`) periodically to identify oversized libraries. Common offenders include large icon libraries, date formatters, and animation engines.
Ensure you import only specific modular icons rather than entire package barrels to facilitate aggressive tree-shaking.
Offload heavy computational logic, email dispatches, and webhook verifications to Next.js Route Handlers (`app/api/...`). Keeping compute-heavy tasks out of the critical rendering path guarantees rapid Time to First Byte (TTFB).
In your `next.config.ts`, take advantage of built-in compiler optimizations:
const nextConfig = {
experimental: {
optimizePackageImports: ['lucide-react', 'motion'],
},
compress: true,
poweredByHeader: false,
};
Keep search engine crawlers informed about fresh content by generating dynamic `sitemap.ts` and `robots.ts` files. Next.js App Router natively supports generating these endpoints directly from your database, ensuring Googlebot indexes new articles and products within minutes.
By applying these ten optimization patterns, your Next.js 15 applications will achieve stellar Lighthouse scores and deliver exceptional user experiences.

Step-by-step guide to installing PicHost, configuring Supabase storage, setting up environment variables, and pointing your custom domain in under 10 minutes.
Discover the best AI assistants, code generators, and pair programmers that are boosting developer productivity by 3x this year.