Jak jsem migroval PražskéMuzikály.cz z WordPressu na vlastní CMS — případovka

3 minuty čtení

Sedm let na WordPressu, 2 000+ termínů představení, 70+ divadel, komunita uživatelů s recenzemi a body. V prosinci 2025 jsem PražskéMuzikály.cz kompletně přepsal z WordPressu na vlastní CMS. Trail trval 5 měsíců, stálo to 80 hodin práce navíc, ale výsledek se vyplatí. V tomto článku rozeberu konkrétní kroky migrace, problémy a co bych dnes udělal jinak.

Co se v tomto článku dozvíte

  • Proč jsem opustil WordPress (3 hlavní důvody)
  • Plánovací fáze: 4 týdny audit + návrh datového modelu
  • Migrace dat: 7 let WP postů, custom polí, taxonomií
  • 301 redirecty: jak jsem ochránil 5 000+ URL
  • Co jsem na nové platformě postavil navíc (komunita, push, kvízy)

Proč jsem opustil WordPress

  1. Performance. Page load 3,8 s mobilní, LCP 4,2 s. Pluginy se hádali, custom code v functions.php byl 3 000 řádků.
  2. Bezpečnost. 3× za 2 roky napadnutí, vždy přes plugin vulnerability. Údržba bezpečnostních patches = 4 hodiny týdně.
  3. Custom funkce. Komunita s body, kvízy, push notifikace, custom workflow pro recenze — WordPress to zvládal s 12 plugins, ale neučitelně.

Plánovací fáze (4 týdny)

Týden 1: Audit obsahu

  • Export WordPress (WP-CLI db export + media)
  • Analýza: 4 200 článků, 2 000 termínů (custom post type), 70 divadel, 800 umělců
  • Analýza tagu/kategorií (přes 200 unikátních)
  • Mapování custom polí (35 různých keys)

Týden 2: Návrh datového modelu

  • 11 hlavních tabulek (articles, performances, theatres, artists, ...)
  • Foreign keys + cascading rules
  • Komunitní moduly: users, points, reviews, quiz_attempts, messages
  • Indexes pro hot queries (homepage, calendar)

Týden 3: Wireframes + admin UX

Figma 32 obrazovek. Hlavní cíl: editor článku za 30 sekund (na WP to bylo 2 minuty).

Týden 4: Specifikace API

REST endpoints pro frontend (Vue.js komponenty), Colosseum Ticket integrace, OneSignal API.

Migrace dat (8 týdnů)

Krok 1: Custom WP-CLI script pro export

Místo standardního WP export (XML, hangs na 500MB) jsem napsal custom script:

  • Export 4 200 článků s plnými custom fields → JSON
  • Mapování ID na ID (mám lookup table)
  • Zpracování tagů/kategorií s preserved relations
  • Media: kopírování souborů + path remap

Krok 2: Import do nového CMS

Migrationy s rollback support. Každá tabulka separátně, ověření count po každé.

Krok 3: HTML rewrite

WordPress shortcodes, Gutenberg bloky, custom HTML. Regex + ručně dolazení 50+ článků.

301 redirecty

5 000+ URL. Strategie:

  • Stejné slugy zachovat (95 % URL)
  • Změny v URL struktuře (např. /author/X → /umelec/X) řešit redirect rules
  • Kategorie taxonomie remap (10 starých kategorií → 5 nových)
  • Media URLs (uploads/2018/...) → public/uploads/...

Vše v app/Models/Redirect.php + middleware před routerem.

Co jsem na nové platformě postavil navíc

  • Komunita s body — uživatel získává body za recenzi, kvíz, sdílení. Body lze měnit za výhody.
  • Push notifikace přes OneSignal — opt-in na nová představení daného žánru.
  • Kvízy s žebříčky — denní/týdenní rangking.
  • Soukromé zprávy mezi uživateli (jen po kvíz check-in).
  • Schema.org Event pro každé představení (Google Knowledge Panel).
  • API endpoint pro mobilní aplikaci (plánovaná Q3 2026).

Reálné výsledky po 5 měsících

MetrikaWordPressVlastní CMS
Page load mobilní3,8 s0,9 s
LCP4,2 s1,2 s
Měsíční hosting2 800 Kč500 Kč
Údržba (h/měs)16 h4 h
Organic traffic (3 měs po launch)baseline+22 %
Komunita registracínebylo+1 200 / měs

Co bych udělal jinak

  • Migrace média — měl jsem rozdělit do více batch (10× po 50k vs. 1× 500k).
  • 301 redirecty test — měl jsem víc testů edge cases (URL s dotazy, fragments).
  • Komunita launch později — mít web stable + komunita 2 měsíce po launch.
  • Více monitoring — Sentry až týden 4, měl jsem ho mít den 1.

Časté otázky

Kolik celkem stála migrace?

Pokud bych si platil hodinovou sazbu (1 500 Kč/h), tak 360 hodin = 540 000 Kč. Plus hosting setup, SSL, monitoring = 600 000 Kč TCO.

Vrátí se to?

Hosting + údržba úspora: ~25 000 Kč/měs. Roční úspora: 300 000 Kč. Návratnost: 24 měsíců (kalendářní).

Mám migrovat z WP na vlastní CMS?

Pokud máte 5+ pluginy, custom code, 100k+ návštěv/měs — ANO. Pokud jen blog, NE.

Co se stane s SEO během migrace?

Pokud uděláte 301 redirecty správně, dočasný pokles 5–15 % na 4–8 týdnů. Pak normalizace + růst.

Vyplatí se najmout vývojáře, nebo udělat sám?

Pokud nemáte 200+ hodin a hluboké backend zkušenosti, najměte profesionála. Špatná migrace zničí ranking.

Související články

🎁
ZDARMA

SEO checklist 2026 — 57 bodů

Praktický audit pro malé a střední firmy. Technické SEO + GEO pro AI vyhledávače. PDF okamžitě po zadání emailu.

Stáhnout checklist zdarma