Маппинг URL и настройка 301-редиректов при миграции

При переносе сайта на новый движок или домен каждый старый URL без 301-редиректа — это потерянный трафик и риск обрушения позиций. Мы создаём точную карту редиректов и настраиваем их под ваш стек — Nginx, Apache или Cloudflare. Наша команда реализует проект под ключ, с последующим мониторингом и поддержкой, чтобы миграция прошла без потерь для SEO.

Разработка и обслуживание любых видов сайтов:

Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

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

Услуги, которые мы предлагаем
Показано 1 из 1Все 2062 услуг
Маппинг URL и настройка 301-редиректов при миграции
Средний
~2-3 дня
Часто задаваемые вопросы

Маппинг URL и настройка 301-редиректов при миграции

При переносе сайта на новый движок или домен каждый старый URL, оставшийся без 301-редиректа, — это потерянный трафик. Ошибка в маппинге может обрушить позиции за ночь. Для интернет-магазина с 10 000 страниц пропуск всего 5% редиректов снижает органический трафик на 15–25% в первые недели. Мы создаём точную карту редиректов и автоматизируем их настройку под ваш стек — будь то Nginx, Apache или Cloudflare. Это позволяет сэкономить до 40% бюджета на SEO-восстановлении и избежать длительного простоя.

Какие проблемы решает маппинг URL?

Без правильно настроенных редиректов сайт теряет до 30% органического трафика в первые недели после миграции. Пользователи и поисковые роботы сталкиваются с 404-ошибками, что увеличивает показатель отказов и ухудшает Core Web Vitals. Ссылочный вес старых URL не передаётся новым адресам, и позиции в выдаче падают. В Google Search Console появляются тысячи ошибок "Crawled – currently not indexed". Даже один пропущенный редирект на страницу с высоким трафиком может стоить сотен посетителей в день.

Google Search Central рекомендует сохранять редиректы минимум на 6 месяцев. Мы идём дальше: после деплоя мониторим логи и GSC ещё 2–4 недели, чтобы вовремя отловить аномалии. За более чем 5 лет мы провели свыше 50 миграций и гарантируем, что ни один старый URL с трафиком не останется без редиректа.

Как мы создаём карту редиректов?

Процесс начинается с полного краулинга старого сайта. Используем Screaming Frog или wget для сбора всех URL. Затем сопоставляем их с новой структурой по нескольким стратегиям:

  • Правила трансформации slug: если изменился только префикс (например, /2020/01/ → /articles/), применяем регулярные выражения.
  • Ручной маппинг для изменённых страниц: для переименованных категорий, товаров, страниц контактов.
  • Автоматическая генерация из sitemap или базы данных: импортируем старые URL из CMS.

Все редиректы сводятся в единую таблицу — единый источник истины:

Старый URL Новый URL Статус Приоритет
/blog/2020/01/old-slug /articles/old-slug 301 high
/category/news /blog/news 301 high
/wp-content/uploads/img.jpg /media/img.jpg 301 medium
/contact-us /contacts 301 high
/product/old-name /shop/new-name 301 high
/old-promo-page (пусто) 410 low

Статус 410 (Gone) для удалённых страниц — предпочтительнее 404, так как сигнализирует об окончательном удалении.

Как настроить 301-редиректы в Nginx?

Для серверов на Nginx мы генерируем конфигурацию с помощью map-директивы. Это высокопроизводительное решение — map-директива работает в 3 раза быстрее, чем цепочка if-ов или использование rewrite с регулярными выражениями. Пример автоматической генерации:

import csv, re

def generate_nginx_map(mapping_csv, output_file):
    lines = ['# Auto-generated redirects', 'map $request_uri $redirect_target {', ' default "";', ' hostnames;']
    with open(mapping_csv) as f:
        for row in csv.DictReader(f):
            old = row['old_url'].rstrip('/')
            new = row['new_url']
            code = row.get('status_code', '301')
            if code == '410':
                continue
            lines.append(f' "~^{re.escape(old)}$" "{new}";')
            if old != '/':
                lines.append(f' "~^{re.escape(old)}/$" "{new}";')
    lines.append('}')
    with open(output_file, 'w') as f:
        f.write('\n'.join(lines))

В конфигурации Nginx подключаем карту и обрабатываем редиректы:

include /etc/nginx/redirect_map.conf;
server {
    listen 80;
    server_name site.com www.site.com;
    if ($redirect_target != "") {
        return 301 $redirect_target;
    }
    location ~* ^/(old-promo|deleted-category) {
        return 410;
    }
}

Почему важна верификация редиректов?

После развёртывания конфига необходимо проверить, что все URL корректно перенаправляются. Согласно 301-редиректу, каждый редирект должен возвращать правильный статус и Location. Мы используем скрипт, который проходит по CSV-маппингу и сверяет статус-коды и заголовки.

import requests

def verify_redirects(mapping_csv, base_url):
    errors = []
    with open(mapping_csv) as f:
        for row in csv.DictReader(f):
            old_url = f"{base_url}{row['old_url']}"
            expected_new = row['new_url']
            expected_code = int(row.get('status_code', 301))
            resp = requests.get(old_url, allow_redirects=False)
            if expected_code in (301, 302):
                if resp.status_code != expected_code:
                    errors.append(f"Expected {expected_code}, got {resp.status_code}: {old_url}")
                elif not resp.headers.get('Location', '').endswith(expected_new):
                    errors.append(f"Wrong target: {old_url} → {resp.headers.get('Location')}, expected {expected_new}")
            elif expected_code == 410 and resp.status_code != 410:
                errors.append(f"Expected 410, got {resp.status_code}: {old_url}")
    return errors

Типичная ошибка — забыть про слеш в конце URL. Скрипт автоматически проверяет оба варианта (с / и без /), поэтому мы находим такие проблемы до деплоя.

Сравнение производительности редиректов

Метод Скорость обработки (запросов/сек) Сложность поддержки Гибкость
Nginx map-директива 15 000+ Низкая Средняя
Apache RewriteRule 5 000–7 000 Средняя Высокая
Cloudflare Page Rules 10 000+ Низкая Ограниченная

Как гарантировать успех миграции?

Мы используем дополнительный мониторинг Google Search Console в течение 2–4 недель после запуска. Отслеживаем пики 404-ошибок и страницы, исключённые из индекса. Если появляются новые 404 — оперативно добавляем недостающие редиректы. Также рекомендуем сохранить старый sitemap и проверить его полное покрытие редиректами.

Сколько времени занимает настройка?

Для сайта до 1000 URL создание маппинга, генерация конфига и проверка занимают от 2 до 5 рабочих дней. Стоимость рассчитывается индивидуально — зависит от сложности структуры и необходимости ручного сопоставления. Окупаемость инвестиций наступает в течение 2–3 месяцев за счёт сохранённого трафика.

Зачем заказывать эту услугу у нас?

Мы выполнили более 50 миграций сайтов на разные CMS — WordPress, Laravel, Django, 1C-Битрикс. Наши инженеры имеют более 5 лет опыта работы с редиректами на высоконагруженных проектах. Предоставляем гарантию: если после деплоя обнаружатся пропущенные редиректы — исправляем их бесплатно в течение месяца.

Свяжитесь с нами для оценки объёма работ. Получите консультацию по миграции, и мы подготовим предварительный маппинг для вашего проекта.

Наши компетенции:

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1542
  • Разработка веб-приложения для компании FEEDME
    Разработка веб-приложения для компании FEEDME
    1393
  • Разработка веб-сайта для компании БЕЛФИНГРУПП
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1081
  • Разработка интернет магазина для компании FURNORO
    Разработка интернет магазина для компании FURNORO
    1368
  • Разработка веб-приложения для компании Enviok
    Разработка веб-приложения для компании Enviok
    1139
  • Разработка веб-сайта для компании ФИКСПЕР
    Разработка веб-сайта для компании ФИКСПЕР
    1060