ИИ уже умеет запускать рекламу, писать письма и делать контент. Агентства готовятся к ребрендингу. Но поможет ли им новая вывеска?
База знаний
SEO-миграция сайта без потерь трафика
Переезд сайта на новую платформу без потерь SEO-трафика: редиректы 301, sitemap, canonical, инвентарь URL, контроль в Вебмастере и GSC.
СейчасКогда нужна SEO-миграция
- Когда нужна SEO-миграция
- Фаза 1: Инвентаризация (до переезда)
- Экспорт всех URL
- Фиксация метрик
- Фаза 2: Карта редиректов 301
- Правила составления
- Формат карты
- Реализация на сервере
- Ловушка .htaccess : редиректы молча не работают
- Фаза 3: Техническая подготовка нового сайта
- sitemap.xml
- robots.txt
- Canonical-теги
- Open Graph и метатеги
- Фаза 4: Запуск и регистрация в поисковых системах
- Google Search Console
- Яндекс.Вебмастер
- Фаза 5: Post-launch мониторинг
- Еженедельный мониторинг
- Типичные проблемы и решения
- Антипаттерны
- Чеклист
- Pre-launch
- Launch
- Post-launch
- Полезные ссылки
Переезд сайта на новую платформу, домен или CMS — один из самых рискованных моментов в жизни проекта. Плохо спланированная миграция вполне может стоить десятков процентов органического трафика. В индустрии описаны случаи, когда сайт до обращения к специалистам терял 44% органики — порядка 500 000 пользователей. И это не аномалия, а типичный исход миграции без плана.
Но если сделать всё правильно, миграция может не только сохранить, но и улучшить позиции. Практическое правило здесь — основная часть усилий уходит на планирование (условно ~70%) и лишь меньшая на исполнение. Это руководство покрывает обе части — от инвентаризации URL до post-launch мониторинга в Яндекс.Вебмастере и Google Search Console.
Когда нужна SEO-миграция
Не каждое изменение на сайте — миграция. SEO-миграция — это любое значительное изменение, которое может повлиять на видимость в поисковых системах:
| Тип миграции | Что меняется | Уровень риска | Пример |
| Смена домена | Адрес сайта целиком | 🔴 Высокий | shop.ru → marketplace.ru |
| Смена CMS/платформы | Движок, часто — структура URL | 🔴 Высокий | WordPress → Next.js, 1С-Битрикс → Tilda |
| Переход на HTTPS | Протокол | 🟡 Средний | http:// → https:// |
| Редизайн с изменением URL | Структура адресов, навигация | 🟡 Средний | /catalog/item-123 → /products/item-name |
| Смена субдомена | Часть домена | 🟡 Средний | blog.site.ru → site.ru/blog |
| Обновление контента | Тексты, метатеги, структура страниц | 🟢 Низкий | Массовое обновление карточек товаров |
Фаза 1: Инвентаризация (до переезда)
Перед любыми изменениями нужно зафиксировать текущее состояние сайта. Это ваша «точка отсчёта» — без неё вы не поймёте, что потеряли после переезда.
Экспорт всех URL
Соберите полный список URL, которые:
- Есть в индексе — Google Search Console → Покрытие → Действующие страницы; Яндекс.Вебмастер → Индексирование → Страницы в поиске
- Получают трафик — Google Analytics / Яндекс.Метрика → отчёт по страницам входа за последние 12 месяцев
- Имеют внешние ссылки — Ahrefs, Serpstat или аналог → бэклинки по доменам и страницам
- Есть в sitemap.xml — текущий файл sitemap
# Быстрый экспорт через Screaming Frog или curl
curl -s https://site.ru/sitemap.xml | grep '<loc>' | sed 's/<[^>]*>//g' > urls.txtФиксация метрик
Для каждой важной страницы зафиксируйте:
| Метрика | Где взять | Зачем |
| Позиции по ключевым запросам | GSC → Эффективность, Яндекс.Вебмастер → Поисковые запросы | Сравнение «до/после» по позициям |
| Органический трафик | GA4, Яндекс.Метрика | Обнаружение просадок |
| Количество проиндексированных страниц | GSC → Покрытие, site:domain.ru в поиске | Контроль за переиндексацией |
| Внешние ссылки (backlinks) | Ahrefs, Serpstat, GSC → Ссылки | Проверка, что ссылочная масса не потеряна |
| Core Web Vitals | PageSpeed Insights, GSC → Основные интернет-показатели | Новый сайт не должен быть медленнее |
Фаза 2: Карта редиректов 301
Это самый критичный этап миграции. Карта редиректов — это таблица, в которой каждому старому URL сопоставлен новый. Без неё поисковые системы увидят 404 вместо ваших страниц, а вся накопленная ссылочная масса и возраст страниц будут потеряны.
Правила составления
| Правило | Почему важно | Пример |
| 1:1 маппинг | Каждая старая страница → конкретная новая страница с аналогичным контентом | /catalog/shoes/nike-air → /products/nike-air-max |
| Только 301, не 302 | 301 сигнализирует о постоянном переезде и переносит индексацию на новый URL. При 302 поисковики считают переезд временным и оставляют в индексе старый URL. Вес передают оба типа, но 302 тормозит переиндексацию и склейку | Redirect 301 /old-page /new-page |
| Нет цепочек редиректов | A → B → C теряет вес и замедляет краулинг. Максимум одно перенаправление | Проверить, что новый URL не редиректит дальше |
| Нет редиректа всего на главную | Google трактует массовый редирект на / как soft-404 — вес не передаётся | Если страница удалена — 410, не 301 на главную |
| Держать редиректы 12+ месяцев | Поисковикам нужно время на переиндексацию. Снять раньше = потерять вес | Не удалять правила из .htaccess/nginx после запуска |
Формат карты
Старый URL → Новый URL Статус
/catalog/shoes/nike-air → /products/nike-air-max 301
/blog/2024/best-running-shoes → /articles/best-running-shoes 301
/about/team → /company/team 301
/promo/black-friday-2023 → (удалена) 410Реализация на сервере
# Nginx — постраничные редиректы
server {
# ...
location = /catalog/shoes/nike-air {
return 301 /products/nike-air-max;
}
# Паттерн для категорий
location ~ ^/catalog/(.*)$ {
return 301 /products/$1;
}
}# Apache .htaccess
Redirect 301 /catalog/shoes/nike-air /products/nike-air-max
RedirectMatch 301 ^/blog/([0-9]{4})/(.*)$ /articles/$2# Next.js — next.config.js
module.exports = {
async redirects() {
return [
{
source: '/catalog/shoes/nike-air',
destination: '/products/nike-air-max',
permanent: true, // 301
},
{
source: '/blog/:year/:slug',
destination: '/articles/:slug',
permanent: true,
},
]
},
}window.location.href = "/new-page" не передаёт SEO-вес. Поисковые боты могут не исполнить JS. Всегда используйте серверные 301-редиректы.Ловушка .htaccess: редиректы молча не работают
Частый сценарий: на старом хостинге был Apache, и за годы в .htaccess накопились сотни правил — редиректы, rewrite, заголовки. При переезде файл копируют на новый сервер, где стоит Nginx. А Nginx .htaccess не читает вообще — не ругается, не предупреждает, просто игнорирует. Все 301-редиректы и правила перестают работать одномоментно и беззвучно.
Опаснее всего то, что сайт при этом выглядит рабочим: главная открывается, новые страницы отвечают. Поломку выдают только старые URL — вместо 301 они отдают 404 или голый 200, и через пару недель поисковик начинает осыпать индекс.
.htaccess (Apache) → server-блок в конфиге (Nginx) → next.config.js (Next.js) и т.д.Как продиагностировать:
# 1. Узнать, какой сервер на самом деле обслуживает сайт
curl -sI https://new-site.ru | grep -i server
# Server: nginx → .htaccess не работает, правила нужны в конфиге Nginx
# Server: Apache → .htaccess читается
# 2. Проверить, что старый URL реально отдаёт 301, а не 404/200
curl -sI https://new-site.ru/old-page | grep -iE 'HTTP|location'
# Должно быть: HTTP/1.1 301 + Location: /new-pageНюанс: на некоторых панелях (ISPmanager, ряд хостингов) Nginx стоит фронтендом перед Apache, и тогда .htaccess может частично работать через Apache-бэкенд. Ориентируйтесь не на «у меня вроде Apache», а на фактический ответ curl по старым URL.
Фаза 3: Техническая подготовка нового сайта
Перед запуском новый сайт должен быть полностью готов с точки зрения SEO. Краулеры не дают «испытательный срок» — они начинают оценивать сайт сразу.
sitemap.xml
- Содержит только новые URL (не старые)
- Все URL — каноничные версии (https, с/без www — единообразно)
- Формат соответствует стандарту sitemaps.org
- Размер: до 50 000 URL или 50 МБ на файл, используйте sitemap index для больших сайтов
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://new-site.ru/products/nike-air-max</loc>
<lastmod>2026-06-13</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
</urlset>robots.txt
- Разрешить краулинг всех важных разделов
- Указать путь к sitemap.xml
- Не блокировать CSS, JS и изображения — поисковики должны видеть рендеренную страницу
User-agent: *
Allow: /
Disallow: /admin/
Disallow: /api/
Sitemap: https://new-site.ru/sitemap.xmlDisallow: / в robots.txt на продакшене. Это случается, когда robots.txt со стейджинга попадает в продакшен-деплой. Проверяйте robots.txt сразу после запуска.Canonical-теги
Каждая страница должна иметь <link rel="canonical">, указывающий на её каноничную версию:
<head>
<link rel="canonical" href="https://new-site.ru/products/nike-air-max" />
</head>- Canonical должен указывать на новый URL, не на старый
- На всех версиях страницы (http/https, www/без www) canonical одинаковый
- Для пагинации: каждая страница каноничная сама на себя (Google отказался от
rel=prev/next)
Open Graph и метатеги
При миграции часто теряются:
| Что проверить | Где | Последствия потери |
| Title | <title> в <head> | Потеря позиций по целевым запросам |
| Description | <meta name="description"> | Падение CTR в выдаче |
| H1 | Основной заголовок страницы | Потеря релевантности |
| og:title, og:description, og:image | <meta property="og:..."> | Битые превью при шаринге в соцсетях и мессенджерах |
| Структурированные данные (JSON-LD) | <script type="application/ld+json"> | Потеря расширенных сниппетов в выдаче |
| Hreflang | <link rel="alternate" hreflang="..."> | Неправильная языковая версия в выдаче |
curl + парсинг) и сверьте с новым сайтом 1:1. Автоматизируйте проверку скриптом — вручную на 500+ страницах это нереально.Фаза 4: Запуск и регистрация в поисковых системах
Google Search Console
- Добавить новый сайт как свойство в GSC (если сменился домен)
- Подтвердить владение — через DNS-запись, HTML-файл или тег
- Подать заявку на смену адреса (Settings → Change of Address) — только при смене домена. GSC покажет проверку: 301-редиректы, подтверждение обоих сайтов
- Отправить новый sitemap.xml — Sitemaps → Add a new sitemap
- Проверить покрытие — через 2–3 дня в разделе Pages появятся данные о новых URL
Яндекс.Вебмастер
- Добавить новый сайт в Вебмастер и подтвердить права
- Указать переезд — Индексирование → Переезд сайта → ввести новый домен. Яндекс начнёт склейку доменов (занимает 2–4 недели)
- Отправить sitemap.xml — Индексирование → Файлы Sitemap
- Проверить ответы сервера — Индексирование → Проверка ответа сервера → ввести старые URL и убедиться, что ответ 301
- Настроить регион (если нужно) — Информация о сайте → Региональность
Фаза 5: Post-launch мониторинг
Первые 4–8 недель после запуска — критический период. Трафик может просесть на 10–20% даже при идеальной миграции. Задача — отличить нормальное «переходное» падение от реальной проблемы.
Еженедельный мониторинг
| Что проверять | Инструмент | Красный флаг |
| Индексация новых URL | GSC → Pages, site:new-domain.ru | Количество проиндексированных страниц падает, а не растёт |
| 404 ошибки | GSC → Pages → Not found, серверные логи | Массовые 404 на страницах с трафиком |
| Работа редиректов | Screaming Frog, curl -I old-url | 302 вместо 301, цепочки, битые редиректы |
| Позиции по ключевым запросам | GSC → Эффективность, Serpstat | Падение позиций по топовым запросам более чем на 10 позиций |
| Органический трафик | GA4, Яндекс.Метрика | Падение более 30% без восстановления через 2 недели |
| Склейка доменов в Яндексе | Вебмастер → Переезд сайта | Статус «Переезд не подтверждён» через 2+ недели |
| Core Web Vitals | GSC → Основные интернет-показатели | Массовое появление «Плохих URL» |
Типичные проблемы и решения
| Проблема | Причина | Решение |
| Массовые 404 | Пропущены URL в карте редиректов | Дополнить карту, особенно для URL с трафиком и бэклинками. Приоритет — страницы с внешними ссылками |
| Дублирование контента | Старый и новый сайт доступны одновременно | Убедиться, что старый домен отдаёт 301 на новый. Проверить canonical на новом сайте |
| Позиции не восстанавливаются через 4 недели | Неправильные canonical, noindex, проблемы с контентом | Проверить curl -I на проблемных URL. Убедиться, что контент идентичен или лучше старого |
| Яндекс не склеивает домены | Редиректы настроены после подачи заявки, или не все URL редиректят | Сначала настроить ВСЕ 301-редиректы, потом подать заявку заново |
| Потеря расширенных сниппетов | Структурированные данные не перенесены | Проверить JSON-LD через Rich Results Test |
Антипаттерны
| Антипаттерн | Почему плохо | Что делать вместо |
| Запускать миграцию без инвентаризации | Не знаете, что теряете — не сможете восстановить | Экспорт всех URL, метрик и бэклинков ДО начала работ |
| Делать 302 вместо 301 | 302 сигнализирует о временном переезде: поисковики держат в индексе старый URL и медленнее переносят сигналы на новый | Всегда 301 для постоянных переездов |
Перенести .htaccess на сервер с другим ПО | На Nginx/Caddy файл .htaccess молча игнорируется — все редиректы и правила ломаются, но сайт выглядит рабочим | Определить тип нового сервера (curl -I) и переписать правила под его синтаксис |
| Редиректить всё на главную | Google и Яндекс трактуют это как soft-404. Вес не передаётся | Постраничный маппинг 1:1. Если страница удалена — 410 Gone |
| Снять редиректы через месяц | Поисковики не успели переиндексировать. Ссылочная масса теряется | Держать 301-редиректы минимум 12 месяцев |
| Менять контент одновременно со структурой | Невозможно понять, что вызвало просадку — редиректы или новый контент | Сначала переезд с сохранением контента, потом улучшения |
| Забыть про Яндекс.Вебмастер | Яндекс использует свой механизм склейки доменов. Без заявки переезд может занять месяцы | Подать заявку на переезд в Вебмастере сразу после настройки 301 |
| Не проверять robots.txt на продакшене | Стейджинговый Disallow: / попадает в продакшен — весь сайт закрыт от индексации | Первая проверка после деплоя — curl https://new-site.ru/robots.txt |
Чеклист
Pre-launch
Launch
curl -I для топ-20 страниц)curl -I); правила редиректов перенесены в его формат, а не просто скопирован .htaccessDisallow: /)Post-launch
Полезные ссылки
- Google: Как переместить сайт — официальная документация
- Google: Canonical URL — как правильно настроить
- Google: Rich Results Test — проверка структурированных данных
- Яндекс: Переезд сайта в Вебмастере — инструкция по подаче заявки
- Sitemaps.org: Протокол sitemap — спецификация формата
- Shopify: SEO Site Migration Checklist (2026) — подробный чеклист
- Habr: Как правильно сделать перенос сайта — практическое руководство на русском
По теме
- Статья: Сайт как редакторский граф
- Блог: Как сеньоры масштабируются с агентами
- База знаний: DeepSeek — как использовать API и модели
Если захотите обсудить, как это применить у себя или в команде — пишите в Telegram @pimenov
Если хотите разобрать свою задачу — напишите мне Если хотите разобрать свою задачу — напишите мне.
Можно прийти с идеей, черновым контекстом или уже живой задачей. Помогу быстро понять, где реальный следующий шаг, а где лишний шум.
Обычно хватает 2–3 сообщений, чтобы понять, могу ли я здесь реально помочь и в каком формате лучше двигаться дальше.
Связанные материалы
Три шага, которые позволяют извлечь цвета, типографику, композицию и эффекты любой картинки в виде JSON — и использовать это как стилевой референс.
История о том, как два внешних сигнала — замечание после консультации и комментарий в Facebook — сначала заставили меня сделать поиск по pimenov.ai, а потом привели к появлению гра…