WordPress server

Migrace WordPressu na nový hosting / doménu

Stěhování WordPress webu na nový hosting nebo doménu může na první pohled působit složitě, ale ve skutečnosti se jedná o zvládnutelný proces, pokud víte, co děláte. Možná měníte poskytovatele hostingu kvůli lepší rychlosti, spolehlivosti nebo ceně. Nebo jste se rozhodli pro nový název domény, který lépe vystihuje váš projekt. Ať už je důvod jakýkoli, správná migrace zajistí, že váš web zůstane plně funkční, ideálně bez výpadků a ztráty dat.

V tomto návodu si krok za krokem ukážeme, jak celý proces migrace WordPress webu zvládnout ručně – bez použití pluginů (alternativa s využitím pluignu najdete v článku o Duplicatoru). Ruční migrace je sice trochu technicky náročnější, ale zároveň vám dává plnou kontrolu nad vším, co se děje. Navíc se tak vyhnete problémům, které se u automatických nástrojů občas vyskytnou.

⚙️ Nechcete migraci řešit sami?
Rádi vám s tím pomůžeme – objednejte si profesionální službu migrace WordPress webu a ušetřete čas i nervy.

👉 Zobrazit službu a objednat

Co budete k migraci webu potřebovat

✅ Přístup k FTP nebo správci souborů
Budete potřebovat stáhnout a nahrát soubory webu. Nejčastěji se k serveru připojíte pomocí FTP klienta (např. FileZilla), nebo použijete správce souborů v administraci hostingu (např. cPanel, Plesk).

✅ Přístup k databázi (phpMyAdmin)
Pro export a import databáze budete potřebovat přístup do nástroje phpMyAdmin nebo podobné administrace databáze na starém i novém hostingu.

✅ Textový nebo kódový editor
Například Visual Studio Code nebo Notepad++ – hodí se pro úpravu konfiguračních souborů, jako je wp-config.php.

✅ Přihlašovací údaje od nového hostingu
Mějte po ruce přístup do nové administrace, FTP a databáze – budete je potřebovat hned od začátku.

Krok 1: Zálohujte svůj současný web

Než uděláte jakékoli změny, je potřeba mít kompletní zálohu webu. Budete ji potřebovat pro přenesení obsahu na nový hosting – a navíc se může hodit jako pojistka, kdyby se něco pokazilo.

🗂️ 1.1 Stáhněte soubory přes FTP

  1. Připojte se k FTP serveru.
  2. Najděte složku s WordPressem – většinou se jmenuje public_html, www nebo htdocs.
  3. Stáhněte si celou tuto složku do svého počítače. Nezapomeňte ani na skryté soubory jako .htaccess.

📌 Tip: U velkých webů může stahování trvat delší dobu – ujistěte se, že máte stabilní připojení.

WordPress na FTP

🧠 1.2 Exportujte databázi

  1. Přihlaste se do phpMyAdminu svého současného hostingu (jeho adresu najdete v nastavení hostingu).
  2. V levém sloupci vyberte databázi používanou vaším WordPressem.
  3. Klikněte na Export.
  4. Vyberte rychlý export ve formátu SQL a klikněte na Provést (Export/Go).
  5. Uložte si stažený .sql soubor.

📌 Nevíte, jakou databázi váš web používá? Mrkněte do souboru wp-config.php – najdete tam název databáze v řádku define('DB_NAME', '...');

Export WordPress databáze

Krok 2: Přeneste web na nový hosting

Teď, když máte zálohované soubory a databázi, je čas je přenést na nový hosting. Postupujte následovně.

🔄 2.1 Nahrajte soubory přes FTP

  1. Připojte se k FTP účtu u nového hostingu.
  2. Nahrajte celou složku WordPressu, kterou jste si předtím stáhli, do kořenové složky webu (např. public_html nebo www).
  3. Ujistěte se, že všechny soubory byly nahrány včetně skrytých (.htaccess, atd.).

📌 Tip: Pokud máte doménu přesměrovanou na nový hosting až později, můžete si v mezičase upravit soubor hosts na svém počítači a testovat web i bez přesměrování (pokročilejší uživatelé).

🧱 2.2 Vytvořte novou databázi

  1. Přihlaste se do administrace nového hostingu (např. cPanel, Plesk).
  2. Vytvořte novou databázi (např. mojewpdb) a databázového uživatele s heslem.
  3. Přidělte nově vytvořenému uživateli plná práva k nové databázi.

📥 2.3 Naimportujte databázi

  1. Přihlaste se do phpMyAdminu na novém hostingu.
  2. Vyberte nově vytvořenou databázi.
  3. Klikněte na záložku Import.
  4. Vyberte SQL soubor z kroku 1.2 a spusťte import.

📌 Pokud databáze obsahuje tabulky s velkým objemem dat, může být potřeba rozdělit export do menších částí nebo použít nástroj jako BigDump.

Import WordPress databáze přes phpMyAdmin

⚙️ 2.4 Aktualizujte přihlašovací údaje v wp-config.php

  1. Otevřete soubor wp-config.php (v kořenové složce WordPressu).
  2. Najděte tyto řádky a upravte je podle údajů k nové databázi:
define('DB_NAME', 'nazev_nove_databaze');
define('DB_USER', 'novy_uzivatel');
define('DB_PASSWORD', 'nove_heslo');
define('DB_HOST', 'localhost'); // většinou "localhost", ale zkontrolujte u hostingu

Soubor uložte a nahrajte zpět na nový hosting, pokud jste ho editovali lokálně.

Krok 3: Upravte URL adresy a otestujte funkčnost webu

Po nahrání souborů a importu databáze je web technicky přenesen. Ale pokud jste měnili doménu, databáze stále obsahuje staré URL adresy (např. https://staryweb.cz) – a ty je třeba přepsat na novou doménu.

🔄 3.1 Nahrazení URL adres přes SQL dotaz (bez pluginu)

Pokud jsi web přesunul na novou doménu, je potřeba aktualizovat všechny odkazy ve WordPress databázi. Většinu z nich najdeš v tabulce wp_options, wp_posts a wp_postmeta.

⚠️ Pozor: Některé hodnoty jsou v databázi serializované – při přímé výměně pomocí REPLACE může dojít k chybám, pokud se změní délka řetězce. Následující postup je bezpečný jen v případě, že délka domény zůstává stejná, nebo se pracuje jen s textovými poli mimo serializované hodnoty.

✅ Postup v phpMyAdminu:

  1. Přihlas se do phpMyAdminu na novém hostingu.
  2. Vyber databázi svého webu.
  3. Otevři záložku SQL a spusť následující příkazy:
-- Změna adresy webu v základním nastavení
UPDATE wp_options SET option_value = REPLACE(option_value, 'https://stara-domena.cz', 'https://nova-domena.cz') WHERE option_name IN ('home', 'siteurl');

-- Změna odkazů v příspěvcích a stránkách
UPDATE wp_posts SET guid = REPLACE(guid, 'https://stara-domena.cz', 'https://nova-domena.cz');
UPDATE wp_posts SET post_content = REPLACE(post_content, 'https://stara-domena.cz', 'https://nova-domena.cz');

-- Změna odkazů v metadatech (POZOR na serializaci)
UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, 'https://stara-domena.cz', 'https://nova-domena.cz');

📌 Uprav https://stara-domena.cz a https://nova-domena.cz podle svých skutečných hodnot. Nezapomeň na https vs. http a případně i www. pokud se liší.

Dotaz v databázi

🔄 3.1 Nahrazení URL adres přes SQL dotaz (s pluginem)

Nejjednodušší způsob, jak upravit všechny výskyty staré domény, je pomocí pluginu nebo nástroje pro hromadnou změnu:

✅ Doporučený plugin: Better Search Replace

  1. Nainstalujte plugin Better Search Replace. Plugin se nachází v oficiálním repozitáři pluginů.
  2. V administraci WordPressu ho najdete v Nástroje → Better Search Replace.
  3. Vyplňte:
    • „Search for“ → starou doménu (např. https://mojewebovaadresa.cz)
    • „Replace with“ → novou doménu (např. https://mojenovanadomena.cz)
  4. Zaškrtněte všechny tabulky, spusťte nanečisto (dry run), a pokud je vše v pořádku, pak doopravdy.

📌 Pokud nemáte přístup do WP adminu, můžete to provést i offline pomocí skriptu Search Replace DB.

Better Search Replace

🌐 3.2 Zkontrolujte nastavení webu

Po úpravě URL adres se přihlaste do WordPress administrace a v Nastavení → Obecné zkontrolujte, že tam máte správnou adresu webu i adresu instalace WordPressu.

🧪 3.3 Otestujte, že vše funguje

  • Otevřete web na nové adrese a zkontrolujte, jestli:
    • se načítají všechny obrázky
    • odkazy vedou na správná místa
    • fungují přihlašovací údaje
    • nejsou na webu žádné přesměrování zpět na starou doménu

📌 Tip: Pokud doména zatím není plně nasměrovaná, můžete si ji dočasně zapsat do souboru hosts a otestovat web před ostrým spuštěním.

Krok 4: Nastavte přesměrování ze staré domény (pokud se měnila)

Web je nyní úspěšně přestěhován. Pokud jste zároveň změnili doménu (např. z www.staryweb.cz na www.novyweb.cz) a nechcete už starou doménu používat, je dobré na ni nastavit trvalé přesměrování. Díky tomu:

  • si uchováte SEO hodnotu staré domény (PageRank, zpětné odkazy),
  • návštěvníci starých odkazů automaticky přejdou na nový web,
  • Google a další vyhledávače rychle pochopí změnu adresy.

Pokud stará doména stále směřuje na váš hosting, přidejte do souboru .htaccess následující řádky:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www.)?staryweb.cz$ [NC]
RewriteRule ^(.*)$ https://www.novyweb.cz/$1 [R=301,L]

📌 Tento kód přesměruje všechny požadavky ze staré domény na novou, včetně konkrétních URL.

Detailění informace co udělat při změně domény najdete v článku: Jak správně zajistit přesměrování webové stránky na novou doménu.

Nechcete se s migrací trápit? Nechte to na nás

Pokud si nejste jistí, jestli zvládnete celý proces sami, nebo zkrátka chcete mít jistotu, že vše proběhne hladce a bez výpadků, rádi to zařídíme za vás.

👉 Nabízíme profesionální službu migrace WordPress webu na nový hosting nebo doménu – rychle, bezpečně a bez starostí.

➡️ Objednat migraci WordPress webu

Neuteklo vám něco?

Pokrok a WordPress na nikoho nečekají, tak nám tu raději nechte email, ať o nic nepřijdete!

Nespamujeme! Další informace naleznete v našich zásadách ochrany osobních údajů.

Správa WordPress webu

Nemusíte na to být sami. Pomůžeme vám s pravidelnou údržbou i novými vylepšeními.

Více informací

40 názorů na “Migrace WordPressu na nový hosting / doménu”

  1. Zdravím WPlamu 🙂 Mám menší problém. Postupoval jsem přesně podle Vašeho návodu a převod se podařil. Do adminu se přihlásím bez problému, trvalé odkazy jsem taky překontroloval. Ale pokud se připojím na stránku, je přístupná pouze úvodní stránka, ostatní stránky hlásí 404. Jako klasická WP lama sem v koncích, prosím o radu :).

  2. Martin H.

    Ahoj, můžeš sem dát odkaz na tvoji stránku? 🙂 Zkoušel jsi smazat .htaccess (samozřejmě si ho nejdřív zalohuj) a znovu-uložit nastavení trvalých odkazů? Ještě v db zkontroluj hlavní adresu webu.

    1. Martin H.

      Podle mě to bude způsobené starým .htaccess, mělo by stačit ho smazat a znovu-uložit nastavení trvalých odkazů (vytvoří se automaticky nový .htaccess s aktuálním a správným nastavením).

          1. Přesouval jsem rozdělaný eshop na Woocommerce na svůj hosting, abych ho mohl dodělat mimo domov. Kontroloval jsem v databázi, jestli se přepsaly url na novou doménu a všechno vypadá v pořádku.

        1. Tomáš C.

          Napiš mi na Zopimu, kouknu na to. Tedy jestli chceš 🙂

          A ještě mě napadá jestli je na hostingu povoleno mod_rewrite a AllowOverride?

          1. Tak to nakonec byl mod_rewrite, na hostingu sem neměl zapnutý .htaccess. Děkuju Vám za rychlou a výbornou podporu i za Vaše stránky, čerpám zde mnoho inspirace 🙂

  3. Způsobů, jak zmigrovat web na WordPressu existuje více (např. za pomocí pluginu WP All-in-One Migration). Tento způsob ale mám zdaleka nejraději. Večer mě čeká migrace klientova webu, tak mi držte palce, ať to jde bez komplikací 🙂

      1. No já teď zkouším po dlouhé době ten manuální postup. Web je poměrně obsáhlý a na ty pluginy a jejich záseky v průběhu procesu už nemám nervy 🙂 Dám pak vědět, jak jsem pořídil.

        1. Tak to šlo velmi hladce. Akorát se mi nechtěla naimportovat databáze kvůli nerozpoznané znakové sadě. Stačilo v PSPadu najít a nahradit za utf8. Celá práce byla rychlejší než posledně, když jsem využíval migrační plugin.

  4. Ahoj, měnil jsem doménu u wordpressu, takže jsem jen přepsal záznamy v DB, ale úplně se to rozhodilo. Hlavně nastavení šablony. Nevíte někdo co s tím? Trvalé odkazy jsou ok, ale formát je ten původní tudíž bych to musel vše přeformátovat.

    1. Tomáš Cirkl

      Doporučuji domény přesouvat pomocí pluginu Duplicator a takovýmto problémům se vyhnete. Patrně se tam nepřeneslo nějaké nastavení.

        1. Tak Duplicator mohu jen doporučit, jednoduché rychlé. Kéž bych neztratil tolik času editací poškozené DB (po předchozí neúspěšné migraci). Nakonec jsem vše vrátil stejně do původního nastavení a za použití tohoto nástroje to byla hračka. Díky moc.

  5. Vašek Z.

    Ahoj, migroval jsem starší web jedoucí na wordpressu na nový hosting a to včetně nové domény. S vlastní migrací manuálním způsobem problém ani tak nebyl, ale poté co jsem naimportoval DB, tak jsem s nemilým překvapením zjistil, že se jednotlivé datové soubory považované za attachmenty a nalézající se v adresářové struktuře „wordpress\wp-content\uploads\…“ všechny do jednoho zdublovaly (jejich jména se rozšířila o číselný increment) a v databázi jsou nyní odkazy nikoli na ty původní, ale na ty nově vzniklé. Všechno šlape a funguje, akorát to teď na serveru zabírá jednou tolik místa a budu muset docela pracně vyzobávat ty původní, na něž nyní nic neodkazuje, abych uvolnil jimy zbytečně zaplácnutý prostor. Nevíte někdo, jak k tomu mohlo dojít?

  6. Cau, jaky je postup se starym webem z ohledem na SEO. Je dobre ho vyradit nebo ponechat nez se preindexuji page. Neni tam potom riziko sankce za duplikovany obsah?

    Diky

  7. Jan Šír

    Dobrý den,

    já na migraci webu mohu doporučit dle vlastních zkušeností All in One Migration. Převede to všechno, vč. všech nastavení.

  8. Zdravím, tak jsem zmigroval zapomoci hostingu, neříkam, že se to povedlo, to se uvidí. Teď mám ale problém, kde se přes přihlášení sice přihlásím, ale hodí mi to do administrace starého webu na jiné doméně. Nevíte co s tím? Díky

  9. Dobrý den,
    přesouval jsem web stránky ve wordress z jednoho serveru na druhý. Zvolil jsem způsob 1/ překopírování souborů, 2/ export a import sql databaze, 3/ využití SQL příkazu pro nahrazení staré domény prozatím na absolutní cestu k wp souborům na serveru. Vše funguje OK, ale WP mě, po přihlášení, informuje varovnou hláškou – viz. foto na odkazu:
    http://jaromir-hybner.cz/Problem_Hlaska_WP_Po_Prihlaseni_DETAIL.jpg
    Nevím o jaký parametr má jít a jak to vyřešit. Děkuji za jakoukoli případnou radu. Jarda

  10. Dobrý den,

    po migraci na novou doménu mi po přihlášení do WP admina píše toto:

    Fatal error: Uncaught Error: Call to undefined function set_screen_options() in /data/web/virtuals/238859/virtual/www/wp-admin/admin.php:105 Stack trace: #0 /data/web/virtuals/238859/virtual/www/wp-admin/index.php(10): require_once() #1 {main} thrown in /data/web/virtuals/238859/virtual/www/wp-admin/admin.php on line 105
    Váš web se momentálně potýká s technickými problémy. Zkontrolujte emailovou schránku administrátora pro další instrukce.

      1. Byla chyba v obsahu. Při přenosu přes FTP se některé soubory pravděpodobně nakopírovaly chybně. Po opětovném nakopírování celého obsahu administrace již funguje. Děkuji.

  11. Michal Chleboun

    Zdravím. Udělal jsem to přesně podle návodů – nejdřív tak, jak jsem zvyklý (překopírování souborů, dump DB atd.), a zdálo se, že je to ok. Jenže u virtuálních produktů ke stažení (e-knih) ve Woocommerce byla URL z původní domény. Zkusil jsem tedy postup 2 a to nepomohlo. Pak jsem zkusil postup 1 a ta URL na dokumenty už tam nejsou vůbec. Je to záhada…

      1. Michal Chleboun

        Já už jsem k tomu skoro odhodlaný, ale jsem sám zvědavý, jak to dopadne!

  12. Tomáš Nesvadba

    Ahoj. Mám jeden dotaz. Po přesunu WP, včetně databází dle návodu výše, mě při zadání adresy nové domény mě WP přesměruje na původní adresu. Máte nějaký návod co s tím mohu udělt. Nejde se dostat ani do administrace. Předem děkuji za pomoc. Tomáš N.

    1. Ahoj,
      zkontroluj databázi, zda jsou tam opravdu změněné URL adresy. Případně zkontroluj .htaccess, zda tam není nějaké přesměrování „natvrdo“.

      1. Tomáš Nesvadba

        Dobrý den. Tak jsem vše znovu prošel a vše je tak jak má být. stále mě to hází na původní hosting pomocí „wp-login.php?redirect_to=……“. Prosím o radu.

  13. Dobrý den,
    nevíte prosím, proč při migraci webu se mi někdy nepropíše nastavení například pluginu RankMathSEO? Klasicky zkopíruji FTP + databázi, ve které provedu SQL příkazy viz výše. Vše mi funguje, jen se mi teď stalo, že se mi neprospalo některé nastavení z RankMath, například ohledně drobečkové navigace. RankMath mám ve free verzi. Přehlížím něco? Děkuji mockrát. :))

Diskuze

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Nákupní košík
Přejít nahoru