Перенесення між CMS: збереження контенту та SEO-позицій

Перенесення між CMS: збереження контенту та SEO-позицій

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Перенесення між CMS: збереження контенту та SEO-позицій
Середній
~1-2 тижні

Наші компетенції:

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1418
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1286
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    983
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1243
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    983
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    998

Перенесення між CMS: збереження контенту та SEO-позицій

WordPress з 10 000 записів, headless-архітектура для мультиканальної публікації — типовий сценарій, де прямий експорт-імпорт ламає SEO та структуру. Схеми даних несумісні, медіафайли в прив'язках, Rich Text втрачає форматування. Ми вирішуємо це завдання через ETL-пайплайн з батчингом та повторною обробкою. За 5 років провели 30+ міграцій — від WP→Strapi до Drupal→Contentful. Економія бюджету сягає 40% (до 200 000 грн на проєкті з 5000 записів) завдяки автоматизації порівняно з ручною міграцією. Наша команда має 10+ років досвіду у веб-розробці, що гарантує надійність перенесення.

Звичайний дамп бази не працює: 60% часу йде на трансформацію. Мапінг типів контенту, перебудова таксономій, конвертація Rich Text — кожен етап потребує свого підходу.

Як підготувати дані до міграції?

Перший крок — інвентаризація. Збираємо схему: типи контенту, поля, таксономії, метадані. Для WordPress це пости, сторінки, користувачі, шорткоди; для Contentful — моделі та локалі. Мапінг робимо вручну за участю вашої команди — це гарантує 100% перенесення.

Мапінг типів контенту

Тип даних WordPress Strapi Sanity
Пост wp_posts.post_type = 'post' Post collection post document
Сторінка wp_posts.post_type = 'page' Page collection page document
Метаполе wp_postmeta Dynamic zone metadata object

Такий мапінг лягає в основу скриптів трансформації.

Чому ETL-пайплайн швидший за ручне перенесення?

ETL — Extract–Transform–Load — дозволяє автоматизувати навіть складні перетворення. Батчинг по 50 записів із затримкою 500 мс пришвидшує процес у 3 рази порівняно з поштучною обробкою. Приклад скрипта:

// scripts/cms-migration.ts interface MigrationConfig { source: 'wordpress' | 'contentful' | 'ghost'; target: 'strapi' | 'contentful' | 'sanity'; contentTypes: ContentTypeMapping[]; } async function migrate(config: MigrationConfig) { const extractor = getExtractor(config.source); const transformer = getTransformer(config.source, config.target); const loader = getLoader(config.target); for (const mapping of config.contentTypes) { console.log(`Migrating: ${mapping.sourceName} → ${mapping.targetName}`); const items = await extractor.extract(mapping.sourceName); const transformed = items.map(item => transformer.transform(item, mapping)); for (const batch of chunk(transformed, 50)) { await loader.load(mapping.targetName, batch); await delay(500); } } } 

Міграція Rich Text

Найскладніший етап — трансформація форматів. HTML → Portable Text (Sanity) або Markdown (Contentful) потребує рекурсивного парсингу DOM. Блоки зображень, вбудовані шорткоди — кожен елемент обробляється за правилом. Наприклад, для перенесення 15 000 зображень з WordPress у Strapi знадобилося 2 дні на батчинг і перелінковку.

// WordPress HTML → Portable Text import { htmlToPortableText } from '@portabletext/html'; function transformWpContent(html: string) { return htmlToPortableText(html, { rules: [ { deserialize(el, next, block) { if (el.tagName === 'IMG') { return block({ _type: 'image', _key: Math.random().toString(36).slice(2), src: el.getAttribute('src'), alt: el.getAttribute('alt'), }); } }, }, ], }); } 

Після завантаження контенту генеруємо мапінг редиректів і налаштовуємо 301 редиректи.

const redirects = oldPosts.map(old => ({ source: old.url, destination: newPosts.find(n => n.slug === old.slug)?.url ?? '/blog', permanent: true, })); 

Що робити з SEO-структурою після міграції?

Старі URL, мета-теги, карти сайту — все переноситься без втрати позицій. Використовуємо 301 редиректи та лог помилок. Як зазначено в документації WordPress, коректні редиректи критичні для збереження PageRank. Якщо ви плануєте міграцію, зв'яжіться з нами — ми допоможемо спланувати бюджет і терміни.

Основні складності міграції

Rich Text з вкладеннями

У WordPress контент зберігається як HTML із вбудованими шорткодами. У Contentful — на Markdown, у Sanity — Portable Text. Алгоритм рекурсивно парсить DOM і збирає блоки.

SEO-структура

Переносимо мета-теги, заголовки, карти сайту. Налаштовуємо 301 редиректи для збереження позицій. Налаштування редиректів у Strapi описано в офіційному плагіні Redirects.

Даунтайм

Мінімізуємо простій до 15 хвилин за рахунок паралельного запису та перемикання DNS.

Користувачі та права

Імпортуємо акаунти, ролі та підписки, забезпечуючи безшовну аутентифікацію.

Процес роботи

  1. Аудит — інвентаризуємо контент, схему, SEO-теги, медіа.
  2. Мапінг — складаємо відповідності типів контенту та полів.
  3. Розробка скриптів — пишемо ETL-пайплайн під вашу пару CMS.
  4. Тестова міграція — прогоняємо на копії, перевіряємо цілісність даних та метаданих.
  5. Бойовий запуск — виконуємо перенесення у вікно з мінімальним трафіком.
  6. Пост-міграція — моніторинг помилок 404, коригування редиректів, передача документації.

Терміни

Обсяг контенту Термін
до 500 записів 1–2 тижні
500–5000 записів 2–4 тижні
5000+ записів від 4 тижнів

Вартість розраховується індивідуально — пишіть, оцінимо проєкт за один день. Отримайте консультацію інженера з міграції.

Чек-лист постміграції

  • Перевірити 301 редиректи для топ-100 сторінок
  • Звірити кількість записів у старій та новій CMS (count)
  • Протестувати форми, пошук, фільтри
  • Завантажити карту сайту в Search Console
  • Налаштувати моніторинг 404

Що входить у роботу

  • План міграції та мапінг.
  • Скрипти ETL з урахуванням вашої CMS.
  • Налаштування 301 редиректів та карти сайту.
  • Тестування на staging і моніторинг після запуску.
  • Документація (список редиректів, схема даних, інструкція).
  • Підтримка 30 днів після міграції.

Зв'яжіться з нами для консультації щодо перенесення вашого сайту — оцінимо бюджет і терміни за один день. Замовте міграцію зараз, щоб обговорити деталі без зобов'язань. Гарантуємо збереження даних і нульовий даунтайм.