Fișierul wp-config.php este cel mai sensibil fișier dintr-o instalare WordPress: conține credențialele bazei de date,…

Cum configurezi staging pentru WordPress pe un server cPanel
Un mediu de staging este o copie a site-ului WordPress de producție pe care testați actualizările, modificările de cod sau noile plugin-uri înainte de a le implementa pe site-ul real. Fără staging, orice actualizare de plugin sau modificare de temă pe site-ul de producție riscă să provoace erori vizibile vizitatorilor.
Pe un server cPanel, configurarea unui mediu de staging se poate face manual în câțiva pași: crearea unui subdomeniu, clonarea fișierelor WordPress și crearea unei baze de date separate cu o copie a bazei de date de producție.
Cum configurezi staging pentru WordPress pe un server cPanel
Există două abordări pentru staging pe cPanel: manual (descris în acest ghid) și prin plugin-uri dedicate (WP Staging, All-in-One WP Migration). Abordarea manuală oferă mai mult control și nu depinde de un plugin suplimentar.
Pasul 1: Crearea subdomeniului pentru staging
Din cPanel, navigați la Domains, Subdomains (sau Aliases în versiunile recente) și creați subdomenul staging.site-vostru.ro cu directorul document root la /public_html/staging sau la /home/user/staging (în afara public_html pentru securitate mai bună).
Alternativ, puteți folosi un domeniu complet separat accesibil doar de la IP-ul propriu sau protejat cu parolă.
Pasul 2: Copierea fișierelor WordPress
Din terminalul cPanel sau prin SSH:
# Copiati fisierele WordPress de productie in staging
cp -r ~/public_html ~/staging
# Verificati ca fisierele au fost copiate
ls -la ~/staging/
# Alternativ prin File Manager din cPanel:
# Selectati toate fisierele din public_html, copiati, lipiti in stagingPasul 3: Crearea bazei de date de staging
Din cPanel, navigați la MySQL Databases:
- Creați o bază de date nouă: user_staging (cPanel adaugă prefixul username-ului automat).
- Creați un utilizator MySQL nou: user_staginguser cu o parolă puternică.
- Acordați toate privilegiile utilizatorului nou pe baza de date de staging.
Pasul 4: Exportul și importul bazei de date
# Export baza de date de productie (prin WP-CLI)
wp db export ~/staging-db-$(date +%Y%m%d).sql --path=~/public_html
# Import in baza de date de staging
mysql -u user_staginguser -p user_staging < ~/staging-db-$(date +%Y%m%d).sqlAlternativ, exportați din phpMyAdmin (selectați baza de date de producție, Export, Quick) și importați în baza de date de staging (selectați-o, Import).
Pasul 5: Configurarea wp-config.php pentru staging
Editați fișierul ~/staging/wp-config.php cu credențialele bazei de date de staging:
define( 'DB_NAME', 'user_staging' );
define( 'DB_USER', 'user_staginguser' );
define( 'DB_PASSWORD', 'ParolaBazaDeDate' );
define( 'DB_HOST', 'localhost' );
// Dezactivati indexarea de catre motoarele de cautare la nivel de cod
// (suplimentar fata de setarea din WordPress)
define( 'WP_ENVIRONMENT_TYPE', 'staging' );Pasul 6: Actualizarea URL-urilor în baza de date de staging
Baza de date copiată conține URL-urile de producție (https://site-vostru.ro). Trebuie înlocuite cu URL-ul de staging:
# Prin WP-CLI (recomandat)
wp search-replace 'https://site-vostru.ro' 'https://staging.site-vostru.ro' \
--path=~/staging --all-tables
# Verificati daca inlocuirea a reusit
wp option get siteurl --path=~/staging
wp option get home --path=~/stagingPasul 7: Dezactivarea indexării pe staging
Este esențial că site-ul de staging nu fie indexat de Google. Asigurați-vă că în Settings, Reading din panoul de administrare WordPress al site-ului de staging opțiunea Discourage search engines from indexing this site este bifată.
Adăugați și protecție suplimentară prin .htaccess sau parolă cPanel pe directorul staging pentru a preveni accesul neautorizat:
# /home/user/staging/.htaccess
# Permiteti acces doar de la IP-ul propriu
Order Deny,Allow
Deny from all
Allow from IP_PROPRIUSincronizarea modificărilor de pe staging la producție
Când ați testat și validat modificările pe staging, sincronizați-le selectiv pe producție:
# Sincronizati doar temele modificate
rsync -av ~/staging/wp-content/themes/tema-mea/ \
~/public_html/wp-content/themes/tema-mea/
# Sincronizati un plugin specific
rsync -av ~/staging/wp-content/plugins/plugin-testat/ \
~/public_html/wp-content/plugins/plugin-testat/Evitați sincronizarea completă a fișierelor sau bazei de date de la staging la producție, deoarece staging-ul conține URL-uri diferite în baza de date.
Concluzie
Un mediu de staging configurat corect pe cPanel este o investiție de timp de aproximativ o oră care previne potențiale ore de depanare ulterioară pe site-ul de producție. Actualizările de plugin-uri testate pe staging înainte de implementare reduc semnificativ riscul de incompatibilități sau erori vizibile vizitatorilor.
Pe serverele noastre VPS cu cPanel, spațiul generos de stocare NVMe SSD permite menținerea unui mediu de staging permanent alături de site-ul de producție fără să afecteze performanța.


