Да асноўнага зместу

Патэрн · TypeScript

Сталыя рэдырэкты ў Next.js (канфіг і middleware)

301/308 пры змене slug і кансалідацыі дубляў; перасцярожнасць ад петляў і зносу canonical.

Узровень: сярэдніАцэнка часу: ~35 хв

Сталыя рэдырэкты кансалідуюць сігналы на мэтавым URL; часовыя падыходзяць для A/B і тэхработ без перапісу індэкса.

  • Адзін мэтавы URL на інтэнт
  • пазбягайце ланцугоў A→B→C
  • пасля міграцыі абнавіце sitemap і ўнутраныя спасылкі

Рэдырэкты закрываюць дублі (/page, /page/), перанакіроўваюць трафік пасля перайменаванняў раздзелаў і склейваюць старыя кампанійныя URL з кананічнымі мэтамі.

Код

next.config.mjs (фрагмент):

/** @type {import('next').NextConfig} */
const nextConfig = {
  async redirects() {
    return [
      { source: '/old-path', destination: '/new-path/', permanent: true },
    ]
  },
}
export default nextConfig

Умоўны рэдырэкт у middleware (напрыклад, толькі не production):

import { NextResponse } from 'next/server'
import type { NextRequest } from 'next/server'

export function middleware(request: NextRequest) {
  if (request.nextUrl.pathname === '/legacy') {
    return NextResponse.redirect(new URL('/current/', request.url), 308)
  }
  return NextResponse.next()
}

Праверка

  • Статус адказу 301 або 308; Location вядзе на кананічны URL.
  • Няма петляў; для важных URL не больш за адзін-два пераходы.

Крыніцы

Трэба ўнясці пад ваш домен і стэк?

Кароткая форма: імя, тэлефон і сайт. Пасля адпраўкі — адказ з парадкам работ і арыенцірам па этапах; дэталі ўдакладняюцца пры кантакце.