Ce să Iei în Considerare Când Migrezi la un Alt Furnizor de Web Hosting
Migrarea unui site web la un nou furnizor de hosting este una dintre operațiunile de infrastructură cu cel mai mare risc pe care le poate întreprinde un proprietar de site. Realizată corect, rezultă în zero pierderi de date, timp de nefuncționare neglijabil și performanță măsurabil mai bună. Realizată neglijent, produce baze de date defecte, erori DNS, scăderi ale clasamentului SEO și ore de muncă de recuperare de urgență.
Acest ghid acoperă fiecare fază critică a unei migrări de hosting — de la auditarea pre-migrare și validarea compatibilității, prin mecanica comutării DNS, până la monitorizarea post-migrare — cu profunzimea tehnică necesară pentru a o executa fără incidente.
Faza 1: Auditați mediul de hosting actual înainte de a atinge orice
Cel mai frecvent eșec de migrare provine din omiterea unui audit amănunțit al mediului existent. Înainte de a evalua un nou furnizor, aveți nevoie de un inventar precis al ceea ce rulați efectiv.
Profilarea traficului și resurselor
Extrageți cel puțin 90 de zile de date privind resursele serverului — nu doar numărul de vizualizări de pagini. Metricile care contează sunt:
- Conexiuni simultane de vârf — nu traficul mediu, ci plafonul de vârf pe care serverul trebuie să îl gestioneze
- Consumul de memorie per worker PHP sau proces de aplicație
- Modelele de I/O pe disc — deosebit de relevante dacă rulați o aplicație intensivă în baze de date precum WooCommerce sau un CRM personalizat
- Utilizarea lățimii de bandă — totalurile lunare de transfer față de limita planului actual
Dacă hostul actual oferă cPanel sau Plesk, aceste date sunt accesibile în secțiunile de utilizare a resurselor sau AWStats. Pe un Linux VPS, rulați următoarele pentru a captura un instantaneu de referință:
vmstat 1 10
iostat -x 1 5
free -m
df -hAceastă ieșire vă spune dacă blocajul este CPU, RAM sau disc — ceea ce determină direct dacă aveți nevoie de un plan shared mai mare, un VPS sau un Server Dedicat.
Inventarul stivei software
Documentați fiecare componentă a stivei cu numere exacte de versiune:
- Versiunea PHP (ex., 8.1, 8.2) și extensiile active (
mbstring,curl,gd,imagick,redis) - Versiunea MySQL sau MariaDB și motorul de stocare (InnoDB vs. MyISAM contează pentru instrumentele de migrare)
- Software-ul serverului web: Apache, Nginx, LiteSpeed sau o combinație reverse-proxy
- Orice module compilate, reguli
.htaccesspersonalizate sau blocuringinx.confde locație - Sarcini Cron — exportați-le din
crontab -lși documentați-le separat - Tipul și emitentul certificatului SSL (Let’s Encrypt, CA comercial, wildcard)
Omiterea chiar și a unei singure extensii PHP pe serverul de destinație poate deteriora silențios funcționalitatea care apare doar în acțiuni specifice ale utilizatorului — o eroare care este notoric dificil de urmărit post-migrare.
Faza 2: Evaluați și selectați nivelul de hosting potrivit
Alegerea nivelului greșit de hosting este o greșeală structurală care forțează o a doua migrare în câteva luni. Mapați constatările auditului la clasa de infrastructură corectă.
Comparație niveluri de hosting
| Criterii | Hosting Shared | Hosting VPS | Server Dedicat |
|---|---|---|---|
| — | — | — | — |
| Izolare | Niciuna — resurse partajate | Izolare completă la nivel de OS | Izolare completă hardware |
| CPU/RAM | Pool partajat, limitat | Alocare garantată | Alocare hardware completă |
| Acces root | Nu | Da | Da |
| Software personalizat | Sever limitat | Control complet | Control complet |
| Scalabilitate | Doar verticală, limitată | Verticală + orizontală | Necesită upgrade hardware |
| Cel mai bun pentru | Site-uri de prezentare, trafic redus | Aplicații în creștere, e-commerce | Trafic ridicat, conformitate strictă |
| SLA uptime tipic | 99.9% | 99.9%–99.99% | 99.99% |
| Protecție DDoS | De bază sau niciuna | Depinde de furnizor | Avansată, configurabilă |
Regulă cheie de decizie: Dacă aplicația dvs. necesită o configurație specifică a pool-ului PHP-FPM, conexiuni Redis socket, rescrieri Nginx personalizate sau orice proces daemon, hostingul shared este incompatibil arhitectural. Aveți nevoie de cel puțin un VPS cu acces root.
Pentru site-urile WordPress sau Joomla cu trafic moderat, un VPS cu cPanel oferă interfața familiară a panoului de control, păstrând în același timp izolarea și performanța unei mașini virtuale.
Criterii de evaluare a furnizorilor
Dincolo de afirmațiile de marketing, evaluați furnizorii pe acești factori tehnici verificabili:
- SLA uptime cu clauze de penalitate financiară — un SLA de 99.9% fără compensație este lipsit de sens
- Clasificarea nivelului centrului de date (Tier III sau Tier IV pentru sarcini de lucru de producție)
- Redundanța rețelei — BGP multi-homing, mai mulți furnizori upstream
- Tipul de stocare — NVMe SSD față de SATA SSD față de disc rotativ (diferențele de latență sunt semnificative)
- Politica de backup — frecvență, perioadă de retenție, dacă backup-urile sunt stocate off-site
- SLA timp de răspuns suport — distingeți între timpul de prim răspuns și timpul de rezoluție
Faza 3: Creați și verificați un backup complet
Nicio migrare nu ar trebui să înceapă fără un backup verificat și restaurabil. „Verificat” înseamnă că ați testat efectiv restaurarea — nu doar că ați confirmat că există un fișier de backup.
Ce trebuie să includă un backup complet
- Fișierele rădăcină web — întregul document root, inclusiv fișierele ascunse precum
.htaccessși.env - Toate bazele de date — exportate ca dump-uri
.sql, nu doar o copie a directorului bazei de date - Date email — dacă utilizați Hosting Email legat de domeniul dvs., exportați căsuțele poștale înainte de orice modificări DNS
- Sarcini Cron —
crontab -l > crontab_backup.txt - Certificate SSL și chei private — dacă utilizați un certificat comercial, exportați lanțul complet
- Fișiere de configurare server —
/etc/nginx/,/etc/apache2/,/etc/php/, setărimy.cnfpersonalizate
Efectuarea unui export de bază de date
Pentru MySQL/MariaDB, utilizați mysqldump cu opțiuni care păstrează fidelitatea completă:
mysqldump
--single-transaction
--routines
--triggers
--events
--set-gtid-purged=OFF
-u root -p your_database_name > database_backup_$(date +%F).sqlFlag-ul --single-transaction este critic pentru tabelele InnoDB — realizează un instantaneu consistent fără a bloca tabelele, ceea ce înseamnă că site-ul live continuă să servească cereri în timpul dump-ului.
Verificarea integrității backup-ului
# Check the SQL dump is not truncated
tail -5 database_backup_2024-01-15.sql
# Verify file count in web root backup
tar -tzf webroot_backup.tar.gz | wc -l
# Test restoration to a local or staging environment
mysql -u root -p test_restore_db < database_backup_2024-01-15.sqlUn backup pe care nu l-ați testat restaurând nu este un backup — este o falsă senzație de securitate.
Faza 4: Validați compatibilitatea pe serverul de destinație
Înainte de a transfera datele de producție, configurați noul mediu și validați compatibilitatea folosind o abordare de staging.
Verificarea versiunii PHP și a extensiilor
# On the destination server
php -v
php -m | grep -E 'mbstring|curl|gd|imagick|redis|zip|intl|opcache'Comparați această ieșire cu inventarul din Faza 1. Orice extensie lipsă trebuie instalată înainte de migrare, nu după.
Verificarea compatibilității bazei de date
Dacă migrați de la MySQL 5.7 la MySQL 8.0 (un scenariu frecvent), fiți conștienți de aceste modificări incompatibile:
- Setul de caractere
utf8mb3este depreciat; coloanele pot necesita declarații explicite de set de caractere - Comportamentul
GROUP BYs-a schimbat — interogările care funcționau în 5.7 pot eșua în 8.0 fără ajustarea moduluiONLY_FULL_GROUP_BY NO_ZERO_DATEeste activat implicit în modul strict, care respinge câmpurile de dată conținând0000-00-00
Testați dump-ul SQL față de versiunea MySQL de destinație înainte de a comuta traficul de producție.
Traducerea configurației serverului web
Dacă migrați de la Apache la Nginx (un scenariu frecvent la trecerea la un VPS optimizat pentru performanță), regulile .htaccess nu se traduc automat. Conversii frecvente:
Redirecționare Apache .htaccess:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]Echivalent Nginx în blocul server:
server {
listen 80;
server_name example.com www.example.com;
return 301 https://$host$request_uri;
}Omiterea acestei traduceri este una dintre cele mai frecvente cauze ale erorilor 404 și buclelor de redirecționare post-migrare.
Faza 5: Executați migrarea cu minimizarea timpului de nefuncționare
Alegeți strategic fereastra de migrare
Analizați Google Analytics sau jurnalele serverului pentru a identifica fereastra cu cel mai scăzut trafic — de obicei între 02:00 și 05:00 în fusul orar al publicului principal, într-o zi de marți sau miercuri. Evitați vinerea; dacă ceva merge prost, opțiunile de suport se restrâng semnificativ în weekend.
Fluxul de lucru de migrare staging-first
- Îndreptați un subdomeniu către noul server (ex.,
staging.example.com) folosind un A record, fără a atinge DNS-ul de producție - Transferați toate fișierele și bazele de date pe noul server
- Actualizați șirul de conexiune la baza de date al aplicației pentru a indica noua bază de date
- Modificați fișierul local
/etc/hostspentru a rezolva domeniul de producție la IP-ul noului server — aceasta vă permite să testați configurația completă de producție fără a afecta utilizatorii live:
# Add to /etc/hosts on your local machine
203.0.113.50 example.com www.example.com- Rulați un test funcțional complet — fiecare formular, flux de plată, sistem de autentificare, endpoint API și încărcare media
- Rulați benchmark-uri de performanță folosind
ab(Apache Benchmark) sauwrk:
ab -n 1000 -c 50 https://example.com/- Doar după trecerea tuturor testelor, procedați la comutarea DNS
Configurarea certificatului SSL
Asigurați-vă că certificatul SSL este instalat și validat pe noul server înainte de comutarea DNS. Dacă utilizați Let’s Encrypt:
certbot --nginx -d example.com -d www.example.comDacă utilizați un certificat comercial de la un furnizor precum cei disponibili prin Certificate SSL, instalați lanțul complet de certificate (certificat + CA intermediar + CA rădăcină) pentru a evita erorile de validare a lanțului pe clienții mai vechi.
Faza 6: Comutarea DNS — Cel mai sensibil pas tehnic
Propagarea DNS este larg înțeleasă greșit. Cifra de 48 de ore este un plafon pentru cel mai rău caz, nu o durată tipică. În practică, majoritatea resolverelor respectă valoarea TTL a înregistrării care se modifică.
Reducerea TTL înainte de comutare
Cu cel puțin 24–48 de ore înainte de fereastra de migrare, reduceți TTL-ul pe înregistrările A și CNAME la 300 de secunde (5 minute):
example.com. 300 IN A 203.0.113.50
www.example.com. 300 IN A 203.0.113.50Aceasta înseamnă că după ce actualizați înregistrarea la noul IP, valoarea veche din cache expiră în 5 minute pentru majoritatea resolverelor — nu în 48 de ore. Aceasta este tehnica cu cel mai mare impact pentru minimizarea ferestrei de propagare DNS.
Actualizări Name Server vs. A Record
Există două abordări distincte de comutare DNS:
- Modificați doar A records (păstrând aceiași nameserveri autoritativi): Propagarea urmează TTL-ul înregistrării. Cea mai rapidă abordare dacă registratorul domeniului permite gestionarea directă a înregistrărilor.
- Modificați nameserverii (îndreptați către DNS-ul noului host): TTL-urile nameserverelor sunt de obicei 24–48 de ore și nu sunt sub controlul dvs. direct. Această abordare durează mai mult.
Preferați actualizările A record când este posibil. Gestionați DNS-ul domeniului dvs. prin panoul de control Înregistrare Domeniu pentru control direct la nivel de înregistrare.
Menținerea serverului vechi activ în timpul propagării
Nu anulați sau opriți planul de hosting vechi imediat după comutarea DNS. Mențineți-l activ pentru minimum 72 de ore. În timpul propagării, o parte din utilizatorii dvs. vor rezolva în continuare la IP-ul vechi — acele cereri trebuie să continue să fie servite. Oprirea prematură a serverului vechi creează o întrerupere reală pentru acei utilizatori.
Faza 7: Monitorizare și validare post-migrare
Monitorizarea uptime și performanței
Configurați monitorizarea externă a uptime-ului imediat după comutarea DNS — nu după ce credeți că propagarea este completă. Instrumente de implementat:
- UptimeRobot sau Better Uptime — verificări HTTP(S) la fiecare 1–5 minute din mai multe locații geografice
- Google Search Console — urmăriți rapoartele Coverage și Core Web Vitals pentru anomalii în cele 7 zile post-migrare
- New Relic sau Datadog — monitorizarea performanței la nivel de aplicație dacă aplicația dvs. o justifică
Identificarea și rezolvarea erorilor post-migrare
Rulați imediat un crawl al noului site folosind Screaming Frog sau o oglindă wget:
wget --spider --recursive --no-verbose --output-file=crawl_log.txt https://example.com
grep -i "broken|404|error" crawl_log.txtProbleme frecvente post-migrare și cauzele lor:
| Problemă | Cauză probabilă | Rezoluție |
|---|---|---|
| — | — | — |
| 404 pe toate paginile | `.htaccess` lipsă sau mod_rewrite neactivat | Restaurați `.htaccess`, activați `AllowOverride All` |
| Eroare conexiune bază de date | Credențiale greșite în fișierul de configurare | Actualizați `wp-config.php` sau `.env` |
| Avertismente conținut mixt | URL-uri `http://` hardcodate în baza de date | Rulați search-replace pe baza de date |
| Email-ul nu se trimite | Releu SMTP neconfigurat pe noul server | Configurați Postfix sau utilizați plugin SMTP |
| Imagini defecte | Permisiuni de fișiere incorecte | `find /var/www -type f -exec chmod 644 {} ;` |
| Buclă de redirecționare | Redirecționare SSL duplicată în `.htaccess` și Nginx | Eliminați regula de redirecționare duplicată |
Corectarea URL-urilor hardcodate în bazele de date WordPress
O problemă frecventă și subtilă: WordPress stochează URL-ul site-ului în baza de date, iar multe teme și plugin-uri stochează URL-uri absolute în date serializate. După migrarea la un nou domeniu sau protocol, rulați:
wp search-replace 'http://old-domain.com' 'https://new-domain.com'
--all-tables
--precise
--report-changed-onlyFlag-ul --precise gestionează corect datele serializate PHP, pe care înlocuirea naivă a șirurilor o deteriorează.
Faza 8: Anulați planul de hosting vechi
Anulați planul vechi doar după confirmarea tuturor condițiilor următoare:
- Propagarea DNS este completă (verificați cu
dig +trace example.comdin mai multe locații) - Monitorizarea uptime arată 100% disponibilitate pentru cel puțin 72 de ore consecutive
- Nu au fost detectate erori 404 sau linkuri defecte în jurnalele de crawl
- Livrarea email-urilor funcționează corect pe noul server
- Analytics arată modele normale de trafic fără scăderi anormale
- Aveți o copie locală a tuturor fișierelor de backup independentă de oricare furnizor de hosting
Listă de verificare tehnică cheie
Utilizați aceasta ca listă de verificare pentru execuția migrării:
Pre-migrare
- [ ] Exportat referința de utilizare a resurselor pe 90 de zile (CPU, RAM, I/O, lățime de bandă)
- [ ] Documentată stiva software completă cu numere exacte de versiune
- [ ] Redus TTL DNS la 300 de secunde cu cel puțin 24 de ore înainte de comutare
- [ ] Creat și testat backup complet (fișiere + baze de date + sarcini cron + email)
- [ ] Validată versiunea PHP și toate extensiile necesare pe serverul de destinație
- [ ] Traduse regulile
.htaccessîn format Nginx dacă se schimbă serverele web - [ ] Instalat și validat certificatul SSL pe noul server înainte de modificarea DNS
În timpul migrării
- [ ] Transferate fișierele folosind
rsynccu verificare checksum (rsync -avz --checksum) - [ ] Importată baza de date și verificat că numărul de rânduri corespunde sursei
- [ ] Testată funcționalitatea completă a site-ului prin suprascrierea
/etc/hostsînainte de modificarea DNS - [ ] Actualizate fișierele de configurare ale aplicației (host bază de date, credențiale, URL site)
Post-migrare
- [ ] Monitorizare externă uptime activă în 5 minute de la comutarea DNS
- [ ] Serverul vechi menținut activ pentru minimum 72 de ore post-comutare
- [ ] Crawl complet al site-ului finalizat; toate erorile 404 și linkurile defecte rezolvate
- [ ] URL-uri hardcodate corectate în baza de date (în special pentru WordPress)
- [ ] Google Search Console monitorizat timp de 7 zile post-migrare
- [ ] Planul de hosting vechi anulat doar după confirmarea tuturor elementelor de mai sus
Întrebări frecvente
Cât durează efectiv propagarea DNS și pot să o accelerez?
Durata propagării DNS este determinată de valoarea TTL a înregistrării care se modifică, nu de o fereastră fixă de 48 de ore. Dacă reduceți TTL-ul A record la 300 de secunde cu cel puțin 24 de ore înainte de migrare, majoritatea resolverelor vor prelua noul IP în 5–10 minute de la modificare. Cifra de 48 de ore se aplică modificărilor de delegare a nameserverelor, care au TTL-uri în afara controlului dvs.
Va afecta migrarea la un nou host clasamentele mele în căutările Google?
O migrare executată corect, fără timp de nefuncționare, cu structura URL păstrată și SSL valid, nu are impact negativ SEO. Clasamentele pot scădea temporar dacă noul server este mai lent, dacă URL-urile se schimbă fără redirecționări 301 corespunzătoare sau dacă site-ul este inaccesibil în timpul crawling-ului. Monitorizați rapoartele Coverage și Core Web Vitals din Google Search Console timp de 14 zile post-migrare.
Care este cel mai sigur mod de a transfera baze de date mari fără a corupe datele?
Utilizați mysqldump cu flag-ul --single-transaction pentru tabelele InnoDB pentru a asigura un instantaneu consistent fără blocarea tabelelor. Transferați fișierul dump prin SSH folosind scp sau rsync în loc de phpMyAdmin, care are limite de dimensiune a fișierelor și constrângeri de timeout ce cauzează trunchieri silențioase pe baze de date mari.
Trebuie să reinstalез certificatul SSL după migrare?
Da. Certificatele SSL sunt legate de cheia privată a serverului, care se află pe serverul original. Trebuie fie să reemiteți certificatul pe noul server (gratuit pentru Let’s Encrypt), fie să exportați cheia privată și lanțul de certificate de pe serverul vechi și să le instalați pe cel nou. Asigurați-vă că certificatul este complet validat înainte de actualizarea DNS, astfel încât HTTPS să funcționeze imediat după comutare.
Cum verific că migrarea este completă înainte de a anula planul vechi?
Rulați dig +trace example.com @8.8.8.8 și dig +trace example.com @1.1.1.1 pentru a confirma că atât resolverele Google cât și Cloudflare returnează IP-ul noului server. Verificați monitorizarea uptime pentru 72 de ore consecutive de răspunsuri curate. Crawlați site-ul pentru erori 404 și verificați livrarea email-urilor. Doar după ce toate acestea trec este sigur să terminați contul de hosting vechi.
