En WordPress-sida består av två delar: filerna (WordPress själv, tema, tillägg och uppladdade bilder) och databasen (texter, inställningar och användare). En flytt handlar om att få över båda delarna oskadda och sedan styra trafiken till den nya servern.
Om domänen och adressen är desamma efter flytten räcker det, enligt WordPress dokumentation, att kopiera filerna och databasen. Byter du också domän blir det fler steg. Guiden går igenom båda.
Innan du börjar
- Ta reda på var domänen är registrerad och var DNS hanteras. Det är inte alltid hos webbhotellet. Läs mer i Byta webbhotell: vad händer med domänen och e-posten?.
- Kontrollera om e-posten ligger hos det gamla webbhotellet. Då behöver den också flyttas.
- Säg inte upp det gamla webbhotellet förrän allt fungerar på det nya.
Steg för steg
1. Ta en fullständig backup
Ta en backup av alla filer och en export av databasen. Spara dem på din egen dator eller i en molntjänst, inte bara hos webbhotellet. Kontrollera att filerna går att öppna och att databasexporten inte är tom.
2. Förbered det nya webbhotellet
Skapa en tom databas och en databasanvändare hos det nya webbhotellet och anteckna namn, användare, lösenord och databasvärd. Kontrollera också att det nya webbhotellet kör en PHP-version som både WordPress och dina tillägg stöder.
3. Flytta filerna
Ladda upp alla filer till det nya webbhotellet med SFTP eller webbhotellets filhanterare. Glöm inte dolda filer som .htaccess. Mappen wp-content är viktigast, eftersom den innehåller tema, tillägg och alla uppladdade bilder.
4. Importera databasen
Importera databasexporten till den nya, tomma databasen, till exempel via phpMyAdmin (ett webbverktyg för databaser som många webbhotell har). Stora databaser kan behöva importeras på annat sätt. Fråga webbhotellet om importen avbryts.
5. Uppdatera wp-config.php
Filen wp-config.php talar om för WordPress hur det når databasen. Ändra värdena så att de stämmer med den nya databasen:
define( 'DB_NAME', 'nytt_databasnamn' );
define( 'DB_USER', 'ny_anvandare' );
define( 'DB_PASSWORD', 'nytt_losenord' );
define( 'DB_HOST', 'localhost' );
DB_HOST är ofta localhost, men inte alltid. Webbhotellet anger vad som gäller.
6. Byt adress, om domänen ändras
Ta en backup först. Om sidan får en ny adress måste den gamla bytas ut i databasen. Gör det inte med en vanlig sök och ersätt i en textfil. WordPress och många tillägg sparar inställningar som serialiserad data, där längden på varje text sparas tillsammans med texten. Ändras längden utan att siffran uppdateras kan inställningar, widgetar och sidbyggarlayouter gå sönder.
Använd i stället ett verktyg som hanterar serialiserad data, till exempel WP-CLI (WordPress kommandoradsverktyg). Kör först en provkörning som bara visar vad som skulle ändras:
wp search-replace 'https://gammal-doman.se' 'https://ny-doman.se' --skip-columns=guid --dry-run
Ser resultatet rimligt ut kör du samma kommando utan --dry-run. Flaggan --skip-columns=guid gör att kolumnen GUID lämnas orörd. WordPress dokumentation är tydlig med att GUID inte ska ändras, eftersom flödesläsare använder det för att hålla reda på vilka inlägg de redan visat.
Det finns också tillägg för samma sak. Har du inte WP-CLI kan du fråga webbhotellet om de har det installerat.
7. Testa innan du pekar om domänen
Nu ligger sidan på den nya servern, men domänen pekar fortfarande på den gamla. Du kan testa på två sätt:
- Hosts-filen. Datorns hosts-fil kan tillfälligt säga åt just din dator att domänen ska gå till den nya serverns IP-adress. Ingen annan påverkas. Ta bort raden när du är klar.
- Tillfällig adress. Vissa webbhotell ger en tillfällig testadress. Hur den fungerar varierar, och WordPress kan skicka dig vidare till den riktiga domänen eftersom adressen är sparad i databasen.
Gå igenom startsidan, några undersidor, kontaktformuläret, inloggningen och, om du har en webbutik, kassan. Gör inga riktiga köp eller ändringar som du inte vill förlora.
8. Sänk TTL i förväg
TTL (time to live) styr hur länge andra servrar sparar en DNS-uppgift innan de frågar igen. Om du sänker TTL för domänens poster någon gång innan flytten, och väntar minst lika länge som den gamla TTL-tiden, slår bytet igenom snabbare. Hur du ändrar TTL beror på var din DNS hanteras, och alla leverantörer tillåter inte det.
9. Peka om DNS
Ta en backup först, och anteckna alla befintliga DNS-poster innan du ändrar något. Ändra sedan A-posten (och AAAA-posten om den finns) så att den pekar på den nya serverns IP-adress. Rör inte MX-posterna om e-posten ska ligga kvar där den är.
Under en period kan vissa besökare hamna på den gamla servern och andra på den nya. Hur lång tid det tar varierar. Undvik att publicera nytt innehåll eller ta emot beställningar på den gamla sidan under tiden, annars kan de hamna i fel databas.
10. Ordna SSL-certifikatet
Ett SSL-certifikat ger sidan HTTPS. Det följer inte med filerna, utan måste utfärdas på det nya webbhotellet. Gratiscertifikat från Let’s Encrypt kontrolleras ofta genom att deras server hämtar en fil från din domän, och då måste domänen redan peka på den nya servern. Det är därför certifikatet ofta kan utfärdas först efter DNS-bytet. Hur det går till beror på webbhotellet.
11. Efterkontroll
- Gå till Inställningar → Permalänkar och klicka Spara, så skrivs omskrivningsreglerna om.
- Töm alla cacher, både i tillägg och hos webbhotellet.
- Kontrollera att e-post från sidan, till exempel formulärsvar, kommer fram.
- Låt det gamla webbhotellet vara kvar en tid som reserv.
Vanliga misstag
- Sök och ersätt i SQL-filen med en textredigerare. Det förstör serialiserad data.
- Att glömma
.htaccess. Då kan alla undersidor ge 404. - Att säga upp det gamla webbhotellet för tidigt. Då kan både backup och e-post försvinna.
- Att ändra DNS utan att anteckna de gamla posterna. Då är det svårt att backa.
- Att missa e-posten. Om e-postkontona låg hos det gamla webbhotellet slutar de fungera när avtalet upphör.
När ska du ta hjälp?
Ta hjälp om sidan är en webbutik med pågående beställningar, om databasen är stor, om du byter domän samtidigt eller om du inte har tillgång till WP-CLI. Det gäller också om e-posten ligger hos samma webbhotell som sidan.
Behöver du hjälp?
Jag kan sköta hela flytten åt dig, från backup till DNS och SSL. Läs mer om flytt av webbhotell. Priset sätts efter bedömning, och du får en offert innan jag börjar.


