Як зберегти SEO-позиції при міграції сайту?
Уявіть: ви переїжджаєте на новий движок, а в день запуску бачите порожні title і 404 на кожній сторінці. Втрата позицій за одним високочастотним запитом може коштувати значних втрат щомісяця. Така ситуація зустрічається на десятках проєктів. Без правильного перенесення SEO-даних і редиректів пошукова видача обнуляється за кілька годин, а відновлення займає місяці. Наш підхід — автоматизація експорту, ручна валідація та детальний чек-лист. Автоматизація скорочує час перенесення в 3-4 рази порівняно з ручним копіюванням, а ручна валідація ключових сторінок виключає помилки маппінгу. Ми вже перенесли SEO-дані для 50+ проєктів — від невеликих блогів до інтернет-магазинів з 15 000 товарів.
Як ми переносимо мета-теги без втрат?
Основні причини втрат — різні формати зберігання мета-полів у старій та новій CMS, відсутність маппінгу URL та «забуті» редиректи плагінів. Наприклад, у WordPress (Yoast) мета-теги лежать у wp_postmeta з ключами _yoast_wpseo_title, а в новій headless CMS — у полі seo.metaTitle JSON-об'єкта. Ми автоматично трансформуємо структуру, зберігаючи всі зв'язки. Для цього пишемо Python-скрипт, який читає стару БД, маппить поля на нову схему та завантажує через REST API. Це виключає людські помилки та прискорює перенесення.
| Тип даних | Приклад поля | Джерело (WP) | Приймач (Strapi) |
|---|---|---|---|
| Meta title | _yoast_wpseo_title |
wp_postmeta |
seo.metaTitle |
| Meta description | _yoast_wpseo_metadesc |
wp_postmeta |
seo.metaDescription |
| Open Graph | og:title, og:description |
_yoast_wpseo_opengraph-title |
seo.openGraph |
| Canonical | canonical |
_yoast_wpseo_canonical |
seo.canonicalURL |
| Robots noindex | noindex |
_yoast_wpseo_meta-robots-noindex |
seo.metaRobots |
| Alt-тексти | alt |
wp_postmeta (attachments) |
Маппінг через ID медіафайлу |
| Schema.org | Article, Product, BreadcrumbList |
JSON-LD у контенті | Імпорт через API |
Ключовий момент: ми не просто копіюємо поля, а перевіряємо їх коректність на етапі імпорту. Наприклад, довжина meta description не має перевищувати 160 символів — скрипт автоматично обрізає зайве та зберігає в журнал. Згідно з Google Search Central, canonical URL обов'язковий для уникнення дублювання.
Перелік перенесених даних
Окрім основних мета-тегів, ми переносимо hreflang-атрибути, canonical URL, розмітку Schema.org, а також alt-тексти зображень. Кожен елемент критичний для збереження позицій. Наприклад, відсутність canonical може викликати дублювання сторінок, що веде до штрафів за контент. Ручна перевірка 100 сторінок займає близько 5 годин, автоматизована — 10 хвилин, що в 30 разів швидше.
Чому редиректи критичні для SEO?
Навіть одне «бите» посилання може коштувати кількох позицій. Принцип: кожен старий URL має повертати 301 на релевантний новий. Згідно з HTTP/1.1 specification, 301 редирект передає вагу сторінки. Ми не допускаємо ланцюжків редиректів (301 → 302), глибше одного кроку. Налаштування через nginx map-файл дає нульову затримку і не навантажує CMS. (Приклад конфігурації nginx map для редиректів опущено через технічні обмеження.)
Для порівняння, плагін Redirection у WordPress створює 301 редиректи через PHP, що сповільнює відповідь сервера. nginx map працює на рівні ядра, забезпечуючи мінімальний TTFB.
| Метод | Продуктивність | Складність налаштування | Підтримка |
|---|---|---|---|
| nginx map | Висока | Середня | Будь-який nginx-сервер |
| .htaccess | Середня | Низька | Apache |
| Плагін (Redirection) | Низька | Дуже низька | WordPress |
Як ми перевіряємо результат?
Після імпорту запускаємо скрипт валідації, який обходить всі старі URL з sitemap.xml та перевіряє:
- Код відповіді (301 або 200) — не 404 і не 500.
- Наявність
<title>та<meta name="description">на цільових сторінках. - Збіг canonical URL з цільовим.
- Відсутність ланцюжків редиректів.
Для найважливіших сторінок (landing, категорії з великим трафіком) проводимо ручну перевірку: порівнюємо старі та нові мета-теги, дивимося індексацію в Search Console. Типові помилки при міграції:
- Використання 302 замість 301 (тимчасові редиректи не передають вагу).
- Забуті редиректи плагінів (наприклад, Redirection не експортує всі правила).
- Відсутність маппінгу для кастомних полів (ACF, Pods).
Всі ці помилки ми виявляємо на етапі аудиту та виправляємо до запуску.
Як ми переносимо SEO-дані: покроково
- Аудит старої CMS — визначаємо всі джерела SEO-полів: плагіни, кастомні метабокси, ACF.
- Експорт в універсальний JSON — скрипт на Python вивантажує дані з БД WordPress (або іншої CMS).
- Трансформація під нову CMS — маппінг полів:
_yoast_wpseo_title→seo.metaTitle,_yoast_wpseo_robots→seo.metaRobots. - Імпорт через REST API — пакетне завантаження з контролем помилок (таймаути, дублікати).
- Генерація редиректів — створення CSV-файлу
old_url, new_url, 301та nginx map-конфігу. - Валідація — перевірка всіх URL на 404, 301-ланцюжки, наявність мета-тегів та Schema.org.
Кейс: Мігрували інтернет-магазин з 15 000 товарів з WordPress (WooCommerce) на Strapi + Next.js. Старі URL категорій змінили структуру — /category/electronics → /catalog/electronics. Написали маппінг через CSV, завантажили 12 000 редиректів за 2 дні. Результат: позиції за 90% запитів не змінилися, трафік виріс на 3% завдяки прискоренню сайту. Лише за рахунок автоматизації ми заощадили клієнту значний час і кошти.
При перенесенні 10 000 сторінок кожен URL обробляється індивідуально.
Що входить у роботу?
- Повна карта старих та нових URL (всі сторінки, включаючи архівні).
- Експорт усіх SEO-полів (title, description, OG, Schema.org, hreflang).
- Генерація та налаштування 301-редиректів (nginx map або CSV).
- Імпорт даних у нову CMS через API.
- Валідація з автоматичним звітом (статуси, помилки).
- Ручна перевірка топ-20 сторінок за трафіком.
- Документація щодо процесу та передача доступів.
Терміни та умови проведення робіт
Повний перенос SEO-даних (експорт, імпорт, редиректи, валідація) займає від 2 до 5 робочих днів залежно від обсягу та складності. Умови розраховуються індивідуально — залежить від кількості сторінок, числа CMS-полів та необхідності кастомних трансформацій. Зв'яжіться з нами — оцінимо ваш проєкт за один день.
Чому обирають нас?
- Досвід понад 5 років у веб-розробці та міграціях.
- 50+ успішних проєктів із перенесення SEO-даних.
- Гарантія збереження позицій — якщо через нашу помилку позиції впали, виправляємо безкоштовно.
- Сертифіковані інженери з WordPress, Strapi, Next.js.
Хочете уникнути втрати трафіку при міграції? Замовте аудит SEO-перенесення прямо зараз — отримайте консультацію та попередній план робіт протягом дня.







