Jak web roste, začínají se projevovat limity platformy, na které byl postaven. Spousta institucionálních projektů, které začínaly na WordPressu, zařadí přechod na Drupal na pořad dne ve chvíli, kdy do hry vstoupí vícejazyčné struktury, detailní nastavení oprávnění, pokročilé podnikové integrace a požadavky na multisite architekturu. V takovém momentě obvykle hlavní otázka nezní „máme migrovat?“, ale „jak přesunout letité obsahy, uživatele a média, aniž bychom o cokoli přišli?“.
Odpověď spočívá přímo v jádru Drupalu: v rozhraní Migrate API. To načítá data z externích zdrojů, transformuje je a mění je na entity Drupalu prostřednictvím migračního rámce, který je jak vratný, tak opakovatelný. Tento průvodce vysvětluje, proč organizace přecházejí z WordPressu na Drupal, jak funguje Migrate API, které moduly jsou k tomu potřeba, jaké jsou tři dostupné metody migrace, jaký je postup krok za krokem a jak během celého přesunu udržet vaše SEO bez úhony.
Proč přejít z WordPressu na Drupal?
WordPress nabízí rychlý a praktický start pro malé a středně velké weby, což je přesně ten důvod, proč jde o nejrozšířenější CMS na světě. Jakmile však projekt dosáhne institucionálních rozměrů, k rozhodnutí o migraci obvykle vede několik strukturálních limitů.
- Když architektura obsahu naroste do složitosti: Pokud potřebujete desítky typů obsahu, struktury polí a vzájemné vztahy mezi obsahy, strukturovaná architektura Drupalu představuje jasnou výhodu.
- Když potřebujete vícejazyčný systém: Jádro Drupalu podporuje více než 110 jazyků bez jakýchkoli doplňků; na WordPressu lze vícejazyčný obsah spravovat pouze pomocí pluginů třetích stran.
- Když je vyžadováno detailní nastavení oprávnění: Víceúrovňové struktury rolí — např. editor fakulty, vedoucí katedry, schvalovatel obsahu — jsou v Drupalu definovány přímo na úrovni jádra.
- Když je cílem multisite architektura: Sjednocení roztříštěných instalací WordPressu pod jednu střechu multisite architektury Drupalu výrazně snižuje zátěž spojenou s údržbou a bezpečností.
- Když jsou prioritou bezpečnost a integrace: Auditovatelné jádro namísto bezpečnostních rizik spojených s pluginy, a k tomu integrace založená na API s podnikovými systémy, jako jsou studijní informační systémy (např. STAG/IS MU), CRM nebo LDAP/CAS.
Detailní srovnání jsme probrali v našem článku Drupal vs. WordPress vs. Joomla: Jak vybrat správný CMS. Jakmile padne rozhodnutí o migraci, další otázkou je, jak ji technicky řídit.
Co je to Drupal Migrate API?
Migrate API je migrační rámec v jádru Drupalu, který převádí data z externích zdrojů na entity Drupalu — uzly (nodes), uživatele, taxonomii, média či komentáře. Není určen výhradně pro WordPress: stejná infrastruktura zajišťuje migraci obsahu ze starších verzí Drupalu, ze souborů CSV, JSON nebo XML, případně z jakékoli jiné databáze.
Od běžného importního nástroje odlišují Migrate API tři zásadní vlastnosti. Zaprvé, migrace jsou definovány v konfiguračních souborech (YAML), což činí celý proces dokumentovatelným a opakovatelným. Zadruhé, každá migrace je vratná: pokud se objeví problém, příkaz pro navrácení změn (rollback) čistě odebere naimportovaný obsah, takže jej lze po opravě mapování spustit znovu. Zatřetí, data lze v průběhu migrace transformovat — například odstranit shortcode značky z WordPressu, upravit formáty dat a časů nebo správně namapovat účty autorů.
Zdroj – Proces – Cíl: Třífázový ETL model
Migrate API využívá model známý v softwarovém inženýrství jako ETL (Získat – Transformovat – Načíst) a definuje každou migraci ve třech vrstvách:
- Zdroj: Odkud se data načítají. V případě WordPressu jde buď o exportní soubor WXR, nebo přímo o databázi WordPressu.
- Proces: Převod zdrojových dat do podoby, kterou Drupal očekává. V této vrstvě probíhá mapování polí, konverze formátů i čištění dat.
- Cíl: Do jaké entity Drupalu se transformovaná data uloží — z článků se stávají uzly, z kategorií termíny taxonomie a z autorů uživatelské účty.
Faktický význam této architektury je jednoznačný: migrace není rizikový jednorázový proces typu „zkopírovat a vložit“, ale řízený inženýrský postup, který lze testovat, vracet zpět a provádět po etapách.
Základní moduly používané při migraci
Migrace z WordPressu do Drupalu nespoléhá na jediný modul, ale na sadu modulů, které spolupracují.
| Modul | Co dělá | Kde se nachází |
|---|---|---|
| Migrate | API, které tvoří základ celého migračního rámce. | Jádro Drupalu |
| Migrate Plus | Rozšiřuje definice migrací; přidává správu skupin a další zdrojové zásuvné moduly. | Komunitní modul |
| Migrate Tools | Poskytuje příkazy pro Drush ke spouštění migrací, sledování stavu a vrácení změn. | Komunitní modul |
| WordPress Migrate | Načítá soubory WXR (XML) a mapuje příspěvky, stránky, komentáře, štítky a kategorie na entity Drupalu. | Komunitní modul |
| Pathauto + Redirect | Generuje nové URL adresy a nastavuje přesměrování 301 ze starých URL adres WordPressu. | Komunitní moduly |
Modul WordPress Migrate převádí exporty z WordPressu ve formátu WXR do Drupalu pomocí rozhraní Migrate API, které je součástí jádra; podporuje příspěvky, stránky, komentáře, přílohy, štítky i kategorie a jeho migrace jsou plně vratné. Aktuální verze jsou vyvíjeny s ohledem na kompatibilitu s Drupalem 10 a 11, proto je před instalací důležité zvolit verzi, která odpovídá vaší cílové verzi Drupalu.
Tři způsoby migrace z WordPressu do Drupalu
Každý projekt se nepostupuje stejně. Výběr správné cesty závisí na velikosti webu, na tom, zda máte přístup k databázi WordPressu, a na typu cílové instalace Drupalu.
Migrace pomocí souboru WXR (XML export)
Jde o nejběžnější a nejpřístupnější metodu. Přes menu Nástroje → Export v administraci WordPressu se veškerý obsah webu stáhne jako soubor XML označovaný jako WXR. Modul WordPress Migrate následně tento soubor načte a naimportuje obsah do Drupalu. Jelikož nevyžaduje přístup k databázi, jde o ideální řešení pro projekty s omezeními na straně hostingu nebo pro weby běžící na oddělených serverech. U malých a středně velkých webů probíhá proces rychle, ačkoli u velmi rozsáhlých archivů médií může být soubor XML poněkud těžkopádný.
Migrace přes přímé připojení k databázi
Výkonnější metodou pro velké weby je přímé připojení Drupalu k databázi WordPressu a načítání dat v reálném čase. Při tomto přístupu se uživatelé, příspěvky, stránky, kategorie, štítky, média a komentáře načítají přímo z databáze MySQL WordPressu a převádějí se na své ekvivalenty v Drupalu bez nutnosti mezikroku v podobě XML exportu — na velkých webech je tento postup rychlejší než import ze souboru. Předpokladem je zabezpečený přístup k databázi WordPressu po celou dobu trvání migrace.
WordPress Migrate Recipe pro Drupal CMS
Distribuce Drupal CMS, uvedená v roce 2025, radikálně zjednodušila instalaci díky své architektuře Recipes (Recepty). Pro projekty běžící na Drupal CMS balíček WordPress Migrate Recipe spojuje potřebné moduly a konfigurace pro migraci do připraveného balíčku. Tím, že na malých a rychle začínajících projektech snižuje potřebu specializovaného technického týmu, zároveň bourá mýtus o tom, že je Drupal v migračních scénářích „složitý na nastavení“.
Postup migrace z WordPressu do Drupalu krok za krokem
Profesionální migrační projekt začíná dlouho předtím, než cokoli spustíte. Níže uvedený postup představuje prověřený plán vhodný i pro velké institucionální projekty:
- Proveďte inventuru obsahu: Kolik příspěvků, stránek, kategorií, uživatelů a mediálních souborů se na webu nachází? Co se bude stěhovat a co naopak archivovat? Migrace představuje ideální příležitost k celkovému úklidu obsahu.
- Vytvořte kompletní zálohu: Před zahájením migrace proveďte úplnou zálohu databáze WordPressu, mediálních souborů i konfigurace témat a pluginů. Metodiku pro tento krok popisujeme v našem průvodci Strategie zálohování a obnovy po havárii v Drupalu.
- Navrhněte cílovou architekturu Drupalu: Typy obsahu, pole, taxonomie a uživatelské role by měly odpovídat skutečným potřebám organizace — nikoli být jen slepou kopií původního nastavení WordPressu.
- Nainstalujte migrační moduly a definujte mapování: Nainstalují se moduly Migrate Plus, Migrate Tools a WordPress Migrate a nakonfiguruje se mapování dat ze zdroje do cíle.
- Spusťte testovací migraci na stagingu: První migrace se nikdy nespouští na živém webu. V testovacím prostředí (stagingu) se samostatně ověřuje mezipaměť, integrita obsahu, obrázky, přiřazení autorů i kódování znaků.
- Opravte, vraťte změny a opakujte: Díky funkci rollback v Migrate API lze chyby v mapování opravovat bez jakéhokoli rizika či ztráty dat.
- Nastavte přesměrování URL adres: Staré URL adresy z WordPressu se pomocí modulu Redirect namapují na své nové tvary pomocí trvalého přesměrování (HTTP 301).
- Ostrý start a monitoring: Naimportuje se finální rozdílový obsah (delta) a převede se DNS. Během prvních týdnů se pečlivě sledují chybové zprávy 404 a data v nástroji Google Search Console.
Mapování obsahu: Koncepty WordPressu a jejich ekvivalenty v Drupalu
To, s čím týmy při migračních projektech zápasí nejvíce, nebývají technické příkazy — je to překlad mezi pojmovým slovníkem obou platforem. Níže uvedená tabulka tento překlad shrnuje:
| WordPress | Ekvivalent v Drupalu | Poznámka |
|---|---|---|
| Příspěvek | Uzel (typ obsahu Článek) | Vlastní typy příspěvků se mapují na samostatné typy obsahu. |
| Stránka | Uzel (typ obsahu Základní stránka) | Hierarchie se vytváří pomocí nabídek a modulu Pathauto. |
| Kategorie / Štítek | Taxonomie (slovník + termín) | Taxonomie v Drupalu podporuje daleko flexibilnější vztahy. |
| Vlastní pole | Pole | Typy polí se mapují podle funkce, nikoli v poměru 1:1. |
| Knihovna médií | Mediální entity | Obrázky se stávají opakovaně použitelnými mediálními položkami. |
| Uživatel / Autor | Uživatelské účty a role | Role se přenavrhují s ohledem na detailní model oprávnění v Drupalu. |
| Plugin | Modul | Pluginy se nepřevádějí; funkce se znovu vytvářejí pomocí ekvivalentů v Drupalu. |
| Šablona | Téma vzhledu | Šablony se nepřevádějí; design se znovu vytváří ve vrstvě témat Drupalu. |
Poslední dva řádky jsou zásadní: pluginy a šablony z WordPressu se do Drupalu „nepřevádějí“. To, co se stěhuje, je obsah. Funkcionalita a design se znovu vytvářejí pomocí nástrojů vlastní ekosystému Drupalu — zpravidla na podstatně pevnějších základech.
Migrace bez ztráty SEO: URL adresy, přesměrování a metadata
Největší obavou organizací při změně CMS bývá ztráta organické návštěvnosti budované po dlouhá léta. Tato obava je oprávněná, ale zvládnutelná: u dobře naplánované migrace je jakýkoli pokles pozic ve vyhledávačích pouze dočasný a minimální.
- Vytvořte mapu URL adres: Před zahájením migrace vyexportujte kompletní seznam URL adres z WordPressu a v tabulce mapování definujte pro každou z nich nový ekvivalent v Drupalu.
- Nastavte přesměrování 301: Modul Redirect trvale přesměruje staré URL adresy na nové, čímž zachová hodnotu zpětných odkazů (backlink equity) nahromaděnou ze zahraničních i tuzemských webů za celé roky.
- Přeneste metadata: Titulky a meta popisy vytvořené pomocí nástrojů jako Yoast nebo Rank Math se na straně Drupalu přenesou do modulu Metatag.
- Obnovte mapu stránek (sitemap): Novou mapu stránek vygenerovanou modulem Simple XML Sitemap odešlete do nástroje Google Search Console a starou odstraňte.
- Sledujte první čtyři až šest týdnů: Pravidelně kontrolujte hlášení chyb 404, statistiky procházení a pohyby v žebříčcích. Případná opomenutá přesměrování ihned doplňte.
Detailní nastavení této vrstvy na úrovni modulů jsme podrobně probrali v článku SEO v Drupalu: Co musíte vědět pro viditelnost ve vyhledávačích.
Migrace z WordPressu na Drupal pro univerzity: V čem se liší?
Na vzdělávacích institucích představuje migrace daleko větší transformaci než pouhý přesun jednoho webu. Typický scénář vypadá takto: během let vznikly desítky nezávislých webů na WordPressu pro fakulty, výzkumná centra a události — každý na jiné verzi, s jinými pluginy a odlišnou úrovní zabezpečení. Migrační projekt je proto ideální příležitostí k sjednocení této roztříštěnosti pod jednu střechu multisite architektury Drupalu.
Hlavní odlišnosti, které je v tomto scénáři třeba vzít v úvahu, jsou:
- Plán konsolidace: Které weby na WordPressu zůstanou jako samostatné podweby a které se stanou sekcemi hlavního webu? Toto rozhodnutí musí padnout ještě před vytvořením mapování migrace.
- Migrace vícejazyčného obsahu: Jazykové verze spravované na WordPressu pomocí pluginů je nutné správně namapovat na systém překladů v jádru Drupalu; v opačném případě se jazykové verze přenesou jako nesouvislý a propojení zbavený obsah.
- Hodnota akademického archivu: Letité zprávy, oznámení a odborné publikace nesou jak institucionální paměť, tak viditelnost v žebříčcích typu Webometrics. Zvolit si snazší cestu a opomenout starý obsah znamená zničit jeho dlouhodobou SEO hodnotu.
- Transformace uživatelů a rolí: Účty editorů rozprostřené napříč desítkami webů lze na straně Drupalu konsolidovat do centralizované správy identit díky integraci s LDAP/CAS nebo akademickými systémy.
- Načasování: Ostrý start by měl být naplánován mimo období s vysokou návštěvností, jako jsou přijímací řízení, zápisy do studia nebo zveřejňování výsledků zkoušek.
Časté chyby při migračních projektech
- Kopírování struktury WordPressu 1:1: Migrace je příležitostí k přebudování architektury obsahu, nikoli k přenesení stávajícího chaosu na novou platformu.
- Ostrý start bez testovací migrace: První migrace by měla vždy proběhnout v testovacím prostředí (stagingu), kde se pečlivě ověří obsah, média i kódování znaků.
- Zanedbání přesměrování URL adres: Migrace bez mapy přesměrování 301 může během několika týdnů zničit roky budovanou organickou návštěvnost a hodnotu zpětných odkazů.
- Zapomenutí na mediální soubory: Pokud se přenese text, ale obrázky zůstanou na starém serveru, web odstartuje s množstvím nefunkčních odkazů na obrázky.
- Chápání migrace jako čistě technického projektu: Pokud redakční týmy neprojdou školením na nové rozhraní Drupalu, i ta nejúspěšnější technická migrace nakonec zůstane nevyužita.
Často kladené otázky k migraci z WordPressu na Drupal
Jak dlouho trvá migrace z WordPressu na Drupal?
Záleží na rozsahu webu. Firemní blog se standardní strukturou obsahu lze přesunout během několika týdnů, zatímco projekt univerzitního rozsahu zahrnující více jazyků, multisite architekturu a vlastní struktury polí může v rámci plánování, migrace, testování a ostrého startu trvat dva až čtyři měsíce. Hlavním faktorem přitom není samotný objem obsahu, ale složitost jeho struktury.
Přijdete během migrace o nějaký obsah?
U řádně naplánované migrace nikoli. Největší předností rozhraní Migrate API je, že jsou migrace vratné a opakovatelné: jakmile se objeví chyba v mapování, provede se navrácení změn (rollback), chyba se opraví a migrace se spustí znovu. Úplná záloha vytvořená předem pak slouží jako záchranná síť v každém scénáři.
Se změní mé pozice ve vyhledávačích (SEO) při změně CMS?
Pokud jsou správně nastaveny mapování URL adres a trvalá přesměrování (HTTP 301), k žádnému trvalému poklesu nedochází. Drobné výkyvy v prvních týdnech po migraci jsou běžné a obvykle se rychle vyrovnají. Ve skutečnosti může silná architektura ukládání do mezipaměti a strukturovaný model obsahu v Drupalu ve střednědobém horizontu zlepšit hodnoty Core Web Vitals i výkon při indexaci, což SEO naopak pozitivně ovlivní.
Lze moje šablony a pluginy z WordPressu převést do Drupalu?
Ne — architektury šablon a pluginů obou platforem jsou zcela odlišné. Převádí se pouze obsah, uživatelé, média a taxonomie. Design se znovu vytváří ve vrstvě témat Drupalu a funkce poskytované pluginy se rekonstruují pomocí ekvivalentů z ekosystému modulů Drupalu. Na většině projektů se to mění v přirozenou příležitost k modernizaci designu i funkcionality.
Mám migrovat pomocí souboru WXR, nebo přes připojení k databázi?
U malých a středně velkých webů je migrace pomocí souboru WXR praktická i postačující a nevyžaduje přístup k databázi. U velkých webů s rozsáhlými archivy obsahu je přímé připojení k databázi rychlejší a spolehlivější. Pro nové projekty postavené na Drupal CMS pak balíček WordPress Migrate Recipe celý proces usnadňuje a umožňuje jej zvládnout s minimálními technickými znalostmi. Správná volba by měla být stanovena během úvodní fáze analýzy na základě objemu obsahu, možností přístupu a cílové architektury.