Zurück zum Blog

Was ist eine Staging-Umgebung? Einrichtung für Websites

Was ist eine Staging-Umgebung und wozu? Testseite auf einer Subdomain, Datenbank kopieren, Passwortschutz, vor Suchmaschinen verbergen und live übertragen.

Nodesty-Team5 Min. LesezeitHosting
Der Schriftzug Staging mit Test, Noindex und Deploy auf dunklem Nodesty-Hintergrund

Eine Staging-Umgebung ist eine Testumgebung, in der eine Kopie Ihrer Live-Website läuft und in der Änderungen ausprobiert werden, bevor sie live gehen. Plugin- und Theme-Updates, neue PHP-Versionen, Designänderungen und neue Funktionen testen Sie zuerst auf Staging; funktioniert alles, übertragen Sie sie auf die Live-Seite. Macht ein Update die Website kaputt, sehen das so nur Sie und nicht Ihre Besucher.

In dieser Anleitung erklären wir, wozu Sie eine Staging-Umgebung brauchen, wie Sie sie im Webhosting und auf Ihrem eigenen Server einrichten, wie Sie die Staging-Seite schützen und wie Sie Änderungen sicher live übertragen.

Warum sollten Sie eine Staging-Umgebung verwenden?

  • Updates können die Website beschädigen. Ein Plugin-Update oder eine neue PHP-Version kann zu einem weißen Bildschirm oder einem 500-Fehler führen. Wenn Sie zuerst auf Staging testen, vermeiden Sie Ausfälle auf der Live-Seite.
  • Design- und Inhaltsänderungen. Sie können ein neues Theme oder Seitenlayout vorbereiten, ohne dass Besucher es sehen.
  • Teamarbeit. Sie können Ihren Kunden oder Ihrem Team Änderungen zeigen, ohne sie live zu schalten.
  • Fehlersuche. Probleme, die auf der Live-Seite riskant nachzustellen wären, untersuchen Sie gefahrlos.

Möglichkeiten, Staging einzurichten

MethodeGeeignet für
Subdomain im selben HostingDie meisten WordPress- und PHP-Websites
Staging-PluginKleine WordPress-Websites, schnelle Kopie
Eigene Website auf Ihrem ServerIndividuelle Anwendungen, Laravel- und Node.js-Projekte
Eigener ServerIntensive Tests, die die Live-Seite keinesfalls beeinträchtigen dürfen

Staging im Webhosting einrichten

  1. Legen Sie eine Subdomain an. Erstellen Sie in Ihrem Control Panel eine Subdomain wie staging.ihredomain.de; das Panel legt einen eigenen Ordner für die Dateien an. Die Schritte finden Sie in unserem Artikel Was ist eine Subdomain?.
  2. Kopieren Sie die Dateien. Komprimieren Sie die Dateien der Live-Seite mit dem Dateimanager, kopieren Sie sie in den Staging-Ordner und entpacken Sie sie dort.
  3. Legen Sie eine eigene Datenbank an. Exportieren Sie die Live-Datenbank in phpMyAdmin, legen Sie eine neue Datenbank und einen neuen Benutzer an und importieren Sie sie. Die Staging-Seite darf sich niemals mit der Live-Datenbank verbinden.
  4. Passen Sie die Konfiguration an. Tragen Sie in die Konfigurationsdatei der Staging-Kopie (bei WordPress wp-config.php) die neuen Datenbankdaten ein.
  5. Ändern Sie die Website-Adresse. WordPress speichert die Adresse der Website in der Datenbank. Ändern Sie die Adressen in der Staging-Datenbank auf staging.ihredomain.de; verwenden Sie dafür ein Suchen-und-Ersetzen-Plugin oder wp search-replace mit WP-CLI. Führen Sie kein direktes Suchen und Ersetzen in der Datenbank durch; serialisierte Daten können sonst beschädigt werden.

Diese Schritte entsprechen fast genau dem Umzug einer Website; Details finden Sie in unserer Anleitung Website umziehen.

Staging auf Ihrem eigenen Server

Auf Ihrem eigenen Server richten Sie Staging als eigene Website ein:

  • Verwenden Sie für Staging einen eigenen Ordner, eine eigene Datenbank und eine eigene .env-Datei (APP_ENV=staging).
  • Legen Sie in Nginx einen eigenen Server-Block für die Staging-Subdomain an.
  • Wenn Sie Git verwenden, speisen Sie den Staging-Server aus einem eigenen Branch (zum Beispiel develop oder staging); Änderungen im Hauptbranch werden live veröffentlicht, der Staging-Branch auf Staging. Wie Sie automatische Veröffentlichungen einrichten, erklären wir in unserer Anleitung Deployment mit Git.

Schützen Sie die Staging-Seite

Die Staging-Seite sollte nicht öffentlich zugänglich sein:

Passwortschutz. Schützen Sie den Staging-Ordner mit der Funktion Directory Privacy im Control Panel oder einer ähnlichen Funktion mit einem Passwort. Wenn Sie Nginx verwenden:

location / {
    auth_basic "Staging";
    auth_basic_user_file /etc/nginx/.htpasswd-staging;
}

Die Passwortdatei erstellen Sie mit dem Werkzeug htpasswd (unter Ubuntu im Paket apache2-utils).

Vor Suchmaschinen verbergen. Erscheint die Staging-Seite bei Google, kann das zu Problemen mit Duplicate Content führen. Der Passwortschutz verhindert das weitgehend; fügen Sie zusätzlich allen Seiten einen noindex-Header hinzu:

add_header X-Robots-Tag "noindex, nofollow" always;

Bei WordPress können Sie außerdem unter Einstellungen → Lesen die Option aktivieren, die Suchmaschinen blockiert. Achten Sie darauf, diese Einstellung nicht auf die Live-Seite zu übertragen.

Deaktivieren Sie E-Mails und Zahlungen

Die Staging-Kopie enthält die Nutzer- und Kundenliste Ihrer Live-Website. Ohne Vorkehrungen gilt:

  • Ein Test auf Staging kann Bestell- oder Newsletter-E-Mails an echte Kunden senden.
  • Geplante Aufgaben können dieselben Arbeiten wie auf der Live-Seite ein zweites Mal ausführen.

Um das zu verhindern, deaktivieren Sie auf Staging den E-Mail-Versand oder leiten Sie alle E-Mails an eine Testadresse um; schalten Sie Zahlungsanbieter in den Testmodus (Sandbox) und entfernen Sie die Live-API-Schlüssel aus Staging. Anonymisieren Sie personenbezogene Daten in der Staging-Kopie, wenn möglich.

Änderungen live übertragen

  1. Erstellen Sie zuerst ein Backup der Live-Seite.
  2. Übertragen Sie Code und Einstellungen. Übernehmen Sie Theme-, Plugin- und Code-Änderungen per Git oder Dateiübertragung auf die Live-Seite.
  3. Vorsicht bei der Datenbank. Wenn Sie die Staging-Datenbank unverändert live einspielen, werden Bestellungen, Kommentare und Nutzer gelöscht, die nach der Staging-Kopie auf der Live-Seite entstanden sind. In den meisten Fällen werden nur Code und Einstellungen übertragen; Inhaltsänderungen nehmen Sie direkt auf der Live-Seite vor oder spielen Datenbankänderungen mit Migrations ein.
  4. Prüfen Sie die Live-Seite. Testen Sie wichtige Seiten, Formulare und Zahlungsschritte erneut.
  5. Aktualisieren Sie Staging regelmäßig. Die Staging-Kopie entfernt sich mit der Zeit von der Live-Seite; erstellen Sie vor größeren Änderungen eine neue Kopie der Live-Seite.

Gute Backup-Gewohnheiten erklären wir in unserer Anleitung Server Backup.

Staging mit Nodesty

Bei den Webhosting-Paketen von Nodesty richten Sie Ihre Staging-Seite im selben Konto ein, indem Sie über cPanel oder DirectAdmin eine Subdomain und eine eigene Datenbank anlegen; wie viele Subdomains und Datenbanken Sie anlegen können, hängt von den Limits Ihres Pakets ab, und für jede Subdomain steht kostenloses SSL zur Verfügung. Über JetBackup erreichen Sie die Backups Ihrer Live-Seite direkt im Control Panel. Wenn Sie für Ihre Anwendung einen eigenen Staging-Server einrichten möchten, bieten unsere AMD Ryzen 9 9950X vServer-Pakete vollen Root-Zugang.

Häufig gestellte Fragen

Brauche ich für eine Staging-Umgebung ein eigenes Hosting?

In der Regel nicht. Sie können eine Staging-Seite im selben Hosting-Konto mit einer Subdomain und einer eigenen Datenbank einrichten. Wenn Sie intensiv testen oder aufwendige Aufgaben ausführen, die die Live-Seite keinesfalls beeinträchtigen dürfen, ist ein eigenes Konto oder ein eigener Server sicherer.

Erscheint die Staging-Seite bei Google?

Ohne Vorkehrungen kann sie erscheinen und als Duplicate Content gewertet werden, weil sie denselben Inhalt wie Ihre Live-Seite enthält. Schützen Sie die Staging-Seite mit einem Passwort und verwenden Sie ein noindex-Tag oder den Header X-Robots-Tag, damit Suchmaschinen sie nicht indexieren.

Wie übertrage ich die Änderungen von Staging auf die Live-Seite?

Code- und Theme-Änderungen lassen sich einfach per Git oder Dateiübertragung übernehmen. Vorsicht bei der Datenbank, denn Bestellungen, Kommentare und Nutzer, die nach der Staging-Kopie auf der Live-Seite entstanden sind, gehen verloren, wenn Sie die Staging-Datenbank live einspielen. In den meisten Fällen werden nur Code und Einstellungen übertragen, und die Inhalte bleiben auf der Live-Seite.

Kann die Staging-Seite E-Mails an echte Kunden senden?

Ja, ohne Vorkehrungen kann sie das, denn die Staging-Kopie enthält die Nutzer- und Kundenliste der Live-Seite. Deaktivieren Sie auf Staging den E-Mail-Versand oder verwenden Sie eine Einstellung, die alle E-Mails an eine Testadresse umleitet.

Kann ich für WordPress ein Staging-Plugin verwenden?

Ja. Manche Plugins kopieren die Website mit einem Klick in einen Unterordner oder auf eine Subdomain im selben Konto. Bei großen Websites und individuellen Konfigurationen liefert eine manuell eingerichtete Staging-Umgebung zuverlässigere Ergebnisse.

Was ist der Unterschied zwischen Staging und einer Entwicklungsumgebung?

Die Entwicklungsumgebung ist meist die Umgebung auf dem eigenen Computer des Entwicklers, in der die Änderungen vorgenommen werden. Staging ist dagegen eine Umgebung, die dem Live-Server so weit wie möglich gleicht und in der Änderungen ein letztes Mal getestet werden, bevor sie live gehen.

Nodesty

Über den Autor

Nodesty-Team · Infrastruktur und Support

Das Nodesty-Team betreibt unsere Server, unser Netzwerk und unseren DDoS-Schutz im Alltag und beantwortet Support-Anfragen rund um die Uhr. Diese Ratgeber entstehen aus dieser Arbeit.

Verwandte Artikel

Starte deinen Server jetzt.

Erstellen, wachsen und skalieren Sie Ihre Projekte grenzenlos auf der Premium-Infrastruktur von Nodesty.

                                                                                                                                                                                                                            
                                                                                                                                                                                                                            
                                                                                                                                                                                                                            
                                                                                                                             ············································                                                   
                                                ··································································································..........···························                                     
                                       ················..........................................................................................................................··············                             
                                  ·············.................::::::::::::::::::::::::::::::::::::::::::::::....................:::::::::::::::::::::::::::::::::::::::................···········                        
                             ············................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::............·········                     
                         ············.................:::::::::::::::::::::::::::::::::::::::::::::::::::------------::::::::::::::::::::::::::::::----------------:::::::::::::::::::::..........········                  
                    ············......................::::::::::::::::::::::::::::::::::::------------------------------------------------------------------------------------:::::::::::::.........········                
                ··········.............................................::::::::::::::::::-------------==========================================-----------------------------------:::::::::::........·······               
             ········..................:.....................................::::::::::--------=======+++++++++++++++++++++++++++++++++++++=========================------------------::::::::::.......·······              
           ······.........::::::::::::::::::::................................:::::::-----=====++++xxxxxx**************************xxxxxxxxx++++++++++++++===================------------::::::::.......·······             
          ·····.......:::::::::::::::::::::::::::.............................:::::----===+++xxx****%%%%&&&&&&#############&&&&&&&%%%%%*******xxxxxxxx++++++++++++++==============----------:::::::......······             
         ····......::::::::-------------:::::::::::..........................::::---===+++xx***%%%&&&####@@@@@@@@@@@@@@@@@@@@@@@@####&&&&&%%%%*******xxxxxxxxx+++++++++++++===========--------::::::......·····             
        ····.....:::::::--------------------:::::::::.......................::::---===++xxx**%%&&&###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###&&&&%%%%%********xxxxxxxxxxx++++++++++++========------::::::.....······            
        ····.....:::::--------------------------::::::::....................::::---===++xx***%%&&&####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###&&&&&%%%%%**********xxxxxxxxxxxxx+++++++++=======------:::::.....·····            
        ····....::::::-------=============---------:::::::::................:::::---===+++xx***%%%&&&#####@@@@@@@@@@@@@@@@@@@@@@@@@#####&&&&&%%%%%%*************xxxxxxxxxxxxxx+++++++++======-----:::::....·····            
         ····....:::::-------================---------:::::::::...............:::::----===++++xxx***%%%%&&&&&&#################&&&&&&%%%%%%%*******************xxxxxxxxxxxxxxxxx++++++++======----:::::....·····            
         ·····....:::::--------=================---------::::::::::..............:::::::-----====+++++xxxxxx**************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx++++++++=====-----::::....·····            
          ·····.....:::::--------=================----------:::::::::::.................:::::::::-------=============++++++++++++++++++++++++++++++++++++xxxxxxxxxxxxxxxxxxxxxxx++++++++======-----::::....·····            
            ·····.....:::::::----------===========-------------::::::::::::.........................::::::::::::::::::------------------=============+++++++++++++++++++++++++++++++++=======-----::::.....·····            
              ······......:::::::---------------------------------:::::::::::::........................................:::::::::::::::-----------============+++++++++++++++++++++========------:::::.....·····             
                 ······........:::::::::---------------------------:::::::::::::::::...........................................:::::::::::::------------=============================--------::::::.....······              
                    ·········.........:::::::::::::::-------------::::::::::::::::::::::::.......................................::::::::::::::::--------------------------------------::::::::......·······                
                          ··········............::::::::::::::::::::::::::::::::::::::::::::::::::................................::::::::::::::::::::::::::-------------:::::::::::::::.........········                   
                                  ············..................:::::::::::::::::::::::::::::::::::::::::::.........................:::::::::::::::::::::::::::::::::::::................···········                        
                                             ················.............................................................................................................·················                                 
                                                           ······················................................................................···························                                                
                                                                               ·········································································