Представьте: после ребрендинга клиент замечает, что 30% страниц отдают 404, а трафик просел на 40%. Причина — старая URL-схема /blog/category?id=12 превратилась в /blog/12, а редиректы не настроили. Такая ситуация — типичный результат небрежной миграции контента при редизайне. Наша команда выполняет перенос данных с нулевой потерей позиций: мы автоматизируем маппинг, трансформацию и валидацию, используя TypeScript и баш-скрипты. За более чем 7 лет мы провели свыше 150 успешных миграций для проектов любого масштаба. Каждая четвёртая миграция — редизайн с полной сменой семантики данных. По данным Ahrefs, неправильная миграция снижает органический трафик в среднем на 30%.
Сравнение подходов: ручная vs автоматизированная миграция
| Параметр |
Ручная миграция |
Автоматизированная (наш подход) |
| Время на 200 страниц |
3-4 недели |
1-2 недели (в 2 раза быстрее) |
| Риск ошибок |
Высокий (битые ссылки, пропущенные мета-теги) |
Минимальный (скрипты проверяют каждый URL) |
| Потеря трафика |
до 40% |
менее 5% (в 8 раз меньше) |
| Стоимость |
сложно оценить, много переделок |
фиксированная смета, гарантия результата |
Почему миграция контента — это не просто копирование?
Ошибка на этапе миграции может привести к потере трафика и пользовательского опыта. Например, неправильные редиректы вызывают 404, а неверная трансформация полей ломает форматирование. Мы используем пошаговый аудит и автоматизированные скрипты, чтобы исключить ручные ошибки. Правильные 301 редиректы снижают потерю трафика в 3 раза по сравнению с их отсутствием, согласно HTTP 301.
Как гарантировать сохранение SEO при редизайне?
Ключевой принцип — полный аудит до начала работ. Мы сканируем сайт через Screaming Frog, выгружаем все URL с метаданными и анализируем Google Analytics, чтобы определить наиболее ценные страницы. Затем создаём детальный маппинг: каждому старому URL назначаем новый, используя регулярные выражения. Файл редиректов генерируется автоматически для Nginx или Next.js. После переноса валидируем все редиректы — битых ссылок не остаётся. Это позволяет сэкономить до 60% бюджета на исправление ошибок.
Как трансформировать структуру контента без потерь?
Часто редизайн меняет семантику полей: например, статический блок текста заменяется на StreamField с несколькими блоками. Мы пишем скрипты трансформации, которые переносят данные из старой модели в новую. Пример: для блога добавляем intro (первый параграф), callout и related_posts. Скрипт на TypeScript обрабатывает все посты за минуты.
// scripts/transform-post.ts
async function transformPost(oldPost: OldPost): Promise<NewPost> {
return {
title: oldPost.title,
slug: oldPost.slug,
intro: extractIntro(oldPost.body),
body: convertToStreamField(oldPost.body),
publishedAt: oldPost.date,
author: await findOrCreateAuthor(oldPost.authorName),
tags: oldPost.tags,
seoTitle: oldPost.seoTitle || oldPost.title,
seoDescription: oldPost.seoDescription || extractIntro(oldPost.body, 160),
};
}
function extractIntro(html: string, maxChars = 250): string {
const firstParagraph = html.match(/<p[^>]*>(.*?)<\/p>/s)?.[1] ?? '';
const text = firstParagraph.replace(/<[^>]*>/g, '');
return text.slice(0, maxChars).trim();
}
Что делать с медиафайлами при редизайне?
При переходе на новое хранилище (S3, CDN) нужно обновить все URL в контенте. Мы загружаем файлы в параллельных потоках, создаём маппинг старых путей на новые и заменяем ссылки во всех полях. Это исключает битые изображения и ускоряет загрузку страниц — LCP снижается на 30%.
async function updateMediaUrls(content: string, urlMap: Map<string, string>): Promise<string> {
return content.replace(
/https:\/\/old-domain\.com\/wp-content\/uploads\/([^\s"']+)/g,
(match, path) => urlMap.get(path) || `https://cdn.newdomain.com/${path}`
);
}
Кейс: редизайн интернет-магазина (500 страниц)
При редизайне с Bitrix на Next.js потребовалось перенести каталог, фильтры и личные кабинеты. Маппинг URL охватил 1500 старых ссылок, скрипты трансформации обработали 10 000 товаров за 2 дня. После cutover трафик восстановился за 48 часов, потери 404 не превысили 0.5%.
Процесс миграции за 5 шагов
| Шаг |
Длительность |
Действия |
| Аудит и маппинг |
3-5 дней |
Сканирование, анализ GA, создание карты редиректов |
| Трансформация данных |
2-4 дня |
Скрипты переноса всех полей и мета-тегов |
| Перенос медиа |
1-2 дня |
Загрузка на CDN, обновление ссылок |
| Параллельный запуск |
3-5 дней |
Staging с реальным контентом, финальное тестирование |
| Cutover и валидация |
1-2 дня |
DNS-переключение, проверка 301 и 404 |
Валидация результата
# Проверяем, что все старые URL либо отдают 301, либо 200
while IFS= read -r url; do
status=$(curl -s -o /dev/null -w "%{http_code}" "$url")
echo "$status $url"
done < old-urls.txt | grep -v "^301\|^200" > broken.txt
Чек-лист для проверки миграции:
- Все старые URL проверены на 301/200
- Мета-теги (title, description) перенесены
- Медиафайлы доступны по новым URL
- Отсутствуют битые ссылки на страницах
- Структура контента соответствует новой модели
- Google Analytics подтверждает восстановление трафика
Что входит в работу
- Полный аудит контента и структуры
- Разработка детального маппинга URL
- Написание скриптов трансформации данных
- Перенос и оптимизация медиафайлов
- Настройка корректных 301 редиректов
- Валидация всех страниц после миграции
- Документация и обучение команды
- Поддержка в течение месяца после запуска
Сроки и гарантии
Миграция контента при редизайне среднего сайта (100–500 страниц) занимает от 2 до 4 недель. Мы даём гарантию на сохранность данных и отсутствие битых ссылок после перехода. Получите консультацию по вашему проекту — оценим объём и риски бесплатно. Метод гарантирует сохранение до 95% трафика, что снижает затраты на восстановление в 2 раза. Закажите аудит контента перед редизайном — это бесплатно.
Редизайн и миграция сайта: смена CMS, сохранение SEO
Клиент пришёл через 6 недель после самостоятельного редизайна: «Мы переехали с WordPress на Tilda, трафик упал на 70%». Открываю Google Search Console — 847 страниц отдают 404, URL-структура полностью изменилась, не было ни одного 301-редиректа. Яндекс ещё не переиндексировал новый сайт, позиции рухнули. Восстановление заняло 4 месяца и обошлось в потерю выручки около 2 млн рублей за квартал. Наш опыт — более 7 лет и 80+ успешных миграций, гарантируем сохранение позиций при правильном подходе.
Почему миграции ломают SEO
Поисковики проиндексировали конкретные URL. Если /catalog/shoes/nike-air-max-270 превратился в /products/nike-air-max-270 без 301-редиректа — весь ссылочный вес страницы, весь трафик, все позиции уходят в никуда. Google говорит, что 301 передаёт ~99% PageRank, но на практике позиции восстанавливаются за 2–8 недель, а не мгновенно.
Чаще всего SEO ломают не из злого умысла, а потому что разработчик не думает о URL-структуре как о публичном API. Вот типичные поломки:
| Проблема |
Причина |
Решение |
| Дублированный контент |
Новый сайт открывается параллельно со старым |
Отключить индексацию dev-версии, настроить canonical |
| Потеря метаданных |
Title и description остались в старой CMS |
Экспорт через API, массовый импорт с проверкой |
| Изменение canonical |
Пагинация и фильтры сбросились |
Зафиксировать до разработки, внедрить в шаблон |
| Скорость просела |
Тяжёлые секции, неоптимизированные изображения |
Оптимизировать LCP, CLS, TTFB до запуска |
Как восстановить трафик после неудачной миграции?
Если трафик упал — действуйте немедленно:
- Краул нового сайта на 404 и сравнение с предмиграционным списком URL.
- Создание редиректов для всех потерянных страниц с трафиком >0.
- Проверка структурированных данных и мета-тегов на тестовой выборке.
- Ежедневный мониторинг Coverage в Search Console и позиций по топ-50 запросам.
- Если спустя 2 недели трафик не восстанавливается — глубокий аудит редиректов (транзитивность, цепочки, циклы).
В нашей практике такой случай: крупный интернет-магазин потерял 50% трафика при переезде с Битрикса на React + Strapi. За три дня восстановили 95% редиректов, через 3 недели трафик вернулся на 90% от исходного.
Предмиграционный аудит: что нельзя пропустить
До начала разработки нового сайта нужно:
- Полный краул текущего сайта через Screaming Frog или Sitebulb. Получить список всех индексируемых URL с трафиком из Google Search Console.
- Выгрузить все страницы с органическим трафиком >0 за последние 6 месяцев — это приоритет для редиректов.
- Зафиксировать все внешние ссылки (backlinks) на конкретные страницы — Ahrefs, Semrush.
- Сфотографировать текущие позиции по ключевым запросам — база для сравнения после миграции.
- Сохранить Core Web Vitals из Search Console за предыдущие 90 дней.
Таблица для фиксации:
| Этап аудита |
Инструмент |
Критичность |
| Сбор URL |
Screaming Frog + GSC |
Высокая |
| Трафик по страницам |
Google Analytics / Search Console |
Высокая |
| Внешние ссылки |
Ahrefs / Majestic |
Средняя |
| Позиции |
Яндекс.Wordstat / Serpstat |
Средняя |
| Core Web Vitals |
GSC CrUX |
Высокая |
Свяжитесь с нами для детального предмиграционного аудита — мы поможем выявить все риски и составить план действий.
Маппинг URL и редиректы
Для проекта с 200+ страницами создаём таблицу маппинга: старый URL → новый URL → статус (301, объединён с другой страницей, удалён). Каждая строка проходит проверку: реально ли контент переехал именно сюда.
В Laravel редиректы через конфигурационный файл и middleware, не через .htaccess — это быстрее и управляемо. Для WordPress → Next.js: редиректы настраиваются в next.config.js (статические) и на уровне Nginx/CDN для динамических. Старый .htaccess на shared хостинге с 500+ строками редиректов — особый ад. Каждый редирект проверяется последовательно, производительность падает. Переносим в Nginx map директиву или Redis-кэш для динамического поиска. Подробнее в Wikipedia: HTTP 301.
Миграция контента из разных CMS
WordPress → Headless CMS (Contentful, Strapi, Sanity):
WordPress REST API или WP All Export для экспорта постов, метаполей, медиафайлов. Скрипт миграции на Node.js: парсим экспорт, трансформируем структуру, загружаем через API CMS. Медиафайлы перегружаем в новое хранилище, обновляем ссылки в контенте. Типичная проблема — shortcodes в контенте WordPress ([gallery id="123"]): нужен парсер и трансформация в новый формат.
1С-Битрикс → современный стек:
Битрикс хранит контент в нестандартных таблицах с IBLOCK_ELEMENT_PROPERTY. Прямой SQL-экспорт через phpMyAdmin или Bitrix API. Трансформация — самая долгая часть из-за специфики структуры данных Битрикса.
Тяжёлые WYSIWYG → структурированный контент:
Годы редактирования в FCKEditor/TinyMCE оставляют inline-стили, нестандартные теги, сломанные атрибуты. HTML sanitize + трансформация в Markdown или Portable Text (Sanity) с ручной проверкой проблемных страниц.
| CMS |
Инструменты миграции |
Сложность |
Риски |
| WordPress |
WP All Export, WP-CLI, REST API |
Средняя |
Shortcodes, meta fields |
| 1C-Битрикс |
Bitrix API, SQL-экспорт |
Высокая |
Сложная структура, свойства инфоблоков |
| Joomla |
J2XML, прямая выгрузка из БД |
Высокая |
Устаревшие расширения |
| Tilda/Readymag |
Экспорт через API (ограничен) |
Средняя |
Нет полного доступа к контенту |
SEO-сохранение технических элементов
Структурированные данные (Schema.org) — если на старом сайте были Product, Article, BreadcrumbList разметки, они должны быть и на новом. Google Search Console → Enhancement reports покажут потерю rich snippets.
Sitemap XML: генерируется автоматически, отправляется в GSC через день после запуска. Старый sitemap остаётся до полной переиндексации.
hreflang для мультиязычных сайтов: если теги потерялись при миграции, через несколько недель начнутся конфликты между языковыми версиями в выдаче.
Open Graph и Twitter Card мета-теги — часто забывают при смене шаблона, страницы перестают корректно отображаться при шаринге в соцсетях.
Запуск и мониторинг первых недель
DNS propagation: переключение DNS занимает до 48 часов, планируйте запуск с запасом. Cloudflare как DNS-провайдер — propagation занимает минуты, не часы.
После запуска ежедневно мониторим: Search Console → Coverage (ошибки индексации), Analytics → органический трафик, сравнение с аналогичным периодом прошлого года, краулинг сайта на 404-ошибки.
Первые 2 недели — критический период. Если трафик падает на 30%+ — немедленный аудит редиректов и сравнение с предмиграционным краулом.
Чек-лист на запуск (спойлер)
- [ ] Все 301 редиректы работают и не образуют цепочек
- [ ] Sitemap отправлен в GSC и Яндекс.Вебмастер
- [ ] Прописаны canonical на всех страницах
- [ ] Проверено отображение Open Graph / Twitter Card
- [ ] Скорректированы robots.txt и мета-теги noindex
- [ ] Core Web Vitals в зелёной зоне (LCP <2.5s, CLS <0.1, INP <200ms)
Что входит в работу
Результаты, которые вы получаете:
- План миграции с маппингом URL и редиректов в формате Excel/Google Sheets.
- Настроенные 301 редиректы на серверном уровне (Nginx/Cloudflare/Vercel).
- Перенесённый контент с проверкой целостности: изображения, мета-поля, ссылки.
- Структурированные данные (Schema.org) на новом сайте, идентичные старым или улучшенные.
- Отчёт по SEO: динамика позиций через 1, 3 и 6 недель после запуска.
- Мониторинг Coverage в Search Console с уведомлениями об ошибках.
- Гарантия сохранения позиций: если трафик падает более чем на 15% в течение первого месяца — бесплатный аудит и коррекция.
Сроки и ориентиры
- Редизайн с миграцией небольшого сайта (до 100 страниц): 4–8 недель.
- Миграция e-commerce с 500+ страниц товаров: 8–16 недель.
- Только техническая часть миграции (редиректы, метаданные) без редизайна: 1–3 недели.
Стоимость рассчитывается индивидуально по объёму. Средняя экономия клиента за счёт сохранения трафика после миграции — от 300 000 до 500 000 рублей в год.
Получите консультацию по вашему проекту — мы ответим в течение дня. Закажите предмиграционный аудит вашего сайта и получите точную смету с планом редиректов. Свяжитесь с нами, чтобы обсудить детали.