Every WordPress migration is the same two files in disguise: a database dump and the wp-content directory. Everything a migration plugin does for you is packaging those two things and unpacking them somewhere else — which is worth knowing, because the moment the plugin fails on a file size limit, you're doing it by hand anyway.Jede WordPress-Migration ist im Grunde dieselben zwei Dateien in Verkleidung: ein Datenbank-Dump und das Verzeichnis wp-content. Alles, was ein Migrations-Plugin für dich erledigt, ist, diese beiden Dinge zu verpacken und woanders wieder auszupacken — gut zu wissen, denn sobald das Plugin an einer Dateigrößenbegrenzung scheitert, machst du es ohnehin von Hand.
A migration plugin is the right default when the new plan gives you nothing but the panel and an FTP-style file manager — no SSH, no direct database access outside phpMyAdmin. It bundles the database and wp-content into one archive, and the same plugin, installed on the new site, unpacks it and rewrites the obvious references for you.Ein Migrations-Plugin ist die richtige Standardwahl, wenn der neue Plan dir nichts als das Panel und einen FTP-artigen Dateimanager gibt — kein SSH, kein direkter Datenbankzugriff außerhalb von phpMyAdmin. Es bündelt die Datenbank und wp-content in einem Archiv, und dasselbe Plugin, auf der neuen Seite installiert, packt es aus und schreibt die offensichtlichen Verweise für dich um.
A manual export — a SQL dump plus a tarball of wp-content — is the better choice once the site is large enough that a plugin's own size ceiling becomes the constraint, or once you have SSH or an SFTP account on both ends and would rather see exactly what moved. It's also the only option if the plugin's free tier caps the archive size below what your uploads folder actually needs.Ein manueller Export — ein SQL-Dump plus ein Tarball von wp-content — ist die bessere Wahl, sobald die Seite groß genug ist, dass die eigene Größenbegrenzung eines Plugins zur Einschränkung wird, oder sobald du auf beiden Seiten SSH oder einen SFTP-Zugang hast und lieber genau sehen willst, was sich bewegt hat. Es ist auch die einzige Option, wenn die kostenlose Stufe des Plugins die Archivgröße unter das deckelt, was dein Uploads-Ordner tatsächlich braucht.
Neither method is more "correct" than the other. They produce the same two artifacts; the difference is just who assembles them. Which one you can even attempt depends on what the new account actually gives you once it's set up — getting started after ordering is worth reading first if you haven't logged into the new panel yet.Keine der beiden Methoden ist „richtiger“ als die andere. Sie erzeugen dieselben zwei Artefakte; der Unterschied ist nur, wer sie zusammensetzt. Welche du überhaupt versuchen kannst, hängt davon ab, was der neue Account dir tatsächlich gibt, sobald er eingerichtet ist — erste Schritte nach der Bestellung lohnt sich vorab zu lesen, falls du dich noch nicht ins neue Panel eingeloggt hast.
If you have shell access to the old host, dump the database and package the files in two commands:Hast du Shell-Zugriff auf den alten Host, dumpst du die Datenbank und verpackst die Dateien in zwei Befehlen:
mysqldump -u wp_user -p --single-transaction wordpress_db > wordpress-export.sql
tar czf wp-content.tar.gz -C /path/to/wordpress wp-content
--single-transaction matters if the site is live while you dump it — without it, a long dump on a busy InnoDB database can capture a slightly inconsistent snapshot as rows change mid-export. It has no effect on MyISAM tables. That rarely matters in practice, since most WordPress installs have used InnoDB by default since WordPress 5.5.--single-transaction ist wichtig, wenn die Seite live ist, während du sie dumpst — ohne diese Option kann ein langer Dump auf einer stark ausgelasteten InnoDB-Datenbank einen leicht inkonsistenten Schnappschuss einfangen, während sich Zeilen mitten im Export ändern. Auf MyISAM-Tabellen hat sie keine Wirkung. Das spielt in der Praxis selten eine Rolle, da die meisten WordPress-Installationen seit WordPress 5.5 standardmäßig InnoDB verwenden.
Upload both files to the new account over SFTP, or through the panel's own file manager if that's all you have. Create the database and a database user in the new panel first — every shared-hosting panel has some version of a "Databases" or "MySQL Databases" screen for this, whether it looks like cPanel, Plesk, DirectAdmin or something else. Note the exact database name, username and host it gives you; you'll need all three in the next step. Import the SQL file through the panel's phpMyAdmin (or an equivalent import tool), then extract the tarball into the new wp-content directory, overwriting the placeholder one a fresh WordPress install leaves behind.Lade beide Dateien per SFTP auf den neuen Account hoch, oder über den eigenen Dateimanager des Panels, falls das alles ist, was du hast. Lege zuerst die Datenbank und einen Datenbankbenutzer im neuen Panel an — jedes Shared-Hosting-Panel hat dafür irgendeine Version eines „Datenbanken“- oder „MySQL-Datenbanken“-Bildschirms, egal ob es aussieht wie cPanel, Plesk, DirectAdmin oder etwas anderes. Notiere dir den genauen Datenbanknamen, Benutzernamen und Host, den es dir gibt; du brauchst alle drei im nächsten Schritt. Importiere die SQL-Datei über das phpMyAdmin des Panels (oder ein gleichwertiges Import-Tool), und entpacke dann den Tarball in das neue wp-content-Verzeichnis, wobei du das Platzhalter-Verzeichnis überschreibst, das eine frische WordPress-Installation hinterlässt.
Plugins like All-in-One WP Migration or Duplicator do the same job from inside wp-admin: install the plugin, run its export, and it produces a single archive containing the database and every file WordPress needs. On the new site, install a fresh WordPress core, install the same plugin, and run its import against that archive.Plugins wie All-in-One WP Migration oder Duplicator erledigen dieselbe Aufgabe direkt aus wp-admin heraus: installiere das Plugin, führe seinen Export aus, und es erzeugt ein einziges Archiv, das die Datenbank und jede Datei enthält, die WordPress braucht. Installiere auf der neuen Seite einen frischen WordPress-Core, installiere dasselbe Plugin und führe dessen Import gegen dieses Archiv aus.
The thing that bites later: the free version of most of these plugins caps the import size — often well under a gigabyte — and that cap is enforced on the receiving end, not the exporting one. A site with a few years of image uploads routinely produces an archive north of that limit, and the failure mode is an import that silently stops partway through rather than a clear error up front. If your export is close to the ceiling, the manual database-dump-plus-tarball method avoids the limit entirely, because there's no single archive to cap.Was später zurückschlägt: Die kostenlose Version der meisten dieser Plugins deckelt die Importgröße — oft deutlich unter einem Gigabyte — und diese Grenze wird auf der empfangenden Seite durchgesetzt, nicht auf der exportierenden. Eine Seite mit ein paar Jahren Bilder-Uploads erzeugt routinemäßig ein Archiv weit über dieser Grenze, und das Fehlerbild ist ein Import, der stillschweigend mittendrin stehen bleibt, statt vorab einen klaren Fehler zu zeigen. Ist dein Export nah an der Obergrenze, umgeht die manuelle Methode aus Datenbank-Dump plus Tarball die Begrenzung vollständig, weil es kein einzelnes Archiv gibt, das gedeckelt werden könnte.
Whichever method you used, the new wp-config.php needs the new database's own credentials, not the old site's:Egal welche Methode du verwendet hast, die neue wp-config.php braucht die eigenen Zugangsdaten der neuen Datenbank, nicht die der alten Seite:
define( 'DB_NAME', 'new_database_name' );
define( 'DB_USER', 'new_database_user' );
define( 'DB_PASSWORD', 'new_database_password' );
define( 'DB_HOST', 'localhost' ); // the panel tells you if it isn't
Check $table_prefix too — it has to match whatever prefix the dumped tables actually use (wp_ by default, but plenty of sites change it for a thin layer of obscurity). A mismatched prefix produces a working PHP install that can't find a single one of its own tables, which looks exactly like a broken database connection until you check the table names by hand. If you're starting from a fresh WordPress core on the new side rather than copying its wp-config.php forward, also copy the old file's authentication keys and salts across so existing login cookies don't all invalidate at once.Prüfe auch $table_prefix — er muss zu dem Präfix passen, das die gedumpten Tabellen tatsächlich verwenden (wp_ standardmäßig, aber viele Seiten ändern ihn für eine dünne Schicht Verschleierung). Ein falscher Präfix erzeugt eine funktionierende PHP-Installation, die keine einzige ihrer eigenen Tabellen findet, was genau wie eine kaputte Datenbankverbindung aussieht, bis du die Tabellennamen von Hand prüfst. Startest du auf der neuen Seite mit einem frischen WordPress-Core, statt die alte wp-config.php zu übernehmen, kopiere trotzdem die Authentifizierungsschlüssel und Salts der alten Datei mit hinüber, damit nicht alle bestehenden Login-Cookies auf einen Schlag ungültig werden.
WordPress stores its own URL in two wp_options rows — siteurl and home — which is the part everyone remembers. What catches people out is that page builders, widget settings and no small number of plugins store serialized PHP arrays containing the old URL as a substring, and a serialized array carries a string-length count baked into it. A plain SQL UPDATE ... REPLACE(...) changes the string but not the length count next to it, and PHP refuses to unserialize the result — the field just silently comes back empty in wp-admin, usually a widget or a theme option that "used to be there."WordPress speichert seine eigene URL in zwei wp_options-Zeilen — siteurl und home — das ist der Teil, an den sich jeder erinnert. Was die Leute überrascht, ist, dass Page-Builder, Widget-Einstellungen und nicht wenige Plugins serialisierte PHP-Arrays speichern, die die alte URL als Teilstring enthalten, und ein serialisiertes Array trägt eine eingebackene String-Längenangabe. Ein einfaches SQL-UPDATE ... REPLACE(...) ändert den String, aber nicht die Längenangabe daneben, und PHP weigert sich, das Ergebnis zu deserialisieren — das Feld kommt in wp-admin einfach stillschweigend leer zurück, meist ein Widget oder eine Theme-Option, die „früher da war“.
The safe tool for this is WP-CLI's search-replace, which understands serialization and rewrites the length counts as it goes:Das sichere Werkzeug dafür ist WP-CLIs search-replace, das Serialisierung versteht und die Längenangaben dabei mit umschreibt:
wp search-replace 'https://old-domain.example' 'https://new-domain.example' --all-tables
If WP-CLI isn't available on the new host, a plugin built for exactly this — Better Search Replace is a common one — does the same serialization-aware substitution from wp-admin instead of raw SQL.Ist WP-CLI auf dem neuen Host nicht verfügbar, erledigt ein Plugin, das genau dafür gebaut wurde — Better Search Replace ist ein gängiges — dieselbe serialisierungsbewusste Ersetzung aus wp-admin heraus statt mit rohem SQL.
Don't touch DNS until the import is verified working on the new host — most panels give you a temporary hostname or an IP-based preview for exactly this, so you can confirm the site loads and logs in before anything public depends on it. Once it does, update the domain's A record to the new host's address. point your domain to your service covers the mechanics of pointing a domain at a service if you haven't done it before.Fass DNS erst an, wenn der Import auf dem neuen Host nachweislich funktioniert — die meisten Panels geben dir genau dafür einen temporären Hostnamen oder eine IP-basierte Vorschau, damit du bestätigen kannst, dass die Seite lädt und der Login funktioniert, bevor irgendetwas Öffentliches davon abhängt. Sobald das der Fall ist, aktualisiere den A-Eintrag der Domain auf die Adresse des neuen Hosts. Deine Domain auf deinen Dienst zeigen lassen behandelt die Mechanik, eine Domain auf einen Dienst zu zeigen, falls du das noch nie gemacht hast.
DNS propagation is the part with no fixed number — anywhere from a few minutes to the full life of whatever TTL the old record had, since resolvers around the internet each cache it until their own copy expires. A managed panel that offers Let's Encrypt typically requests the certificate the first time it sees traffic actually arriving at the new domain, which means the padlock shows up on its own once propagation has actually happened, not the instant you save the A record. If it doesn't appear after DNS has clearly switched — check with a plain dig or an online DNS checker before assuming it's stuck — that's the moment to look inside the panel's SSL section rather than wait indefinitely.Die DNS-Propagierung ist der Teil ohne feste Zahl — irgendwo zwischen ein paar Minuten und der vollen Lebensdauer der TTL, die der alte Eintrag hatte, weil Resolver im gesamten Internet ihn jeweils zwischenspeichern, bis ihre eigene Kopie abläuft. Ein Managed-Panel, das Let's Encrypt anbietet, fordert das Zertifikat typischerweise beim ersten Mal an, wenn es tatsächlich Traffic bei der neuen Domain ankommen sieht, was bedeutet, dass das Schloss-Symbol von selbst auftaucht, sobald die Propagierung tatsächlich stattgefunden hat, nicht in dem Moment, in dem du den A-Eintrag speicherst. Taucht es nicht auf, nachdem DNS erkennbar umgestellt ist — prüfe mit einem einfachen dig oder einem Online-DNS-Checker, bevor du annimmst, dass es feststeckt —, dann ist das der Moment, im SSL-Bereich des Panels nachzusehen, statt unbegrenzt zu warten.
If the domain also has mailboxes on it, the MX records move on the same schedule as the A record, and they're easy to forget because the website working again doesn't tell you anything about whether mail is still arriving. Set up the mailboxes on the new panel before you touch MX, and only cut over once they exist — flipping MX to a host with no mailbox provisioned yet means bounced mail for however long the old TTL takes to expire everywhere.Hat die Domain auch Postfächer, ziehen die MX-Einträge nach demselben Zeitplan um wie der A-Eintrag, und man vergisst sie leicht, weil eine wieder funktionierende Website nichts darüber aussagt, ob noch Mail ankommt. Richte die Postfächer im neuen Panel ein, bevor du MX anfasst, und schalte erst um, sobald sie existieren — MX auf einen Host umzustellen, auf dem noch keine Postfächer eingerichtet sind, bedeutet zurückgewiesene Mails, solange die alte TTL überall zum Ablaufen braucht.
A panel gives you PHP, MySQL and mail already wired together, which removes the parts of self-hosting that are really systems administration: patching the OS, running the database server, keeping a web server's TLS configuration current. It does not remove the parts that are specific to your site. WordPress core still updates itself for minor releases by default, but plugin and theme updates are a decision only you can make — a panel has no way to know whether a given plugin update is safe for your site. Ask what backup retention your specific plan states rather than assume a number; it varies by plan and is written on the plan's own page, not something to guess from what a different host or a different tier does. If keeping root and doing the systems-administration part yourself is actually what you want, self-hosting WordPress on a VPS instead is the other side of this same move.Ein Panel gibt dir PHP, MySQL und Mail bereits fertig miteinander verdrahtet, was dir die Teile des Self-Hostings abnimmt, die eigentlich Systemadministration sind: das Betriebssystem patchen, den Datenbankserver betreiben, die TLS-Konfiguration eines Webservers aktuell halten. Es nimmt dir nicht die Teile ab, die spezifisch für deine Seite sind. Der WordPress-Core aktualisiert sich standardmäßig weiterhin selbst bei Minor-Releases, aber Plugin- und Theme-Updates sind eine Entscheidung, die nur du treffen kannst — ein Panel hat keine Möglichkeit zu wissen, ob ein bestimmtes Plugin-Update für deine Seite sicher ist. Frag nach, welche Backup-Aufbewahrung dein konkreter Plan zusagt, statt eine Zahl anzunehmen; sie variiert je nach Plan und steht auf der Seite des jeweiligen Plans — nicht etwas, das du aus dem ableiten solltest, was ein anderer Host oder eine andere Stufe macht. Willst du eigentlich Root behalten und den Systemadministrations-Teil selbst übernehmen, ist WordPress stattdessen selbst auf einem VPS hosten die andere Seite desselben Umzugs.
Full disclosure: this is what we sell. The Standard web-hosting plan is the tier most existing WordPress sites land on once Starter's headroom runs out; move up to Pro if the media library, mailbox count or traffic keeps growing after the import.Zur vollen Transparenz: Das ist, was wir verkaufen. Der Webhosting-Plan Standard ist die Stufe, auf der die meisten bestehenden WordPress-Seiten landen, sobald der Spielraum von Starter aufgebraucht ist; steig auf Pro um, falls Mediathek, Postfach-Anzahl oder Traffic nach dem Import weiter wachsen.
Web hosting — EUR 3.99 to EUR 42.99 a month, on our own single-tenant bare metal in Dallas, TX and Charlotte, NC. Four enabled tiers: web-starter, web-basic, web-standard, web-pro. Per-tier disk quota is enforced by the kernel, not by a dashboard number. HestiaCP control panel with mail, DNS, databases and Let's Encrypt.Webhosting — 3,99 bis 42,99 EUR im Monat, auf unserer eigenen Single-Tenant-Bare-Metal-Hardware in Dallas, TX und Charlotte, NC. Vier aktivierte Tarife: web-starter, web-basic, web-standard, web-pro. Das Speicherkontingent je Tarif wird vom Kernel durchgesetzt, nicht von einer Dashboard-Zahl. HestiaCP-Kontrollpanel mit Mail, DNS, Datenbanken und Let's Encrypt.
You order in the shop, pay by card (Stripe) or SEPA bank transfer, and your login details are e-mailed to you once the service is set up. Support is e-mail, run by one person, with no guaranteed response time. All prices are final totals under the German small-business rule (§19 UStG); no VAT is added or shown.Du bestellst im Shop, zahlst per Karte (Stripe) oder SEPA-Überweisung, und deine Zugangsdaten werden dir per E-Mail zugeschickt, sobald der Dienst eingerichtet ist. Support läuft per E-Mail, von einer einzelnen Person betrieben, ohne garantierte Reaktionszeit. Alle Preise sind Endpreise. Gemäß § 19 UStG wird keine Umsatzsteuer ausgewiesen.
Order web-standard → · Web hosting overviewweb-standard bestellen → · Übersicht Webhosting
Written by the person who runs overnight.host: a small, honest hosting company on dedicated bare metal — Linux VPS, game servers, web hosting. Live status at up.overnight.host.Geschrieben von der Person, die overnight.host betreibt: ein kleines, ehrliches Hosting-Unternehmen auf dedizierter Bare-Metal-Hardware — Linux-VPS, Gameserver, Webhosting. Live-Status unter up.overnight.host.
A manual database dump plus a wp-content tarball is the more reliable choice once you have SSH or SFTP on both ends, and it avoids any plugin's own size ceiling entirely. A migration plugin earns its keep when the new account gives you nothing but the panel itself and no direct server access.Ein manueller Datenbank-Dump plus ein wp-content-Tarball ist die zuverlässigere Wahl, sobald du auf beiden Seiten SSH oder SFTP hast, und er umgeht jede eigene Größenbegrenzung eines Plugins vollständig. Ein Migrations-Plugin lohnt sich, wenn der neue Account dir nichts als das Panel selbst gibt und keinen direkten Serverzugriff.
Almost always a raw SQL find-and-replace that changed a URL string inside serialized data without updating the length count PHP stores alongside it. Re-run the change with wp search-replace or a plugin built for it, and the same fields come back intact.Fast immer ein rohes SQL-Suchen-und-Ersetzen, das einen URL-String innerhalb serialisierter Daten geändert hat, ohne die Längenangabe zu aktualisieren, die PHP daneben speichert. Führe die Änderung erneut mit wp search-replace oder einem dafür gebauten Plugin aus, und dieselben Felder kommen intakt zurück.
Once the domain's A record has propagated widely enough that requests are actually reaching the new panel, not the moment you save the DNS change. A panel that offers Let's Encrypt typically issues the certificate the first time it sees real traffic arrive at that hostname.Sobald sich der A-Eintrag der Domain weit genug verbreitet hat, dass Anfragen tatsächlich beim neuen Panel ankommen, nicht in dem Moment, in dem du die DNS-Änderung speicherst. Ein Panel, das Let's Encrypt anbietet, stellt das Zertifikat typischerweise aus, sobald es das erste Mal echten Traffic bei diesem Hostnamen ankommen sieht.
Only if the MX records change before the new panel actually has mailboxes set up to receive that mail. Provision the mailboxes first, confirm they work, and only then move MX — ideally after lowering the TTL a day or two ahead of the cutover.Nur, wenn sich die MX-Einträge ändern, bevor das neue Panel tatsächlich Postfächer eingerichtet hat, um diese Mail zu empfangen. Richte zuerst die Postfächer ein, bestätige, dass sie funktionieren, und verschiebe MX erst danach — idealerweise, nachdem du die TTL ein bis zwei Tage vor der Umstellung gesenkt hast.
No. The panel takes the server administration off your plate — patching, the database engine, mail delivery — but plugin and theme updates, and whatever backup retention your specific plan states, are still yours to track. Read what the plan actually promises rather than assume it matches somewhere else you've hosted before.Nein. Das Panel nimmt dir die Serveradministration ab — Patching, die Datenbank-Engine, Mail-Zustellung — aber Plugin- und Theme-Updates sowie die Backup-Aufbewahrung, die dein konkreter Plan zusagt, bleiben etwas, das du selbst im Blick behalten musst. Lies nach, was der Plan tatsächlich zusagt, statt anzunehmen, dass es dem entspricht, was du woanders schon gehostet hast.
Prices are final totals; no VAT is shown (§19 UStG). Need something the shop does not list? Email us for a written offer.Alle Preise sind Endpreise ohne ausgewiesene USt. (§19 UStG). Du brauchst etwas, das nicht im Shop steht? Schreib uns für ein schriftliches Angebot.
Order now →Jetzt bestellen → Request a custom configIndividuelle Konfiguration anfragen