Модул 8 · 8.3
Staging: безопасно тестване
Модул 8: Резервни копия, тестова среда (staging) и PHP ъпгрейди · Време за четене: 9 минути
Учебна цел: След този урок ще можете да създадете тестова среда (staging), да я защитите и да връщате промени безопасно към реалния си сайт.
Ключови понятия: staging, продукция, клониране, субдомейн, noindex, парола на папката, изключена поща, платежен доставчик в тестов режим, синхронизиране, презаписване на базата данни, локална среда за разработка
Какво е staging
Една тестова среда (staging) (или тестов сайт) е копие на Вашия истински сайт, на собствен адрес, където изпробвате промени. Истинският Ви сайт тогава се нарича продукция. В staging може да се сгреши: нова тема, голям ъпдейт, PHP ъпгрейд (урок 8.4), ново разширение. Едва когато всичко работи, прилагате промяната в продукцията.
Използвате staging за промени с риск: големи версии на WordPress или на разширение за онлайн магазин, различна тема, PHP ъпгрейд, разчистване на разширения (урок 5.4), редизайн. За текстова промяна или малък ъпдейт на разширение не е необходимо.
Начини за създаване на staging
| Начин | Как | За кого |
|---|---|---|
| Функция за клониране на Вашия инсталатор | При Installatron "Копиране" с "Create a staging site", при Softaculous "Create Staging", при WP Toolkit "Clone" | Най-лесният начин, ако сайтът Ви е създаден с инсталатор |
| Staging от Вашия хостинг доставчик | При управляван WordPress хостинг често с един бутон | Ако Вашият хостинг доставчик го предлага |
| Разширение за staging | Разширение създава копие в подпапка или на субдомейн | Ако нямате инсталатор или функция от хостинг доставчика |
| Ръчно | Възстановяване на резервно копие до сайта (урок 8.2) и коригиране на адресите | Поучително и винаги възможно |
| Локално на собствения Ви компютър | Програма за локална разработка на WordPress или Docker среда | За разработчици и по-големи промени |
Staging на субдомейн (staging.example.com) обикновено е по-добре от такава в подпапка (example.com/staging): държи се повече като истинския Ви сайт, а бисквитките и правилата в .htaccess не се смесват. Създайте субдомейна първо, със сертификат.
Защита: три неща, които уреждате веднага
Копие на сайта Ви е пълноценен сайт с цялото Ви съдържание, а понякога и с всички данни на клиентите Ви. Затова веднага уредете:
1. Без търсачки
Без защита Google може да намери и индексира Вашата staging среда. Тогава имате дублирано съдържание, а търсещите попадат на тестовия Ви сайт. Направете поне едно, по възможност две от следните:
- Парола на цялата staging среда (basic authentication през панела за хостинг, „защитена папка“). Така никой не вижда сайта без парола, включително търсачките. Това е най-силната защита.
- Обезкуражаване на търсачките в Настройки > Четене (урок 2.4). Това поставя
noindexна всяка страница. Търсачките обикновено го спазват, но това е молба, не ключалка.
Обърнете внимание на обратното: ако по-късно синхронизирате staging обратно към продукцията, не пренасяйте отметката за noindex. Продукционен сайт, който изчезва от Google след „успешна“ синхронизация, е класически проблем. Задачата от този урок проверява и двете.
2. Без поща до истински хора
Копие на онлайн магазин или сайт с членство може да изпраща поща: потвърждения, напомняния, бюлетини, линкове за парола. Тогава клиентите получават объркващи писма от тестовия Ви сайт. Изключете изходящата поща в staging средата или я пренасочете към собствения си адрес (с разширение за прихващане на поща, или като изключите SMTP разширението в staging средата, урок 9.1). Изключете и планираните задачи, които изпращат поща.
3. Плащания и връзки в тестов режим
Онлайн магазин в staging среда трябва да работи с тестовия режим на платежния доставчик, не с истински плащания. Други връзки (счетоводство, наличности, CRM) изключвате или пренасочвате към тестова среда, иначе ще получат тестовите поръчки като истински.
Ако работите с истински данни на клиенти в staging средата, за тях важи GDPR (ОРЗД) по същия начин (урок 9.3): не ги съхранявайте по-дълго от необходимото и изтрийте staging средата, когато приключите.
Обратно към продукцията: капанът на базата данни
Най-трудната стъпка е връщането на промените Ви към продукцията. Инсталаторите и разширенията за staging имат функция за това (при Installatron „Synch“, при други „Push to live“). Рискът:
- Създавате staging в понеделник. От вторник до четвъртък тествате нова тема.
- Междувременно в продукцията постъпват двадесет поръчки, три нови публикации и петдесет коментара.
- В петък синхронизирате базата данни от staging към продукцията. Базата данни на staging е тази от понеделник: поръчките, публикациите и коментарите от вторник до петък са изчезнали.
Затова:
- Направете първо резервно копие на продукцията (урок 8.1), непосредствено преди синхронизирането.
- Синхронизирайте само необходимото. Обновяването на тема или разширение е въпрос на файлове; базата данни често не е нужно да се пренася. Много функции за синхронизиране Ви позволяват да изберете: само файлове, или само определени таблици.
- При онлайн магазин или натоварен сайт: по-добре направете промяната отново директно в продукцията (същите стъпки като в staging средата, сега вече знаете, че работят), вместо да пренасяте базата данни. Или планирайте спокоен момент с кратко спиране на магазина.
- След това проверете продукцията: контролния списък от урок 8.2 и отметката за noindex.
Staging е място, където научавате какво се случва. Самата промяна най-безопасно е да извършите отново директно в продукцията.
Разчистване
Staging среда, която остава месеци наред, се превръща в забравен сайт: без ъпдейти, със стари разширения и истински данни. Точно слабото място от урок 7.1. Изтрийте staging средата, когато приключите, или я поддържайте като пълноценен сайт (ъпдейти, парола). Клонът заема също толкова място колкото оригинала и има собствена база данни.
Обобщение
- Staging е копие на сайта Ви на собствен адрес за тестване на рискови промени.
- Създайте го с Вашия инсталатор, хостинг доставчик, разширение или ръчно, за предпочитане на субдомейн със сертификат.
- Защитете го веднага: парола и/или noindex, без поща до истински хора, плащания в тестов режим.
- Не синхронизирайте обратно безразборно: базата данни на staging презаписва всичко, добавено в продукцията. Направете резервно копие първо, синхронизирайте само необходимото, или извършете промяната отново.
- Изтрийте staging средата, когато приключите, и не пренасяйте отметката за noindex към продукцията.
Тест
Задача
Задача A8.3: Защитена ли е Вашата тестова среда (staging)? Въведете адреса на Вашата staging среда (субдомейн на собствения Ви домейн, например от задача D8.2) и на истинския Ви сайт. Докажете с кода от задачата, че домейнът е Ваш. Програмата проверява в staging средата: отговаря ли той чрез https и защитен ли е (искане за парола, или noindex в HTML или в хедъра X-Robots-Tag)? Сочи ли REST връзката (wp-json) към самата staging среда, а не към истинския Ви сайт? И на истинския Ви сайт: няма ли там noindex?
Допълнително четене
Тези статии описват стъпките в панелите на WebOké; в други панели те работят по подобен начин.
- Ръководство за DirectAdmin 13.7: Клониране и създаване на тестова среда (staging)
- Създаване на тестова (staging) среда за WordPress
- Ръководство за DirectAdmin 15.9: Защитени с парола директории
- Ръководство за DirectAdmin 4.5: Създаване и изтриване на поддомейни
- Ръководство за DirectAdmin 13.8: Премахване на инсталация
