Перенесення магазину на Shopify із збереженням SEO

Наша компанія займається розробкою, підтримкою та обслуговуванням сайтів будь-якої складності. Від простих односторінкових сайтів до масштабних кластерних систем, побудованих на мікро сервісах. Досвід розробників підтверджено сертифікатами від вендорів.

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

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

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

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

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

Етапи розробки

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

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

Старий магазин на WooCommerce гальмує, клієнти скаржаться на повільні сторінки, а ви витрачаєте години на оновлення плагінів. Переїзд на Shopify — це перехід на SaaS-платформу з керованою інфраструктурою: вбудований CDN, автоматичне масштабування, Shopify Payments та App Store. Ми перенесли понад 50 магазинів — від 200 до 50 000 товарів. Гарантуємо збереження позицій у пошуку та коректне перенесення всіх даних. Але просто скопіювати дані не можна — потрібен акуратний перенос із збереженням SEO та бізнес-логіки.

Дані, доступні для перенесення

Тип даних Підтримується Інструменти
Товари Так (з варіантами, зображеннями, метафілдами) Matrixify, LitExtension, API
Колекції Так (ручні та автоматичні) Matrixify
Клієнти Так (з історією замовлень) LitExtension
Замовлення Так (тільки для читання) LitExtension, API
Блог Так Matrixify
301-редиректи Так Matrixify

Також переносяться SEO-поля, метадані, зображення та контент. Кастомні функції (знижки, доставка) потребують доопрацювання через Shopify Functions.

Інструменти міграції

Інструмент Тип Підтримувані дані Складність
Shopify Importer Вбудований Тільки товари (CSV) Низька
Matrixify (Excelify) Додаток Товари, колекції, клієнти, замовлення, метафілди, редиректи Середня
LitExtension Сервіс 50+ CMS, замовлення, клієнти, SEO Низька (техпідтримка)

Matrixify обходиться дешевше при великому обсязі, але потребує ручного налаштування. LitExtension дорожчий, але автоматизує перенесення замовлень та паролів. Для магазинів з кастомами використовуємо зв'язку Matrixify + REST API.

Як ми переносили магазин побутової техніки: кейс з нашої практики

Нещодавно переносили магазин побутової техніки з WooCommerce на Shopify — 8000 товарів, 15 000 клієнтів, історія замовлень за 3 роки. Використовували Matrixify + Shopify REST API. Спочатку експортували дані з WooCommerce через CSV. Ось скрипт для базового експорту товарів:

import csv
import json
import mysql.connector

conn = mysql.connector.connect(host='localhost', user='root', password='pass', database='wordpress')
cursor = conn.cursor(dictionary=True)

cursor.execute("""
    SELECT p.ID, p.post_title, p.post_content, p.post_status,
           pm_price.meta_value as price,
           pm_sku.meta_value as sku
    FROM wp_posts p
    LEFT JOIN wp_postmeta pm_price ON pm_price.post_id = p.ID AND pm_price.meta_key = '_price'
    LEFT JOIN wp_postmeta pm_sku ON pm_sku.post_id = p.ID AND pm_sku.meta_key = '_sku'
    WHERE p.post_type = 'product' AND p.post_status = 'publish'
""")

products = cursor.fetchall()

with open('shopify_import.csv', 'w', newline='', encoding='utf-8') as f:
    writer = csv.DictWriter(f, fieldnames=[
        'Handle', 'Title', 'Body (HTML)', 'Vendor', 'Published',
        'Variant SKU', 'Variant Price', 'Variant Inventory Qty'
    ])
    writer.writeheader()

    for product in products:
        handle = product['post_title'].lower().replace(' ', '-')
        writer.writerow({
            'Handle': handle,
            'Title': product['post_title'],
            'Body (HTML)': product['post_content'],
            'Vendor': 'Default',
            'Published': 'TRUE' if product['post_status'] == 'publish' else 'FALSE',
            'Variant SKU': product['sku'] or '',
            'Variant Price': product['price'] or '0',
            'Variant Inventory Qty': '100',
        })

Потім через Matrixify імпортували колекції та клієнтів. Для замовлень використовували Shopify API, оскільки Matrixify не відновлює замовлення як завершені. Після міграції швидкість завантаження сторінок знизилася з 4 до 1.5 секунд, трафік зберігся на рівні 98%. За даними аналізу, 301-редиректи передають до 90% посилальної ваги.

Хочете такий самий результат? Замовте консультацію для оцінки вашого магазину.

API-міграція (Shopify Admin API)

Для кастомних даних (знижки, теги) використовуємо REST API:

import shopify
import requests

shopify.ShopifyResource.set_site(f"https://{API_KEY}:{API_SECRET}@{SHOP_NAME}.myshopify.com/admin/api/latest")

for product_data in source_products:
    product = shopify.Product()
    product.title = product_data['title']
    product.body_html = product_data['description']
    product.vendor = product_data['brand']
    product.variants = [{
        'sku': product_data['sku'],
        'price': str(product_data['price']),
        'inventory_quantity': product_data['stock'],
        'inventory_management': 'shopify',
    }]
    product.save()

    # Завантажити зображення
    if product_data.get('image_url'):
        image = shopify.Image({'product_id': product.id})
        image.src = product_data['image_url']
        image.save()

Чому важливі 301-редиректи?

Після зміни URL структура змінюється: було /catalog/category/product, стало /products/product. Без 301-редиректів Google втрачає трафік. Типова помилка — забути про редиректи для сторінок категорій та фільтрів. Налаштовуємо CSV для імпорту:

Redirect: Path,Redirect: Target
/catalog/computers/laptop-model-x,/products/laptop-model-x
/catalog/phones/samsung-galaxy-s24,/products/samsung-galaxy-s24

Імпорт через Matrixify або вручну в Admin → Online Store → Navigation → URL Redirects. Ми гарантуємо, що після міграції трафік залишиться на попередньому рівні.

Як підготувати CSV для імпорту: покрокова інструкція

  1. Експортуйте дані зі старої CMS у CSV-файл.
  2. Перевірте відповідність полів: Handle, Title, Body HTML, Variant SKU, Variant Price, Variant Inventory Qty.
  3. Видаліть зайві символи та продубльовані рядки.
  4. Імпортуйте через Matrixify або штатний імпортер Shopify.
  5. Перевірте помилки в логах імпорту та виправте.

Що робити з кастомними функціями?

Кастомна логіка знижок, доставки та податків не переноситься автоматично. Для цього використовуємо Shopify Functions або налаштовуємо додатки. Наприклад, складні правила знижок потребують переписування мовою Shopify Flow. Інтеграції з 1С та CRM підключаються через Shopify API.

Які дані не переносяться автоматично? Офіційна документація Shopify рекомендує: всі кастомні функції, інтеграції та податки потребують окремого налаштування.

Скільки часу займає міграція?

Етап Тривалість
Аналіз та проектування 1–2 дні
Експорт та трансформація 1–3 дні
Імпорт та редиректи 1–2 дні
Тестування та запуск 2–3 дні

Для магазину до 5000 товарів з клієнтами та налаштуванням теми — 5–10 днів. Крупний магазин з переробкою функціональності — від 3 до 6 тижнів. Вартість розраховується індивідуально після аудиту.

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

  • Повне вивантаження даних зі старої CMS
  • Чистка та приведення до формату Shopify
  • Імпорт товарів, клієнтів, замовлень
  • Налаштування колекцій та метафілдів
  • Створення 301-редиректів по карті URL
  • Тестове замовлення та перевірка всіх сценаріїв
  • Навчання команди роботі в Shopify

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

Редизайн та міграція сайту: зміна CMS, збереження SEO

Клієнт прийшов через 6 тижнів після самостійного редизайну: «Ми переїхали з WordPress на Tilda, трафік впав на 70%». Відкриваю Google Search Console — 847 сторінок віддають 404, URL-структура повністю змінилася, жодного 301-редиректу. Яндекс ще не переіндексував новий сайт, позиції впали. Відновлення зайняло 4 місяці та призвело до значних фінансових втрат. Наш досвід — понад 7 років та 80+ успішних міграцій. Клієнти, які замовляють професійну міграцію, відновлюють трафік у 3 рази швидше, ніж ті, хто виконує її самостійно.

Чому міграції ламають 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 до запуску

Як відновити трафік після невдалої міграції?

Якщо трафік впав — дійте негайно:

  1. Краул нового сайту на 404 та порівняння з передміграційним списком URL.
  2. Створення редиректів для всіх втрачених сторінок з трафіком >0.
  3. Перевірка структурованих даних та мета-тегів на тестовій вибірці.
  4. Щоденний моніторинг Coverage в Search Console та позицій за топ-50 запитами.
  5. Якщо через 2 тижні трафік не відновлюється — глибокий аудит редиректів (транзитивність, ланцюжки, цикли).

У нашій практиці такий випадок: великий інтернет-магазин втратив 50% трафіку при переїзді з Бітрікса на React + Strapi. За три дні відновили 95% редиректів, через 3 тижні трафік повернувся на 90% від початкового.

Як підготувати сайт до міграції: що не можна пропустити?

До початку розробки нового сайту потрібно:

  1. Повний краул поточного сайту через Screaming Frog або Sitebulb. Отримати список всіх індексованих URL з трафіком з Google Search Console.
  2. Вивантажити всі сторінки з органічним трафіком >0 за останні 6 місяців — це пріоритет для редиректів.
  3. Зафіксувати всі зовнішні посилання (backlinks) на конкретні сторінки — Ahrefs, Semrush.
  4. Сфотографувати поточні позиції за ключовими запитами — база для порівняння після міграції.
  5. Зберегти 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-кеш для динамічного пошуку.

Міграція контенту з різних 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
1С-Бітрікс 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)

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

Результати, які ви отримуєте:

  1. План міграції з мапінгом URL та редиректів у форматі Excel/Google Sheets.
  2. Налаштовані 301 редиректи на серверному рівні (Nginx/Cloudflare/Vercel).
  3. Перенесений контент з перевіркою цілісності: зображення, мета-поля, посилання.
  4. Структуровані дані (Schema.org) на новому сайті, ідентичні старим або покращені.
  5. Звіт по SEO: динаміка позицій через 1, 3 та 6 тижнів після запуску.
  6. Моніторинг Coverage в Search Console з повідомленнями про помилки.
  7. Гарантія збереження позицій: якщо трафік падає більш ніж на 15% протягом першого місяця — безкоштовний аудит та корекція.

Терміни та орієнтири

  • Редизайн з міграцією невеликого сайту (до 100 сторінок): 4–8 тижнів.
  • Міграція e-commerce з 500+ сторінок товарів: 8–16 тижнів.
  • Тільки технічна частина міграції (редиректи, метадані) без редизайну: 1–3 тижні.

Вартість розраховується індивідуально за обсягом. Середня економія клієнта за рахунок збереження трафіку після міграції — суттєва сума для бізнесу.

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