Modul 9 · 9.5
Přestěhování webu WordPress
Modul 9: E-mail, dohledatelnost, GDPR, údržba a přestěhování · Doba čtení: 10 minut
Cíl lekce: Po této lekci dokážete přestěhovat web WordPress na jiný hosting nebo na jinou doménu bez výpadku.
Klíčové pojmy: přestěhování na jiný hosting, přestěhování na jinou doménu, import přes instalátor, migrační plugin, ruční přestěhování, vyhledat a nahradit, testování před změnou DNS, soubor hosts, TTL, zmrazení obsahu, poslední synchronizace, kontroly po změně, změna adresy v Search Console
Dva druhy přestěhování
Existují dva druhy přestěhování a každý probíhá jinak:
- Na jiný hosting, stejná doména. Web se přesune ze serveru A na server B; adresa zůstává
https://example.com. DNS se přepne až na konci. V databázi není potřeba nic měnit. - Na jinou doménu. Web se přesune z
example.comnaexample.net(na stejném nebo jiném hostingu). Všechny adresy v databázi se mění a starou doménu musíte přesměrovat.
Někdy děláte obojí najednou. Pak je lepší to rozdělit: nejprve přestěhovat web na nový hosting a teprve potom změnit doménu. Když nastane problém, budete vědět, ve kterém kroku vznikl.
A nezapomeňte na to, co je vedle WordPressu: e-mail na doméně, DNS záznamy, úlohy cron, další weby ve stejném balíčku. Ty se automaticky nepřestěhují (kurz DNS, lekce 6.3).
Tři způsoby, jak web přenést
| Způsob | Jak | Upozornění |
|---|---|---|
| Import přes instalátor | Mnoho instalátorů (Installatron, Softaculous) umí stáhnout web z jiného serveru pomocí přístupových údajů FTP nebo SFTP ke starému hostingu | Rychlé a web je potom hned ve Vašem instalátoru (lekce 2.2) |
| Migrační plugin | Plugin na starém webu vytvoří balíček (soubory a databázi) a nahraje ho na nový web, často i s převodem adres | Některé bezplatné verze mají omezenou maximální velikost; velké nahrávání může narazit na vypršení časového limitu |
| Ručně | Zkopírovat soubory (SFTP nebo zip), exportovat a importovat databázi, upravit wp-config.php, u nové domény vyhledat a nahradit | Nejvíc práce, ale vidíte každý krok a funguje to vždy |
Ručně to probíhá takto:
- Soubory: stáhněte celý webový adresář (nebo z něj vytvořte zip ve Správci souborů) a nahrajte ho do webového adresáře na novém hostingu.
- Databáze: exportujte ji na starém hostingu (phpMyAdmin nebo
wp db export), na novém vytvořte prázdnou databázi s vlastním uživatelem (lekce 2.3) a importujte ji (lekce 8.2). - wp-config.php: zadejte nový název databáze, uživatele, heslo a hostitele. Zkontrolujte prefix tabulek.
- Nová doména? Nejprve si udělejte zálohu databáze (nebo použijte export z kroku 2). Potom vyhledejte a nahraďte adresy nástrojem, který rozumí serializovaným datům (lekce 3.2): nejdřív zkušební běh s
--dry-run, pak ten skutečný.--skip-columns=guidponechá trvalé identifikátory příspěvků beze změny a bez--all-tableszůstane WP-CLI jen u tabulek WordPressu.
wp search-replace 'https://example.com' 'https://example.net' --skip-columns=guid --dry-run
wp search-replace 'https://example.com' 'https://example.net' --skip-columns=guid- Certifikát na novém hostingu (jakmile na něj DNS ukazuje, nebo dříve, pokud to hostitel umožňuje).
Někteří poskytovatelé hostingu Vám web přestěhují zdarma nebo za poplatek; nabízí to i WebOké. Zeptejte se pak, které kroky z této lekce udělají sami a které musíte zkontrolovat Vy.
Testování před změnou DNS
Nejdůležitější zásada přestěhování bez výpadku: nový web funguje dřív, než na něj kdokoli přijde. Testujete ho na novém hostingu, zatímco DNS ještě ukazuje na starý. Dva způsoby (lekce 2.1):
- Soubor hosts ve Vašem počítači: zapište do něj k Vaší doméně IP adresu nového serveru. Na nový web pak půjde jen Váš počítač. Certifikát tam někdy ještě není; varování přijměte jen pro tento test.
- Testovací adresa nebo náhled od nového poskytovatele, který Váš web zobrazí pod skutečnou doménou bez změny DNS (u WebOké "Otestujte svůj web před přesunem").
Projděte si kontrolní seznam z lekce 8.2: stránky, obrázky, přihlášení, formuláře, e-shop, trvalé odkazy.
Plánování změny
Několik dní předem:
- Snižte TTL záznamů, které budete měnit (A, AAAA, www), například na 300 sekund, aby se změna později rychle projevila všude (kurz DNS, lekce 6.1). Udělejte to minimálně o dobu původního TTL dříve.
- Vytvořte zálohu starého webu (lekce 8.1) a uložte ji mimo oba poskytovatele.
- Připravte poštu, pokud se stěhuje také: vytvořit schránky, přenést poštu, připravit záznamy MX (kurz DNS, lekce 6.3).
V den změny:
- Zmrazení obsahu: od této chvíle se na starém webu už nic nemění. U e-shopu: zvolte klidnou dobu a dejte obchod na chvíli do režimu údržby, jinak Vám na starý web přijdou objednávky, o které přijdete.
- Poslední synchronizace: přeneste databázi (a nově nahrané soubory) ze starého webu na nový ještě jednou, aby obsahovala vše z posledních dní.
- Přepnout DNS: záznamy A a AAAA (a www) na novou IP adresu. Starý záznam AAAA odstraňte (lekce 2.1).
- Certifikát si na novém hostingu vyžádejte, jakmile na něj DNS ukazuje.
- Zkontrolujte výsledek pomocí úkolu z této lekce a kontrolního seznamu.
Potom:
- Ponechte starý hosting ještě několik dní (s webem v režimu údržby nebo jen pro čtení) kvůli návštěvníkům, kteří mají starou adresu ještě v mezipaměti, a jako záložní možnost.
- Zkontrolujte trvalé odkazy (jednou uložit v Nastavení > Trvalé odkazy, pokud stránky vracejí chybu 404), cache (vyprázdnit), úlohy cron a WP-Cron (lekce 6.3) a poštu odesílanou z webu (lekce 9.1, SPF teď musí uvádět nový server).
- Zvyšte TTL zase zpět.
- Teprve po týdnu či dvou: zrušte starý hosting, až si stáhnete poslední zálohu.
U nové domény: přesměrování
Pokud se stěhujete na jinou doménu, musí stará doména dál existovat a přesměrovávat: každou starou adresu přesměrujte kódem 301 na stejnou cestu na nové doméně (https://example.com/contact/ na https://example.net/contact/), ne všechno na domovskou stránku. Tak si udržíte návštěvníky ze starých odkazů i své místo ve vyhledávačích (lekce 9.2).
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$ [NC]
RewriteRule ^(.*)$ https://example.net/$1 [R=301,L]Starou doménu (i s certifikátem) si ponechte ještě několik let. Ohlaste přestěhování v Google Search Console pomocí funkce pro změnu adresy a odešlete novou mapu webu (sitemap).
Shrnutí
- Přestěhování na jiný hosting (stejná doména) a na jinou doménu jsou dva různé úkoly; pokud děláte obojí, rozdělte je.
- Web přenesete importem přes instalátor, migračním pluginem nebo ručně (soubory, databáze, wp-config.php, u nové domény vyhledat a nahradit).
- Nový web otestujte před změnou DNS přes soubor hosts nebo testovací adresu.
- Předem snižte TTL, zmrazte obsah, proveďte poslední synchronizaci, přepněte DNS a zkontrolujte trvalé odkazy, cache, cron a poštu.
- U nové domény: každou starou adresu přesměrujte kódem 301 na stejnou cestu na nové doméně a ohlaste změnu adresy v Search Console.
Kvíz
Úkol
Úkol A9.5: Povedlo se stěhování? Po přestěhování zadejte svou doménu, IP adresu (nebo název serveru) nového hostingu a při změně domény také starou doménu. Program zkontroluje: ukazují doména bez www i www (A a AAAA) na nový server, je certifikát platný pro oba názvy, ukazuje odkaz REST webu na správnou doménu (siteurl správně převedený), nevyskytuje se stará doména už v odkazech a zdrojích domovské stránky a přesměrovává stará doména (pokud je zadaná) kódem 301 na stejnou cestu na nové doméně?
Úkol D9.5: Váš plán přestěhování. Sepište plán pro přestěhování vlastního webu (i když to teď neplánujete): jaký druh přestěhování, jaký způsob přenosu, co se musí přestěhovat vedle WordPressu (pošta, DNS záznamy, úlohy cron), jak budete testovat před změnou, časový plán (dny předem, samotný den, dny potom) s tím, kdo který krok provede, a jak se vrátíte zpět, když se něco pokazí. Zaškrtněte, že jste si vyhledali aktuální TTL svého záznamu A, a zapište si ho.
Úkol D9.5: Váš plán přestěhování
Tento úkol provádíte sami; nikdo ho nekontroluje. Odškrtněte, co jste udělali, a označte úkol jako splněný.
Několik dní předem snižte TTL, domluvte zastavení obsahu s poslední synchronizací těsně před přepnutím a nezapomeňte na e-mail a ostatní DNS záznamy.
Vaše zaškrtnutí a poznámky zůstávají pouze v tomto prohlížeči; nikam je neposíláme. Pokud jste přihlášeni, ukládáme v sekci Moje kurzy pouze to, že jste úkol splnili.
Další čtení
Tyto články popisují postup v panelech WebOké; v jiných panelech to funguje podobně.
- Import existujícího webu do Installatronu
- Příručka k DirectAdmin 13.4: Import existujícího webu do Installatronu
- Moje webová stránka nefunguje po nahrání nebo přesunu
- Přesun domény, webu a e-mailu najednou bez výpadku: postup krok za krokem
- Příručka k DirectAdmin 18.8: Testování webových stránek před přesunem domény
- Příručka WebOké 14.2: Otestovat si web před přestěhováním
- Vyhledávání a nahrazování v databázi WordPressu
- Příručka k DirectAdmin 12.4: Export databáze
- Bezplatný DNS kurz 6.3: DNS při převodu domény
- Přestěhování WordPressu (developer.wordpress.org, angličtina): https://developer.wordpress.org/advanced-administration/upgrade/migrating/
- Ruční přesun WordPressu: soubory, databáze a wp-config.php
