Магазин «Термика» (1 846 товаров) работал на WordPress + WooCommerce: сайт тормозил, обновления ломали плагины, остатки из 1С загружали вручную раз в день. Перенесли каталог, контент, покупателей и архив заказов на «1С-Битрикс: Малый бизнес», сохранили адреса или поставили 301-редиректы, подключили автоматический обмен с 1С.
Собрали все адреса из трёх источников (обход сайта, sitemap.xml, страницы в поиске по Вебмастеру и Search Console) и для каждого решили: оставить как есть, перенаправить 301 на новый адрес или закрыть. Ниже фрагмент таблицы из 2 612 строк.
| Старый адрес (WordPress) | Новый адрес (Битрикс) | Действие | Почему так |
|---|---|---|---|
/dostavka/ | /dostavka/ | сохранён | Страница в топ-10 по «доставка котлов»: адрес не трогаем |
/product-category/kotly/gazovye/ | /catalog/kotly/gazovye/ | 301 | Раздел каталога: в Битриксе ЧПУ по шаблону /catalog/#SECTION_CODE_PATH#/ |
/product/baxi-eco-4s-24f/ | /catalog/kotly/gazovye/baxi-eco-4s-24f/ | 301 | Символьный код товара перенесён из slug WordPress без изменений |
/?p=1287 | /articles/kak-vybrat-kotel/ | 301 | Короткие ссылки WordPress встречались во внешних ссылках форумов |
/2021/05/kak-vybrat-kotel/ | /articles/kak-vybrat-kotel/ | 301 | Статьи блога переехали в раздел «Статьи» без даты в адресе |
/kontakty/ | /kontakty/ | сохранён | Служебные страницы сохранили прежние адреса |
/cart/, /checkout/ | /personal/cart/, /personal/order/make/ | noindex | Корзина и оформление не нужны в поиске; 301 для старых закладок |
/?s=котел&post_type=product | /search/?q=котел | noindex | Страницы поиска закрыты в robots.txt и мета-тегом |
/tag/aktsiya-2019/ | — | 410 | Пустые метки без трафика: отдаём 410, чтобы быстрее выпали из индекса |
/brand/baxi/ | /brands/baxi/ | 301 | Страницы брендов собраны на отдельном инфоблоке с фильтром |
Правила 301 лежат в карте nginx (1 904 строки), а не в .htaccess: так их проще проверять и они не замедляют каждый запрос. После выкладки скрипт проходит по всем 2 612 старым адресам и сверяет ответ сервера и конечный адрес.
# /etc/nginx/redirects.map — фрагмент, 1 904 строки map $request_uri $new_uri { /product-category/kotly/gazovye/ /catalog/kotly/gazovye/; /product/baxi-eco-4s-24f/ /catalog/kotly/gazovye/baxi-eco-4s-24f/; /2021/05/kak-vybrat-kotel/ /articles/kak-vybrat-kotel/; /brand/baxi/ /brands/baxi/; } if ($new_uri) { return 301 $new_uri; }
| Отвечают 200 по прежнему адресу | 548 |
| 301 одним прыжком на правильный адрес | 1 904 |
| Цепочки редиректов (2 и больше прыжков) | 0 |
| Закрыты noindex / robots.txt | 131 |
| 410 (удалены осознанно) | 29 |
| 404 по ошибке | 0 |
Данные выгрузили из базы WordPress, сопоставили поля и загрузили в инфоблоки Битрикса скриптом на тестовой копии. Каждый блок сверяли по количеству и по выборке руками.
Дерево категорий WooCommerce → разделы инфоблока; символьные коды из slug, описания и SEO-поля разделов.
Название, описание, артикул, бренд, 38 характеристик → свойства инфоблока; варианты (мощность, контур) → торговые предложения.
Оригиналы перенесены, превью пересобраны в WebP; alt из названия товара, где его не было.
Первичная загрузка из 1С, дальше автоматически по CommerceML; связь по артикулу и GUID 1С.
Учётные записи с адресами и телефонами; пароли не переносятся — при первом входе покупатель задаёт новый по ссылке из письма.
Заказы за 3 года с составом и статусами, чтобы покупатели видели историю в личном кабинете.
Блог → инфоблок «Статьи», служебные страницы → статические; внутренние ссылки в текстах переписаны на новые адреса.
Перенесены с датой и оценкой, разметка Product и AggregateRating на карточке.
title и description из Yoast перенесены в SEO-свойства элементов и разделов, пустые заполнены шаблоном.
По нему сверяем тестовую копию до запуска и сайт в первые недели после. Отметки можно ставить прямо здесь.
Позиции в поиске после переезда не гарантирует никто: мы снижаем риски сохранением адресов, редиректами и наблюдением.
Вся работа идёт на тестовой копии; рабочий сайт переключается только в конце. Сроки этапов для магазина такого размера, у небольшого сайта этапы короче.
Обход сайта, выгрузка из поиска, список плагинов и того, что они делали, доступы к хостингу и 1С.
Инфоблоки, свойства, ЧПУ под прежние адреса, шаблон по текущему дизайну с адаптивом.
Разделы, товары, торговые предложения, картинки, отзывы; сверка количеств и выборки.
Статьи, страницы, учётные записи покупателей, архив заказов.
Карта 301, мета-данные, canonical, sitemap, robots.txt, микроразметка.
CommerceML с 1С:УТ 11, ЮKassa с чеками 54-ФЗ, расчёт доставки; тестовые заказы.
Чек-лист, переключение домена, проверка всех адресов скриптом, отправка sitemap.
Ошибки сканирования, 404, скорость, заказы и обмен с 1С; отчёт раз в неделю.
Цифры демонстрационные; в реальном отчёте каждая строка подтверждается скриншотом Метрики, Вебмастера или PageSpeed.
LCP по PageSpeed; вес страницы 4,1 → 1,3 МБ
Обмен с 1С автоматический, ручных выгрузок нет
от уровня до переезда по неделям, без провала
по старым адресам, 29 страниц удалены осознанно (410)
нет ручной загрузки CSV и правки цен
ядро и модули обновляются без поломок плагинов