Как сохранить ценность бэклинков при изменении URL

58

12/2/2024

В статье вы узнаете как избежать ошибок 404 и сохранить SEO-ценность существующих бэклинков при обновлении URL-структуры на вашем сайте с Next.js

Вадим Пашаев

Вадим Пашаев

Инженер, веб-разработчик, путешественник

Как сохранить ценность бэклинков при изменении URL и настроить редиректы в Next.js
Регистрация товарных знаков
Craftum - создайте сайт за 15 минут
Домены, хостинг от reg.ru

Иногда, когда мы переделываем существующий сайт, бывают ситуации, что мы меняем систему урлов, но некоторые урлы, уже имеют ценные бэклинки.

Чтобы сохранить ценность бэклинков с других сайтов и избежать ошибок 404, лучше настроить правильный редирект с вашей старой страницы на новую страницу. Такой редирект должен быть:

  1. SEO-дружественным (HTTP 301 или 308).
  2. Настроен на серверной стороне, чтобы поисковые системы корректно его распознали.
  3. Постоянным (если вы больше не планируете использовать старый урл).

Как правильно сделать редирект?

Основной вариант - это использование next.config.js для глобального редиректа. В Next.js настройка в файле next.config.js — это самый простой и эффективный способ настроить постоянный редирект. Пример:

module.exports = {
  async redirects() {
    return [
      {
        source: '/contact-us', // Старая страница
        destination: '/new-contact-page', // Новая страница
        permanent: true, // true для постоянного редиректа (301)
      }
    ]
  }
}

Редиректы для мультиязычных сайтов

В мультиязычном сайте редиректы через next.config.js могут работать некорректно, особенно если язык определяется динамически или URL имеет языковые префиксы (например, /en/contact-us или /ru/contact-us). В таких случаях лучше подходить к редиректам с учетом мультиязычности.

Решением может стать динамическое определение языка и редирект через getServerSideProps.

export default function ContactUsPageRedirect() {
  return null
}

export async function getServerSideProps(context) {
  const { locale } = context

  let prefix = locale === "en" ? "" : `/${locale}`

  const destination = prefix + `/contacts`

  return {
    redirect: {
      destination,
      permanent: true
    }
  }
}

Плюс: Позволяет гибко определять язык и перенаправлять пользователей на нужный адрес. Минус: Нужно вручную поддерживать редирект для каждого языка.

Подписаться на рассылку

Получите лучшие новости по веб-разработке и AI

Подписаться на рассылку

Получите лучшие новости по веб-разработке и AI

Оценка проекта

Хотите быструю оценку Вашего проекта?

Василий Иванов
Максим Насенников
Виктория Мальцева
Vadim Pashaev

Заполните форму справа и наша команда экспертов поможет найти для Вас оптимальное решение вашей идеи или задачи

Есть интересная идея?

И вы очень хотите ее реализовать, пишите нам и получите подробное коммерческое предложение и быструю реализацию