Webspace Migration: Der Umzugsguide für deine Website

Back

Willkommen, Umzugsmanager! Einen Webspace zu wechseln ist wie ein Haus umziehen – mit Planung wird es reibungslos. Hier ist dein detaillierter Guide für eine stressfreie Migration.

Vorbereitung: Der Umzugsplan

Checkliste: Vor der Migration

markdown

☐ Neuen Webspace bereits gebucht und getestet?
☐ Backup vom alten Server erstellt? (Datenbank + Dateien)
☐ DNS-TTL-Werte auf 300 Sekunden reduziert? (mind. 24h vorher)
☐ Wartungsseite für Umzugszeit vorbereitet?
☐ Alle Zugangsdaten für neuen und alten Server parat?
☐ Email-Konten exportiert/gesichert?
☐ SSL-Zertifikat für neue Domain/Server organisiert?

Timeline für eine professionelle Migration

text

T-7 Tage:     Backup-Test & DNS-TTL anpassen
T-3 Tage:     Neue Umgebung testen
T-1 Tag:      Finales Backup & Wartungsmodus vorbereiten
Umzugstag:    Migration durchführen (nachts/low-traffic)
T+0:          DNS umstellen & überwachen
T+1 Tag:      Alten Server noch 48h als Backup online lassen
T+3 Tage:     Alten Server kündigen/löschen

Migrations-Arten: Welcher Umzugstyp bist du?

1. Vollständige Manuelle Migration

bash

# Schritt 1: Alten Server sichern
# Dateien
rsync -avz --progress user@alter-server:/var/www/html/ /backup/webseite/

# Datenbank
ssh user@alter-server "mysqldump -u dbuser -p datenbank > backup.sql"
scp user@alter-server:backup.sql /backup/datenbank.sql

# Schritt 2: Auf neuen Server übertragen
# Dateien kopieren
scp -r /backup/webseite/* user@neuer-server:/var/www/html/

# Datenbank importieren
scp /backup/datenbank.sql user@neuer-server:
ssh user@neuer-server "mysql -u dbuser -p neue_datenbank < backup.sql"

2. Plugin-basierte Migration (WordPress)

yaml

Empfohlene Plugins:
- All-in-One WP Migration: Einfach, aber Dateigrößen-Limit
- Duplicator: Professionell, erfordert etwas Konfiguration
- UpdraftPlus: Mit Backup & Migration
- Migrate Guru: Kostenlos, keine Limits (von SiteGround)

Workflow:
1. Backup auf altem Server erstellen
2. Auf neuen Server übertragen
3. Domain/URLs ersetzen (Search & Replace)
4. Permalinks neu generieren

3. Hoster-Migrationsservice

markdown

Vorteile:
- Oft kostenlos bei Anbieterwechsel
- Professionelle Durchführung
- Support bei Problemen

Anbieter mit gutem Migrationsservice:
- SiteGround: Kostenlose Migration (bis zu 1 Website)
- WP Engine: Kostenlose Migration aller Sites
- Kinsta: Kostenlose Migration von WordPress-Sites
- Raidboxes: Kostenlose Migration für WordPress

Technische Migration: Step-by-Step

Dateien übertragen

bash

# Methode 1: rsync (schnell & effizient)
rsync -avz --progress -e ssh \
    user@alter-server:/var/www/html/ \
    user@neuer-server:/var/www/html/

# Methode 2: tar + ssh
ssh user@alter-server "tar czf - /var/www/html" | \
    ssh user@neuer-server "tar xzf - -C /"

# Methode 3: wget/curl (wenn FTP nicht verfügbar)
# Auf altem Server:
tar czf website-backup.tar.gz /var/www/html
# Auf neuem Server:
wget http://alter-server/website-backup.tar.gz
tar xzf website-backup.tar.gz -C /var/www/html

Datenbank-Migration

sql

-- Auf altem Server exportieren
mysqldump --opt --add-drop-table --complete-insert \
    --hex-blob -u DB_USER -p DB_NAME > backup.sql

-- Besondere Optionen für WordPress:
mysqldump --no-create-db --skip-triggers \
    --compact --skip-extended-insert \
    -u DB_USER -p DB_NAME > backup.sql

-- Auf neuem Server importieren
mysql -u NEUER_DB_USER -p NEUE_DB_NAME < backup.sql

Konfigurationsdateien anpassen

php

// WordPress wp-config.php anpassen
define('DB_NAME', 'neue_datenbank');
define('DB_USER', 'neuer_db_user');
define('DB_PASSWORD', 'neues_passwort');
define('DB_HOST', 'localhost');
define('DB_CHARSET', 'utf8mb4');
define('DB_COLLATE', '');

// Für geänderte Domain:
define('WP_HOME', 'https://neue-domain.de');
define('WP_SITEURL', 'https://neue-domain.de');

Spezielle Migrationen

E-Mail-Migration

bash

# IMAP-Synchronisation mit imapsync
imapsync \
    --host1 alter-server.de --user1 email@domain.de --password1 alt \
    --host2 neuer-server.de --user2 email@domain.de --password2 neu \
    --syncinternaldates \
    --skipsize \
    --subscribe

Große Websites (>10 GB)

yaml

Strategie für große Migrationen:
1. Datenbank zuerst migrieren
2. Dateien in Batches übertragen (Medien, Uploads, etc.)
3. Während der Migration Uploads sperren
4. Incremental sync nach Hauptmigration
5. Finalen Cutover nachts durchführen

DNS-Umstellung: Der kritische Moment

DNS-Checkliste

bash

# Vor der Umstellung prüfen:
dig +short deine-domain.de A
dig +short deine-domain.de MX
dig +short deine-domain.de NS
dig +short deine-domain.de TXT

# TTL prüfen (Time to Live)
dig deine-domain.de NS | grep TTL

# Neue IP testen, bevor DNS umgestellt wird
curl -I --resolve deine-domain.de:443:NEUE_IP https://deine-domain.de

DNS-Einträge dokumentieren

dns

; Wichtige DNS-Einträge sichern
@        IN A       ALT_IP        ; Hauptdomain
www      IN CNAME   deine-domain.de. ; WWW
@        IN MX 10   mail.deine-domain.de. ; Mailserver
mail     IN A       ALT_IP        ; Mailserver IP
@        IN TXT     "v=spf1 include:_spf.dein-hoster.de ~all" ; SPF
_dmarc   IN TXT     "v=DMARC1; p=none; rua=mailto:dmarc@deine-domain.de"

Testing: Bevor du live gehst

Test-Umgebung aufsetzen

bash

# Lokale Testumgebung mit Hosts-Datei
# /etc/hosts (Linux/Mac) oder C:\Windows\System32\drivers\etc\hosts
NEUE_IP   deine-domain.de
NEUE_IP   www.deine-domain.de

# Mit curl testen
curl -H "Host: deine-domain.de" http://NEUE_IP/
curl -k https://NEUE_IP/ -H "Host: deine-domain.de"

Umfangstest durchführen

markdown

Funktionstests:
☐ Website lädt komplett
☐ Bilder/Medien werden angezeigt
☐ Kontaktformular funktioniert
☐ Login/Registrierung möglich
☐ E-Commerce: Warenkorb & Checkout
☐ Suche funktioniert
☐ Mobile Ansicht korrekt

Technische Tests:
☐ SSL-Zertifikat gültig und korrekt
☐ HTTP → HTTPS Weiterleitung
☐ www → non-www (oder umgekehrt)
☐ 404-Seite vorhanden
☐ Robots.txt & Sitemap erreichbar
☐ PageSpeed nicht verschlechtert

Post-Migration: Nach dem Umzug

Monitoring nach der Migration

bash

# Logs überwachen
tail -f /var/log/nginx/access.log | grep "404\|500\|502"
tail -f /var/log/nginx/error.log

# Performance überprüfen
ab -n 1000 -c 10 https://deine-domain.de/
siege -c 10 -t 1M https://deine-domain.de/

# Verfügbarkeit testen
uptimerobot.com oder statuscake.com einrichten

Suchmaschinen informieren

yaml

Google Search Console:
1. Neue Property hinzufügen
2. Sitemap erneut einreichen
3. URL Inspection Tool nutzen
4. Coverage Report prüfen

Bing Webmaster Tools:
1. Neue Site hinzufügen
2. Sitemap submitten
3. Crawl steuern wenn nötig

Problemlösung: Wenn's hakt

Häufige Migrationsprobleme

markdown

Problem:                 Lösung:
"Database Error"         -> DB-Zugangsdaten prüfen
"White Screen"           -> PHP-Error-Log checken
"Mixed Content"          -> URLs in DB auf https updaten
"Permalink 404"         -> .htaccess neu schreiben
"Email nicht erreichbar" -> MX-Einträge prüfen
"Zu langsame Seite"     -> Caching aktivieren

Debugging-Skript

php

<?php
// debug.php im Webroot
error_reporting(E_ALL);
ini_set('display_errors', 1);

// Datenbank-Verbindung testen
$link = mysqli_connect("localhost", "user", "pass", "db");
if (!$link) {
    echo "DB Error: " . mysqli_connect_error();
} else {
    echo "DB OK";
}

// PHP-Info
phpinfo();
?>

Automatisierte Migration mit Skripten

Bash-Migrationsskript

bash

#!/bin/bash
# migrate.sh - Automatisierte Migration

set -e  # Bei Fehler abbrechen

# Konfiguration
OLD_SERVER="user@alter-server.de"
NEW_SERVER="user@neuer-server.de"
DOMAIN="deine-domain.de"
DB_NAME="datenbank"
DB_USER="dbuser"

echo "=== Starte Migration von $DOMAIN ==="

# 1. Backup auf altem Server
echo "Erstelle Backup..."
ssh $OLD_SERVER "mysqldump -u $DB_USER -p $DB_NAME > /tmp/db-backup.sql"
ssh $OLD_SERVER "tar czf /tmp/web-backup.tar.gz /var/www/html/"

# 2. Dateien übertragen
echo "Übertrage Dateien..."
scp $OLD_SERVER:/tmp/web-backup.tar.gz /tmp/
scp $OLD_SERVER:/tmp/db-backup.sql /tmp/

# 3. Auf neuem Server restaurieren
echo "Restauriere auf neuem Server..."
scp /tmp/web-backup.tar.gz $NEW_SERVER:/tmp/
scp /tmp/db-backup.sql $NEW_SERVER:/tmp/

ssh $NEW_SERVER "tar xzf /tmp/web-backup.tar.gz -C /var/www/html/"
ssh $NEW_SERVER "mysql -u $DB_USER -p $DB_NAME < /tmp/db-backup.sql"

# 4. Aufräumen
echo "Räume auf..."
ssh $OLD_SERVER "rm /tmp/db-backup.sql /tmp/web-backup.tar.gz"
ssh $NEW_SERVER "rm /tmp/db-backup.sql /tmp/web-backup.tar.gz"
rm /tmp/db-backup.sql /tmp/web-backup.tar.gz

echo "=== Migration abgeschlossen ==="
echo "Vergiss nicht:"
echo "1. DNS umzustellen"
echo "2. SSL-Zertifikat zu installieren"
echo "3. Konfigurationsdateien anzupassen"

Spezialfälle

Subdomain zu Hauptdomain

nginx

# Alte Subdomain auf neue Domain umleiten
server {
    listen 80;
    server_name sub.altedomain.de;
    return 301 https://neuedomain.de$request_uri;
}

Mehrere Domains konsolidieren

yaml

Strategie:
1. Hauptdomain festlegen
2. 301-Weiterleitungen für alle URLs einrichten
3. In Search Console Änderung mitteilen
4. XML-Sitemaps aktualisieren
5. Internal Links anpassen

Shared zu VPS/Cloud Migration

markdown

Besondere Herausforderungen:
- Unterschiedliche PHP-Versionen
- Andere Server-Konfiguration
- Fehlende Module/Erweiterungen
- Andere Mail-Server-Konfiguration
- Firewall-Einstellungen

Migration für bestimmte CMS

WordPress-Such/Ersetzen

php

// In der Datenbank nach Migration
UPDATE wp_options SET option_value = 
    REPLACE(option_value, 'https://alte-domain.de', 'https://neue-domain.de') 
WHERE option_name = 'home' OR option_name = 'siteurl';

UPDATE wp_posts SET guid = 
    REPLACE(guid, 'https://alte-domain.de', 'https://neue-domain.de');

UPDATE wp_posts SET post_content = 
    REPLACE(post_content, 'https://alte-domain.de', 'https://neue-domain.de');

UPDATE wp_postmeta SET meta_value = 
    REPLACE(meta_value, 'https://alte-domain.de', 'https://neue-domain.de');

TYPO3 Migration

bash

# TYPO3 spezifisch
# 1. composer.json und vendor/ migrieren
# 2. fileadmin/ und uploads/ übertragen
# 3. LocalConfiguration.php anpassen
# 4. Database dump/import
# 5. Clear Caches nach Migration

Die 10 Gebote der Migration

  1. Teste zuerst! Niemals direkt live migrieren

  2. Backup vor Änderung! Immer ein aktuelles Backup haben

  3. Dokumentiere jeden Schritt! Für den Fall des Fallbacks

  4. Mach es nachts! Weniger Traffic = weniger Risiko

  5. Kommuniziere! Informiere Nutzer über Wartungsarbeiten

  6. Überwache nachher! Stelle sicher, alles funktioniert

  7. Fallback planen! Immer einen Rollback-Plan haben

  8. SEO beachten! 301-Weiterleitungen nicht vergessen

  9. Email nicht vergessen! Mailserver mitmigrieren

  10. Alten Server nicht sofort löschen! Mindestens 2 Wochen behalten

Abschluss-Checkliste

text

[ ] Backup vom alten Server getestet und verifiziert
[ ] Neue Umgebung komplett getestet (Funktionalität + Performance)
[ ] DNS-TTL rechtzeitig reduziert
[ ] Wartungsseite vorbereitet
[ ] Migration während Low-Traffic-Zeit geplant
[ ] Team/Nutzer informiert
[ ] Rollback-Plan dokumentiert
[ ] Monitoring nach Migration eingerichtet
[ ] Suchmaschinen über Änderung informiert
[ ] Alten Server für Übergangszeit online gelassen

Erfolgreiche Migration ist 90% Vorbereitung und 10% Ausführung. Mit diesem Guide hast du alle Werkzeuge für einen reibungslosen Umzug.

Viel Erfolg bei deiner Migration! 🚚💨

More blog articles

  Du suchst nach einem neuen Server oder Webhosting und wirst von günstigen Lockangeboten überschüttet? Vorsicht – was auf den ersten Blick wie ein Schnäppchen aussieht, kann langfristig zu einer teuren Überraschung werden. Wir zeigen d...

Was ist eigentlich... Webspace? Einfach erklärt (nicht nur für Oma!) Hast du schon mal von Webspace gehört und gedacht: "Was soll das sein?" Keine Sorge, du bist nicht allein. Viele Leute wissen nicht, was das ist - dabei nutzen sie es jeden Tag....

Du hast bereits erste Erfahrungen mit Minecraft Servern gesammelt und möchtest jetzt deinen eigenen, professionellen Server aufsetzen? Egal ob du mit Mods, Plugins oder im klassischen Vanilla-Stil spielen willst – dieser Guide führt dich durch die wichtigsten...