Во живо · статус OK
Back to blog
Развој14 min

Миграција од WordPress кон Next.js: водич чекор по чекор 2026

TL;DR

Миграцијата на WordPress сајт кон Next.js следи 7 чекори: ревизија на постоечката содржина, експорт преку WP REST API или приклучок, избор на Next.js архитектура (app router + static export), редизајн на UI, поставување 301 за зачувување на SEO, валидација во Search Console, постапно лансирање. Добро спроведена миграција го одржува рангирањето и го дели TTFB со 10. OptionWeb сајтови: 4-8 недели според обемот.

Julien Daniel
ByJulien Daniel
Founder & CTO, OptionWeb
Share
Дијаграм за миграција од WordPress кон Next.js со тек на содржината и пренасочувања

WordPress сè уште погонува 43% од светскиот веб во 2026, но неговите ограничувања брзо се појавуваат: просечни перформанси out-of-the-box (типичен TTFB 600-1500ms), голема површина за напади (43% од веб хаковите се насочени кон WordPress според Sucuri 2024), зависност од приклучоци, скриени трошоци за ажурирања. За многу МСП што ги придружуваме во OptionWeb, прашањето веќе не е 'дали да мигрираме?' туку 'како да мигрираме без да ја скршиме SEO?'. Еве го целосниот водич применет на 30+ миграции.

1. Зошто да мигрираш (и кога не)

Миграцијата има смисла во 4 случаи: критични перформанси за бизнисот (е-трговија, агресивен lead gen), голем редизајн што е веќе планиран, технички тим што сака да излезе од legacy plugin hell, или потреба за меѓународно скалирање (нативниот i18n на Next.js го победува WPML/Polylang).

Не мигрирај ако: нетехнички уредувачки тим без CMS алтернатива, буџет < 10 000 €, редизајн само за да 'се биде модерен' (вистинската причина невидлива), или сајт со >100 критични приклучоци без Next.js еквивалент.

2. Претходна ревизија на WordPress сајтот

Ревизијата е најзанемарениот и најкритичниот чекор. Прескокнување на оваа фаза = загарантирана загуба на SEO и багови во продукција.

Алатки за целосна ревизија:

  • Screaming Frog SEO SpiderCrawl на сите URL-ови (бесплатно до 500 URL, 159 £/година над тоа). CSV експорт на URL-ови, статус кодови, мета тагови, H1, внатрешни линкови.
  • Google Search ConsoleЕкспорт на 1000-те најперформативни прашања + landing страници. Идентификува URL-ови што мора задолжително да се зачуваат.
  • Wayback MachineИсториски снимок на сајтот како референца за дизајн и содржина.
  • WordPress phpMyAdminИнвентар на custom post types, meta fields, таксономии, коментари.
  • Google Analytics 4Топ 50 страници по сесии, корисничко однесување, bounce rate. Овие страници мора задолжително да работат по миграцијата.

Резултати од ревизијата: Excel табела со сите URL-ови (стари + нови), листа на критични приклучоци со Next.js алтернативи, инвентар на медиуми (вкупна големина, формати), листа на надворешни интеграции (плаќање, CRM, мејлинг, чат), скица на новата URL структура.

3. Експорт на содржината

Три методи според обемот и сложеноста:

МетодКога да се користиОграничувања
WP REST API (/wp-json)Сајт со отворен API, технички devАвтентикација, пагинација, посебни медиуми
Приклучок WP All ExportГолем обем, custom структура59-99 €, крива на учење
Native WP XML експортМал сајт, стандардна содржинаБез медиуми, ригидна структура
Scrape преку PuppeteerСајт за кој веќе немаш админБавно, кревко, правно сомнително

Во OptionWeb комбинираме WP REST API (структурирана содржина) + Node.js скрипта за паралелно симнување на медиумите. Статиите се конвертираат во MDX или JSON според целната архитектура. Сметај 1-2 дена за 500 статии.

scripts/export-wp.tsts
import fs from 'node:fs/promises';
import path from 'node:path';

const WP_API = 'https://votre-site.com/wp-json/wp/v2';

async function fetchAllPosts() {
  const allPosts = [];
  let page = 1;
  while (true) {
    const res = await fetch(`${WP_API}/posts?per_page=100&page=${page}&_embed`);
    if (!res.ok) break;
    const posts = await res.json();
    if (posts.length === 0) break;
    allPosts.push(...posts);
    page++;
  }
  return allPosts;
}

const posts = await fetchAllPosts();
await fs.writeFile('content/posts.json', JSON.stringify(posts, null, 2));

4. Целна Next.js архитектура

Препорака за 2026 за миграција WordPress → Next.js: App Router + static export. Предности: деплојмент на било кој сервер (без потреба од Node.js), TTFB во милисекунди, имуност на ранливости на WordPress, бесконечна скалабилност.

next.config.mjsts
/** @type {import('next').NextConfig} */
const nextConfig = {
  output: 'export',
  images: { unoptimized: true },
  trailingSlash: true,
  i18n: undefined, // gérer via app/[lang]/ pour static export
};
export default nextConfig;

Препорачана структура на папки:

  • app/[lang]/Повеќејазични рути, page.tsx, [slug]/page.tsx, blog/page.tsx, blog/[slug]/page.tsx
  • content/JSON или MDX на мигрираната содржина, со Zod шема за build валидација
  • components/React компоненти (заменуваат Gutenberg блокови)
  • public/Медиуми мигрирани од wp-content/uploads/
  • lib/Алатки (markdown во React, hreflang мапа итн.)

5. Редизајн на UI и компоненти

Грешка #1: обид да се клонира WordPress темата pixel-perfect. Долго, досадно и пропуштена шанса.

Препорачан пристап: тргни од wireframes за секој тип страница (homepage, страница на услуга, статија на блог, контакт итн.), редизајнирај со Tailwind компоненти или сопствен design system (shadcn/ui, Radix Themes), додај модерни анимации (Framer Motion), премини на mobile-first.

6. 301 пренасочувања (зачувување на SEO)

Најкритичната точка во секоја миграција. Една единствена важна URL погрешно пренасочена = загубени позиции во Google. Строга постапка:

  1. Излистај ги сите WordPress URL-ови (Screaming Frog или Google Analytics)
  2. Сортирај по органски сообраќај на 12 месеци (фокус на топ 80% од сообраќајот)
  3. Мапирај ја секоја стара URL кон новата Next.js URL
  4. Конфигурирај ги 301 во .htaccess (Apache) или Next.js rewrites + Cloudflare
  5. Тестирај го секое мапирање со curl -I или Screaming Frog во redirect-check режим
  6. Испрати го новиот sitemap до Search Console на денот на лансирањето
  7. Следи 404 во Search Console 4-6 недели, додај пропуштени пренасочувања
.htaccessapache
RewriteEngine On

# Redirections 301 anciennes URLs WordPress
Redirect 301 /?p=123 /fr/article-titre-canonique/
Redirect 301 /category/seo /fr/blog/?cat=seo
Redirect 301 /author/admin /fr/equipe/

# Pattern WordPress permalinks date-based
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/([^/]+)/?$ /fr/blog/$4/ [R=301,L]

7. Деплојмент и валидација

Типичен план за деплојмент:

ФазаВреметраењеАкција
Пред-деплојментД-7Целосен Next.js сајт во staging, SEO ревизија, Lighthouse тестови, валидација од клиент
WordPress снимокД-1Целосен WP бекап (DB + датотеки), чуван 3 месеци
DNS променаД0 полноќTTL 300s 24 часа, набљудување на пропагација
Испраќање sitemapД0+2чSitemap.xml испратен до GSC + Bing Webmaster Tools
Интензивно следењеД0 до Д+7404 грешки, Search Console, GA4 сообраќај, Sentry/Datadog алерти
ПрилагодувањаД+7 до Д+30Пропуштени пренасочувања, CWV оптимизации
Финална валидацијаД+30 до Д+60Целосно индексирање потврдено, рангирање споредено пред/потоа

Измерени придобивки по миграцијата

Типични метрики набљудувани на 30+ OptionWeb миграции (МСП сајтови 50-500 страници):

  • TTFBWordPress 600-1500ms → Next.js static 30-80ms (поделено со 10)
  • Lighthouse PerformanceWordPress 45-65 → Next.js 95-100 на mobile
  • Lighthouse SEOWordPress 85 (често) → Next.js 100/100 систематски
  • Трошоци за хостингЗаеднички WordPress 15 €/месец → static export на CDN 5-10 €/месец (Cloudflare Pages, Vercel free, Netlify free)
  • Безбедносни ранливостиПовршината за напад поделена со ~50 (без WP админ, без DB, без PHP извршување)
  • Органски сообраќај+10 до +30% во 3-6 месеци благодарение на CWV придобивките (сигнали за рангирање во Google)
Tags#nextjs#wordpress#migracija#static-export#seo#performance