Ako presunúť WordPress na iný hosting bez výpadku: návod

Tím Zephyros, . Čítanie na 3 minúty.

Zalepené kartónové krabice, kufor a zakryté kreslo v presvetlenej izbe pred sťahovaním.

Ako presunúť WordPress na iný hosting tak, aby web nevypadol? Ak postupujete v správnom poradí, presun zvládnete približne za hodinu a návštevníci si zmenu nevšimnú. Návod predpokladá, že sa doména nemení, mení sa iba hosting. Ak sa vám do toho nechce, presun urobíme za vás zadarmo.

od 0,99 € mesačne pri ročnej platbe, s DPH

Rovnaká cena aj pri predĺžení. SSL, denné zálohy a presun webu zadarmo.

Porovnať balíky

Čo budete potrebovať

  • prístup k starému hostingu (FTP/SFTP alebo ovládací panel a phpMyAdmin),
  • nový hosting s pripravenou databázou,
  • prístup k správe DNS domény (u registrátora alebo v Cloudflare),
  • približne hodinu času.

1. Deň vopred znížte TTL DNS záznamov

TTL určuje, ako dlho si servery na internete pamätajú, kam doména smeruje. Ak je nastavené na 24 hodín, prepnutie sa môže prejavovať až deň. Deň pred presunom nastavte TTL záznamov A (a AAAA) na 300 sekúnd. Prepnutie sa potom prejaví za pár minút.

2. Zálohujte súbory webu

Stiahnite celý priečinok s WordPressom (zvyčajne public_html alebo www) cez SFTP, alebo ho v paneli zabaľte do archívu a stiahnite. Najdôležitejší je priečinok wp-content (témy, pluginy, obrázky) a súbor wp-config.php.

Ak máte prístup cez SSH, je to rýchlejšie:

tar czf web.tar.gz -C ~/public_html .

3. Exportujte databázu

V phpMyAdmin vyberte databázu webu, otvorte záložku Export, zvoľte rýchlu metódu a formát SQL. S WP-CLI stačí jeden príkaz:

wp db export databaza.sql

Tip: Ak má web e-⁠shop alebo formuláre, zapnite si počas presunu režim údržby. Medzi exportom a prepnutím tak nevzniknú nové objednávky, ktoré by sa stratili.

4. Nahrajte súbory a importujte databázu na nový hosting

Súbory nahrajte do koreňového priečinka domény na novom hostingu (u nás public_html). Na novom hostingu vytvorte databázu a používateľa a importujte do nej export, buď cez phpMyAdmin (záložka Import), alebo príkazom:

wp db import databaza.sql

5. Upravte wp-config.php

V súbore wp-config.php prepíšte prístupy k novej databáze:

define( 'DB_NAME', 'nova_databaza' );
define( 'DB_USER', 'novy_pouzivatel' );
define( 'DB_PASSWORD', 'silne-heslo' );
define( 'DB_HOST', 'localhost' );

Ak sa mení aj doména alebo prechádzate z http na https, prepíšte adresy v databáze. Najskôr na skúšku:

wp search-replace 'http://stara-domena.sk' 'https://nova-domena.sk' --skip-columns=guid --dry-run

Potom príkaz spustite bez --dry-run. Adresy nikdy nenahrádzajte obyčajným textovým editorom v SQL súbore, poškodili by ste serializované dáta.

6. Otestujte web na novom serveri cez súbor hosts

Pred prepnutím DNS si web otvorte na novom serveri iba u seba. Do súboru hosts pridajte riadok s IP adresou nového servera:

203.0.113.10  vasadomena.sk www.vasadomena.sk

Vo Windows je súbor v C:\Windows\System32\drivers\etc\hosts (otvorte ho ako správca), v macOS a Linuxe v /etc/hosts. Prejdite web, prihláste sa do administrácie, vyskúšajte formuláre a košík. Po teste riadok zmažte.

7. Prepnite DNS

U správcu DNS zmeňte záznamy A (a AAAA) domény a subdomény www na IP adresu nového servera. Ak meníte celé nameservery, presuňte najskôr všetky záznamy vrátane MX a TXT. Vďaka nízkemu TTL sa zmena prejaví do niekoľkých minút. Potom na novom hostingu vystavte SSL certifikát (u nás sa vystaví automaticky).

8. Presuňte e-⁠maily

Ak boli e-⁠maily na starom hostingu, vytvorte rovnaké schránky na novom a obsah presuňte nástrojom imapsync alebo cez e-⁠mailového klienta (presunutím priečinkov medzi dvoma účtami). Záznam MX prepnite až po prvej synchronizácii a po prepnutí ju spustite ešte raz, aby sa preniesli aj správy, ktoré prišli medzitým.

9. Starý hosting nechajte ešte pár dní bežať

Niektoré siete si môžu staré DNS pamätať dlhšie. Starý hosting zrušte až po niekoľkých dňoch, keď si overíte, že všetko beží na novom serveri a nič nechýba.

Najčastejšie chyby pri presune

  • „Error establishing a database connection“: zlé údaje vo wp-config.php alebo neimportovaná databáza.
  • Biela stránka: nekompatibilná verzia PHP alebo chýbajúce rozšírenie. Skúste prepnúť verziu PHP a pozrite sa do error logu.
  • Obrázky sa nenačítajú: chýba priečinok wp-content/uploads alebo sú v databáze zlé adresy po zmene domény.
  • Presmerovanie v slučke: zlé nastavenie https alebo Cloudflare v režime „Flexible“. Použite režim „Full (strict)“.

Nechcete to robiť sami? Presun WordPressu aj s e-⁠mailmi urobíme zadarmo. Čo dostanete na našom WordPress hostingu, sme zhrnuli na samostatnej stránke.