---
id: middleware-proxy-edge-cost
title: Middleware edge cost
status: active
candidateKinds: ["middleware_heavy"]
frameworks: ["next@>=12.0.0"]
priority: 90
citations:
  [
    "https://nextjs.org/docs/app/building-your-application/routing/middleware",
    "https://vercel.com/docs/routing-middleware",
  ]
maxBriefChars: 850
---

## Investigation Brief

Middleware recommendations should reduce unnecessary interception, not remove required request handling.

## Evidence To Check

Use `topMiddlewarePaths` and the matcher config. Confirm which paths need auth, rewrites, headers, or locale handling. Check whether static assets, images, or routes with no middleware need are being matched.

## Do Not Recommend When

Do not narrow the matcher in a way that bypasses required auth or routing behavior. Do not move middleware work into every route if the current matcher is already scoped.

## Verification

State the current middleware share, the dominant matched paths, and the exact matcher line to change.
