WordPress staging — środowisko testowe krok po kroku
Opublikowano: 8 kwietnia 2026 · Kategoria: WordPress
Środowisko staging to kopia produkcyjnej strony, na której testujesz aktualizacje wtyczek, motywy i zmiany kodu — zanim trafią na żywą stronę. Bez stagingu każda zmiana to ryzyko błędu na produkcji widocznej dla odwiedzających. Ten artykuł opisuje jak skonfigurować staging na hostingu współdzielonym i VPS.
Opcja 1: Staging na subdomenie (hosting współdzielony)
Najprostsza metoda — nie wymaga VPS ani WP-CLI:
# 1. Utwórz subdomenę staging.twojadomena.pl w panelu DirectAdmin/cPanel
# 2. Skopiuj pliki przez FTP lub SSH
cp -r /var/www/html/public_html /var/www/html/staging
# 3. Skopiuj bazę danych
mysqldump -u uzytkownik -p baza_produkcyjna > /tmp/staging-backup.sql
mysql -u uzytkownik -p baza_staging < /tmp/staging-backup.sql
# 4. Zmień URL w bazie danych
mysql -u uzytkownik -p baza_staging -e "
UPDATE wp_options SET option_value = 'https://staging.twojadomena.pl'
WHERE option_name IN ('siteurl', 'home');
" Opcja 2: Staging z WP-CLI (VPS)
# Na produkcji: eksport bazy cd /var/www/produkcja wp db export /tmp/prod-$(date +%Y%m%d).sql # Skopiuj pliki na staging rsync -az --exclude='.git' /var/www/produkcja/ /var/www/staging/ # Na staging: import bazy cd /var/www/staging wp db import /tmp/prod-$(date +%Y%m%d).sql # Zamień URL wp search-replace 'https://twojadomena.pl' 'https://staging.twojadomena.pl' --all-tables # Wyczyść cache wp cache flush wp rewrite flush
Blokada indeksowania środowiska staging
Środowisko staging NIE może być indeksowane przez Google — zduplikowana treść szkodzi SEO:
# Metoda 1: WordPress UI
# Ustawienia → Czytanie → zaznacz "Nie zachęcaj wyszukiwarek do indeksowania tej witryny"
# Metoda 2: wp-config.php — automatycznie na staging
if ( strpos( $_SERVER['HTTP_HOST'], 'staging.' ) !== false ) {
add_action( 'wp_head', function() {
echo '<meta name="robots" content="noindex,nofollow">' . PHP_EOL;
});
}
# Metoda 3: .htaccess — HTTP Basic Auth (blokada dostępu)
# Utwórz .htpasswd: htpasswd -c /etc/apache2/.htpasswd uzytkownik
# Dodaj do .htaccess w katalogu staging:
# AuthType Basic
# AuthName "Staging"
# AuthUserFile /etc/apache2/.htpasswd
# Require valid-user
# Sprawdź meta robots po wdrożeniu:
# curl -s https://staging.twojadomena.pl | grep -i robots Push staging → produkcja
# ZAWSZE backup produkcji przed! cd /var/www/produkcja wp db export /backup/prod-pre-deploy-$(date +%Y%m%d-%H%M).sql # Skopiuj zmiany (pliki motywu, wtyczki — NIE całość!) rsync -az /var/www/staging/wp-content/themes/ /var/www/produkcja/wp-content/themes/ rsync -az /var/www/staging/wp-content/plugins/ /var/www/produkcja/wp-content/plugins/ # Jeśli zmieniłeś też bazę danych: wp db export /tmp/staging-content.sql # na staging # Transfer pliku SQL na produkcję wp db import /tmp/staging-content.sql # na produkcji wp search-replace 'https://staging.twojadomena.pl' 'https://twojadomena.pl' --all-tables # Wyczyść cache wp cache flush && wp rewrite flush
Lokalny staging z LocalWP
Dla szybkiej pracy deweloperskiej LocalWP (dawniej Local by Flywheel) tworzy izolowane środowisko WordPress na komputerze:
| Metoda | Gdzie | Zalety | Wady |
|---|---|---|---|
| LocalWP / XAMPP | Lokalny komputer | Brak kosztów, szybki start | Inny stack niż produkcja |
| Subdomena stagingowa | Ten sam hosting | Identyczny stack, darmowy | Wymaga ręcznej synchronizacji |
| WP-CLI rsync | VPS (osobna instancja) | Pełna kontrola, scriptable | Wymaga VPS i wiedzy SSH |
| UpdraftPlus / Duplicator | Dowolnie | GUI, łatwe dla początkujących | Wolniejszy przy dużych bazach |