---
title: Guides
description: Learn how to implement common UI patterns and use cases using Next.js
url: "https://nextjs.org/docs/pages/guides"
version: 16.2.2
lastUpdated: 2026-04-02
router: Pages Router
---



- [Analytics](/docs/pages/guides/analytics)
  - Measure and track page performance using Next.js
- [Authentication](/docs/pages/guides/authentication)
  - Learn how to implement authentication in Next.js, covering best practices, securing routes, authorization techniques, and session management.
- [Babel](/docs/pages/guides/babel)
  - Extend the babel preset added by Next.js with your own configs.
- [CI Build Caching](/docs/pages/guides/ci-build-caching)
  - Learn how to configure CI to cache Next.js builds
- [Content Security Policy](/docs/pages/guides/content-security-policy)
  - Learn how to set a Content Security Policy (CSP) for your Next.js application.
- [CSS-in-JS](/docs/pages/guides/css-in-js)
  - Use CSS-in-JS libraries with Next.js
- [Custom Server](/docs/pages/guides/custom-server)
  - Start a Next.js app programmatically using a custom server.
- [Debugging](/docs/pages/guides/debugging)
  - Learn how to debug your Next.js application with VS Code or Chrome DevTools.
- [Draft Mode](/docs/pages/guides/draft-mode)
  - Next.js has draft mode to toggle between static and dynamic pages. You can learn how it works with Pages Router.
- [Environment Variables](/docs/pages/guides/environment-variables)
  - Learn to add and access environment variables in your Next.js application.
- [Forms](/docs/pages/guides/forms)
  - Learn how to handle form submissions and data mutations with Next.js.
- [ISR](/docs/pages/guides/incremental-static-regeneration)
  - Learn how to create or update static pages at runtime with Incremental Static Regeneration.
- [Instrumentation](/docs/pages/guides/instrumentation)
  - Learn how to use instrumentation to run code at server startup in your Next.js app
- [Internationalization](/docs/pages/guides/internationalization)
  - Next.js has built-in support for internationalized routing and language detection. Learn more here.
- [Lazy Loading](/docs/pages/guides/lazy-loading)
  - Lazy load imported libraries and React Components to improve your application's overall loading performance.
- [MDX](/docs/pages/guides/mdx)
  - Learn how to configure MDX to write JSX in your markdown files.
- [Migrating](/docs/pages/guides/migrating)
  - Learn how to migrate from popular frameworks to Next.js
- [Multi-Zones](/docs/pages/guides/multi-zones)
  - Learn how to build micro-frontends using Next.js Multi-Zones to deploy multiple Next.js apps under a single domain.
- [OpenTelemetry](/docs/pages/guides/open-telemetry)
  - Learn how to instrument your Next.js app with OpenTelemetry.
- [Package Bundling](/docs/pages/guides/package-bundling)
  - Learn how to optimize your application's server and client bundles.
- [PostCSS](/docs/pages/guides/post-css)
  - Extend the PostCSS config and plugins added by Next.js with your own.
- [Preview Mode](/docs/pages/guides/preview-mode)
  - Next.js has the preview mode for statically generated pages. You can learn how it works here.
- [Production](/docs/pages/guides/production-checklist)
  - Recommendations to ensure the best performance and user experience before taking your Next.js application to production.
- [Redirecting](/docs/pages/guides/redirecting)
  - Learn the different ways to handle redirects in Next.js.
- [Sass](/docs/pages/guides/sass)
  - Learn how to use Sass in your Next.js application.
- [Scripts](/docs/pages/guides/scripts)
  - Optimize 3rd party scripts with the built-in Script component.
- [Self-Hosting](/docs/pages/guides/self-hosting)
  - Learn how to self-host your Next.js application on a Node.js server, Docker image, or static HTML files (static exports).
- [Static Exports](/docs/pages/guides/static-exports)
  - Next.js enables starting as a static site or Single-Page Application (SPA), then later optionally upgrading to use features that require a server.
- [Tailwind CSS](/docs/pages/guides/tailwind-v3-css)
  - Style your Next.js Application using Tailwind CSS.
- [Testing](/docs/pages/guides/testing)
  - Learn how to set up Next.js with three commonly used testing tools — Cypress, Playwright, Vitest, and Jest.
- [Third Party Libraries](/docs/pages/guides/third-party-libraries)
  - Optimize the performance of third-party libraries in your application with the `@next/third-parties` package.
- [Upgrading](/docs/pages/guides/upgrading)
  - Learn how to upgrade to the latest versions of Next.js.

---

For a semantic overview of all documentation, see [/docs/sitemap.md](/docs/sitemap.md)

For an index of all available documentation, see [/docs/llms.txt](/docs/llms.txt)