Модул 9 · 9.5
Преместване на WordPress сайт @@ОМСКРИВАНЕ@@
Модул 9: Имейл, видимост в търсачките, GDPR, поддръжка и преместване · Време за четене: 10 минути
Учебна цел: След този урок ще можете да преместите WordPress сайт към друг хостинг или друг домейн без прекъсване на работата.
Ключови понятия: преместване към друг хостинг, преместване към друг домейн, импортиране чрез инсталатор, разширение за миграция, ръчно преместване, търсене и замяна, тестване преди смяната на DNS, hosts файл, TTL, спиране на съдържанието, последна синхронизация, проверки след смяната, промяна на адреса в Search Console
Два вида преместване
Има два вида преместване и те са различни:
- Към друг хостинг, същият домейн. Сайтът преминава от сървър A към сървър B; адресът остава
https://example.com. DNS се сменя накрая. Не е нужно нищо да се променя в базата от данни. - Към друг домейн. Сайтът преминава от
example.comкъмexample.net(на същия или друг хостинг). Всички адреси в базата от данни се променят и трябва да настроите пренасочване на стария домейн.
Понякога правите и двете едновременно. В такъв случай е по-добре да разделите стъпките: първо преместете сайта на новия хостинг, после сменете домейна. Така при проблем ще знаете коя стъпка е причината.
И не забравяйте какво стои до WordPress: имейл на домейна, DNS записи, cron задачи, други сайтове в същия пакет. Те не се преместват автоматично заедно със сайта (DNS курс, урок 6.3).
Три начина за прехвърляне на сайта
| Начин | Как | Внимание |
|---|---|---|
| Импортиране чрез инсталатор | Много инсталатори (Installatron, Softaculous) могат да изтеглят сайт от друг сървър с FTP или SFTP данните на стария хостинг | Бързо, и сайтът веднага се появява във Вашия инсталатор (урок 2.2) |
| Разширение за миграция | Разширение създава на стария сайт пакет (файлове и база от данни) и го поставя на новия, често с автоматична замяна на адресите | Някои безплатни версии имат ограничение за размер; големите качвания могат да предизвикат изтичане на времето за изчакване (time-out) |
| Ръчно | Копиране на файлове (SFTP или zip), експортиране и импортиране на базата от данни, настройка на wp-config.php, при нов домейн търсене и замяна | Най-много работа, но виждате всяка стъпка и винаги работи |
Ръчното преместване протича така:
- Файлове: изтеглете цялата уеб папка (или направете zip архив чрез File Manager) и я поставете в уеб папката на новия хостинг.
- База от данни: експортирайте я на стария хостинг (phpMyAdmin или
wp db export), създайте на новия хостинг празна база от данни със собствен потребител (урок 2.3) и я импортирайте (урок 8.2). - wp-config.php: въведете новото име на базата от данни, потребител, парола и хост. Проверете представката на таблиците.
- Нов домейн? Извършете търсене и замяна на адресите с инструмент, който разбира сериализирани данни (урок 3.2):
wp search-replace 'https://example.com' 'https://example.net' --all-tables --dry-run
wp search-replace 'https://example.com' 'https://example.net' --all-tables- Сертификат (Certificate) на новия хостинг (веднага щом DNS сочи към него, или по-рано, ако хостинг доставчикът го позволява).
Някои хостинг доставчици преместват сайта Ви безплатно или срещу заплащане; и WebOké предлага тази услуга. Попитайте кои от стъпките в този урок те извършват и кои трябва да проверите сами.
Тестване преди смяната на DNS
Най-важният принцип на преместване без прекъсване: новият сайт вече работи, преди някой да го посети. Тествате го на новия хостинг, докато DNS все още сочи към стария. Два начина (урок 2.1):
- Hosts файлът на Вашия собствен компютър: въведете там IP адреса на новия сървър при Вашия домейн. Само Вашият компютър ще отваря новия сайт. Понякога сертификатът там все още липсва; приемете предупреждението само за този тест.
- Тестов адрес или предварителен преглед от новия Ви хостинг доставчик, който показва сайта Ви под истинския домейн, без да сменя DNS (при WebOké: „Test je website voor verhuizing“).
Прегледайте контролния списък от урок 8.2: страници, изображения, вход, формуляри, магазин, постоянни връзки.
Планиране на смяната
Няколко дни предварително:
- Намалете TTL на записите, които ще променяте (A, AAAA, www) на например 300 секунди, за да стане смяната бързо видима навсякъде (DNS курс, урок 6.1). Направете това поне толкова дни предварително, колкото е била старата стойност на TTL.
- Направете резервно копие на стария сайт (урок 8.1) и го съхранете извън двата хостинга.
- Подгответе пощата, ако и тя се премества: създайте пощенски кутии, прехвърлете пощата, подгответе MX записите (DNS курс, урок 6.3).
В деня на смяната:
- Спиране на съдържанието: от този момент нататък на стария сайт не се правят повече промени. При онлайн магазин: изберете спокоен момент и временно поставете магазина в режим на поддръжка, иначе ще пристигат поръчки на стария сайт, които ще загубите.
- Последна синхронизация: прехвърлете базата от данни (и новите качвания) от стария сайт към новия още веднъж, за да бъдат включени промените от последните дни.
- Смяна на DNS: A и AAAA запис (и www) към новия IP адрес. Премахнете стар AAAA запис, ако има такъв (урок 2.1).
- Заявете сертификат (Certificate) на новия хостинг веднага щом DNS сочи към него.
- Проверка с помощта на задачата от този урок и контролния списък.
След това:
- Оставете стария хостинг активен още няколко дни (със сайта в режим на поддръжка или само за четене) за посетители, които все още имат стария адрес в кеша си, и като резервен вариант.
- Проверете постоянните връзки (запазете веднъж от Настройки > Постоянни връзки, ако страниците връщат грешка 404), кеша (изчистете го), cron задачите и WP-Cron (урок 6.3), и пощата от сайта (урок 9.1, SPF трябва вече да посочва новия сървър).
- Върнете TTL отново на по-висока стойност.
- Едва след седмица или две: прекратете стария хостинг, след като сте изтеглили последно резервно копие.
При нов домейн: пренасочване
Ако се местите към друг домейн, старият домейн трябва да остане активен и да пренасочва: всеки стар адрес с код 301 към същия път на новия домейн (https://example.com/contact/ към https://example.net/contact/), а не всичко към началната страница. По този начин запазвате посетителите от стари връзки и позициите си в търсачките (урок 9.2).
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$ [NC]
RewriteRule ^(.*)$ https://example.net/$1 [R=301,L]Запазете стария домейн (и сертификат за него) още с години. Съобщете преместването в Google Search Console с функцията за промяна на адреса и подайте новата карта на сайта (sitemap).
Обобщение
- Преместването към друг хостинг (същият домейн) и преместването към друг домейн са различни задачи; разделете ги, ако правите и двете.
- Прехвърлете сайта чрез импортиране с инсталатор, разширение за миграция или ръчно (файлове, база от данни, wp-config.php, а при нов домейн търсене и замяна).
- Тествайте новия сайт преди смяната на DNS чрез hosts файла или тестов адрес.
- Намалете предварително TTL, спрете съдържанието временно, направете последна синхронизация, сменете DNS и проверете постоянните връзки, кеша, cron задачите и пощата.
- При нов домейн: всеки стар адрес с код 301 към същия път на новия домейн, и промяна на адреса в Search Console.
Тест
Задача
Задача A9.5: Успешно ли премина преместването? След преместване въвеждате Вашия домейн, IP адреса (или името на сървъра) на новия хостинг, а при смяна на домейн и стария домейн. Програмата проверява: дали домейнът без www и www (A и AAAA) сочат към новия сървър, дали сертификатът е валиден и за двете имена, дали REST препратката на сайта сочи към правилния домейн (siteurl правилно сменен), дали старият домейн вече не се среща в линковете и ресурсите на началната страница, и дали старият домейн (ако е посочен) пренасочва с код 301 към същия път на новия.
Задача D9.5: Вашият план за преместване. Напишете план за преместването на собствения си сайт (дори и ако в момента не планирате такова): какъв вид преместване, какъв начин на прехвърляне, какво трябва да се прехвърли освен WordPress (поща, DNS записи, cron задачи), как ще тествате преди смяната, времевия график (дни предварително, самия ден, дните след това) с посочено кой извършва всяка стъпка, и как можете да се върнете назад, ако нещо се обърка. Отбележете, че сте проверили текущия TTL на Вашия A запис, и го запишете.
Задача D9.5: Вашият план за преместване
Тази задача изпълнявате сами; никой не я проверява. Отбележете какво сте направили и маркирайте задачата като изпълнена.
Намалете TTL няколко дни предварително, договорете спиране на съдържанието с последна синхронизация точно преди смяната и не забравяйте пощата и останалите DNS записи.
Вашите отметки и бележки остават само в този браузър; не ги изпращаме никъде. Ако сте влезли, в Моите курсове запазваме само че сте изпълнили задачата.
Допълнително четене
Тези статии описват стъпките в панелите на WebOké; в други панели работят по подобен начин.
- Импортиране на скрипт в Installatron
- Ръководство за DirectAdmin 13.4: Импортиране на съществуващ уебсайт в Installatron
- Моят уебсайт не работи след качване или преместване
- Прехвърляне на домейн, уебсайт и имейл едновременно без прекъсване: план за действие
- Ръководство за DirectAdmin 18.8: Тестване на моя уебсайт преди преместването на домейна
- Ръководство на WebOké 14.2: Тестване на Вашия уебсайт преди преместване
- Ръководство за DirectAdmin 12.4: Експортиране на база данни
- Безплатен курс по DNS 6.3: DNS при трансфер
- WordPress verhuizen (developer.wordpress.org, Английски): https://developer.wordpress.org/advanced-administration/upgrade/migrating/
