Главная / Блог / SEO

SEO 18 мин

SEO-миграция сайта: практическое руководство без потери позиций

Инвентаризация URL, карта 301, метаданные, canonical, hreflang, Schema.org, staging, запуск и мониторинг в GSC/Вебмастер — для Google KZ и РФ.

SEO-миграция — это управляемый перенос сайта (домен, CMS, структура URL, хостинг или редизайн) с сохранением сигналов для поиска: индексации, редиректов, метаданных, внутренних ссылок и микроразметки. Это не то же самое, что ежемесячное SEO-продвижение и не заменяется бесплатным онлайн-аудитом одной страницы — аудит даёт срез, а миграция требует полного инвентаря URL.

Коммерческий перенос под ключ — услуга миграции ЛЕВ.org. Ответы на узкие вопросы — в FAQ по миграции (не дублируйте гайд целиком: FAQ для точечных сценариев).

Когда нужен отдельный SEO-план миграции

СценарийРиск для SEOМинимум действий
Смена домена (example.kz → new.kz)ВысокийКарта 301, GSC Change of Address, обновление внешних ссылок где возможно
Смена CMS (WordPress → Next.js, OpenCart → WooCommerce)ВысокийСохранение ЧПУ или 301, перенос title/H1/canonical/Schema, sitemap
Редизайн без смены URLСреднийСохранить метаданные, не ломать HTML-структуру заголовков, проверить CWV
Редизайн со сменой URLВысокийКак при смене CMS + карта соответствий
Только хостинг / SSL без смены URLНизкийПроверить 200/301, canonical, HSTS, не оставить дубль http/https в индексе
Объединение поддоменов (blog. → www.)Высокий301 с каждого URL поддомена, единый sitemap

Если вы выбираете платформу до миграции, используйте подбор CMS и сравнение WordPress vs Next.js — это снижает риск лишней смены URL в будущем.

Этап 1. Предмиграционный аудит и инвентаризация

Цель — зафиксировать «как есть», пока старый сайт в индексе. Без списка URL миграция почти всегда теряет страницы и заявки.

  1. Источники URL: sitemap.xml, краул сайта (внутренние ссылки), отчёты Google Search Console («Страницы», «Эффективность»), Яндекс.Вебмастер, посадочные из аналитики за 12 месяцев.
  2. На каждый важный URL сохраните: HTTP-код, title, meta description, H1, canonical, hreflang (если есть), тип Schema.org, количество внутренних ссылок на URL.
  3. Зафиксируйте money-страницы — категории, карточки товаров, услуги, статьи с трафиком. Именно их проверяют в первую очередь после запуска.
  4. Robots.txt и существующие редиректы — выгрузите .htaccess / nginx-конфиг, чтобы не получить цепочки 301→301 после запуска.

Пример строки инвентаря (ведите в таблице Google Sheets или CSV):

Старый URLНовый URLТипTitle (старый)Приоритет
/uslugi/seo//services/seo/301SEO продвижениеP0
/blog/staryj-post//blog/staryj-post/без изменений…P1
/catalog/?id=44/catalog/product-name/301…P0

Этап 2. Карта соответствий и правила 301

  • Один старый URL → один конечный URL. Избегайте цепочек (A→B→C). Поисковик и пользователь должны попадать в цель за один шаг.
  • Релевантность важнее «главной». Если точной страницы нет — 301 на ближайший раздел каталога/услуг, а не на главную (кроме явно удалённого контента).
  • Только серверные 301/308. Meta refresh и JavaScript-редиректы — плохая замена для SEO-критичных переносов.
  • Параметры и регистр. Согласуйте trailing slash, www/non-www, верхний/нижний регистр пути — иначе появятся дубли.

Для интернет-магазинов отдельно спланируйте фильтры и пагинацию: какие query-параметры индексируются, какие закрыты canonical или noindex — иначе после миграции всплывут тысячи дублей.

Порядок подготовки карты URL (до написания правил в nginx/Apache):

  1. Выгрузить полный список старых URL из инвентаря (этап 1), отсортировать по приоритету P0 → P2.
  2. Для каждого URL назначить: новый путь, «без изменений», «объединить с разделом», «снять с публикации» (тогда — 301 на релевантный раздел, не на главную).
  3. Согласовать карту с контентом и юридически значимыми страницами (оферта, реквизиты).
  4. Прогнать карту на staging: один запрос — один финальный код (200 или один 301).
  5. Зафиксировать версию карты (дата, автор) и только после этого выкатывать правила на продакшен.

Примеры редиректов (упрощённо):

СитуацияПравильноОшибка
Смена пути услуги/uslugi/seo/ → 301 → /services/seo/ (один переход)Цепочка /uslugi/seo/ → /seo/ → /services/seo/
Удалённая статья301 на ближайший тематический раздел блога или hubВсе старые URL → 301 на главную
Временный переездНе использовать для миграции; только 301/308 на постоянный URL302 «навсегда» вместо 301
Регистр и слэшОдин канонический вид + 301 с альтернатив/Page и /page/ оба отдают 200 без редиректа

Этап 3. Перенос контента и метаданных

При смене CMS (например, WordPress → Next.js) переносят не только тексты:

  • Title, description, H1 — осознанно: «как было» или обновление по семантике, но не случайные шаблоны.
  • Canonical на каждой странице — на себя; на тестовом стенде — noindex или отдельный хост.
  • hreflang для RU/KK: пары /page/ ↔ /kk/page/, плюс x-default — как на текущем ЛЕВ.org.
  • Schema.org (Organization, Product, FAQPage, BreadcrumbList) — пересобрать под новые шаблоны; проверить JSON-LD валидатором.
  • Alt у изображений, внутренние ссылки в теле статей — обновить на новые пути, не полагаться только на 301.

Проверка canonical, hreflang, robots.txt и sitemap перед запуском:

  • Canonical — на боевой странице указывает на её собственный абсолютный URL (без параметров-сессий). На staging — noindex или отдельный хост, чтобы canonical не указывал на тестовый домен.
  • hreflang — взаимные пары RU/KK: в HTML или sitemap указаны и ru, и kk для одной темы; есть x-default на основную версию.
  • robots.txt — на продакшене нет Disallow: / для нужных разделов; строка Sitemap: https://домен/sitemap.xml ведёт на актуальный файл; тестовый поддомен закрыт от индексации.
  • sitemap.xml — только URL, которые отдают 200 (не включайте URL, которые должны отдавать 301); lastmod обновлён после релиза; для мультиязычности — отдельные URL или hreflang в sitemap по вашей схеме.

Этап 4. Staging: проверка до переключения DNS

Новая версия должна жить на закрытом стенде (noindex, basic auth или IP-ограничение). Чеклист приёмки:

  • По списку P0/P1 URL — ответ 200 или один 301 на целевой URL.
  • Совпадение title/description/H1 с инвентарём или задокументированное отличие.
  • Формы заявок, аналитика (Метрика/GA), цели — тестовая отправка.
  • Мобильная вёрстка и скорость типовых страниц — см. ускорение и Core Web Vitals.
  • Быстрый срез одной страницы — SEO-аудит онлайн (не заменяет полный краул).

Этап 5. Запуск (день переключения)

  1. Включить 301 по утверждённой карте на продакшене.
  2. Убрать noindex/Disallow с боевого сайта; обновить robots.txt и sitemap.xml.
  3. Отправить sitemap в Google Search Console и Яндекс.Вебмастер.
  4. При смене домена — инструмент смены адреса (Change of Address) в GSC для старого ресурса.
  5. Проверить 5–10 P0 URL вручную с мобильного и десктопа.

Этап 6. Мониторинг 4–8 недель

Где смотретьНа что обращать внимание
GSC → Страницы / ИндексированиеРост 404, исключённые URL, «Страница с переадресацией»
Яндекс.ВебмастерИсключённые, дубли, ошибки микроразметки
Логи сервераЧастые 404 по старым путям — добавить 301 или восстановить контент
АналитикаОрганические посадочные: не просели ли money-страницы

После стабилизации имеет смысл подключить регулярное SEO-продвижение, если нужен рост, а не только сохранение позиций.

Особенности: WordPress → Next.js

Типичный запрос в KZ/RU — «перенос на Next.js без потери SEO». Критично заложить SSR или SSG для коммерческих URL, сохранить ЧПУ, вынести редиректы в конфиг сервера/фреймворка и не публиковать «пустой» SPA без HTML для роботов. Архитектуру лучше согласовать до разработки — оценка бюджета в калькуляторе стоимости сайта.

Что не смешивать с миграцией

  • Редизайн «визуально новый», URL те же — меньше рисков, но проверьте CWV и сниппеты.
  • Новый сайт с нуля на другом домене — это не миграция старого индекса; нужна отдельная SEO-стратегия.
  • Кейсы в портфолио — смотрите описание проекта: SEO-кейс (Хиджама-центр) и новая разработка на Next.js (Tumar Stroy, SmartFul) не равны автоматически «миграции без потери позиций», если в кейсе не описан перенос URL.

Краткий чеклист (сохраните перед запуском)

  • ☐ Инвентарь URL и метаданных выгружен
  • ☐ Карта 301 утверждена, цепочек нет
  • ☐ Staging закрыт от индексации, приёмка пройдена
  • ☐ Canonical, hreflang, Schema на новых шаблонах
  • ☐ Sitemap и robots обновлены
  • ☐ GSC/Вебмастер: sitemap отправлен, мониторинг заведён
  • ☐ План отката (бэкап БД и файлов) согласован

Нужен подрядчик на миграцию в Алматы/Казахстане — контакты ЛЕВ.org или заявка через страницу услуги миграции.

Готовы обсудить проект?

Бесплатный аудит сайта за 24 часа. Прозрачная смета и roadmap.