Att flytta en WordPress-sajt från en server till en annan borde vara enkelt. I teorin kopierar du filer och databas, byter DNS och är klar. I praktiken finns det tillräckligt många fallgropar för att fylla den här artikeln.
Förberedelse
Dokumentera nuvarande setup: PHP-version, MySQL-version, aktiva plugins, .htaccess-regler, cron-jobb, SSL-certifikat. Den nya servern behöver matcha eller vara kompatibel. Byt inte PHP-version samtidigt som du migrerar, det är att leta efter problem.
Kopiera filer
rsync är bäst för stora sajter: rsync -avz --progress /var/www/html/ user@nyserver:/var/www/html/. Det kopierar bara ändrade filer vid en andra körning. Alternativt: packa med tar, överför med scp, packa upp.
Databas
mysqldump -u user -p dbname > backup.sql på gamla servern. mysql -u user -p dbname < backup.sql på nya. Kolla teckenkodning: om gamla databasen är latin1 och nya är utf8mb4 kan specialtecken gå sönder.
Search-replace
Om domänen ändras (eller om du byter från http till https): wp search-replace 'https://gammal.se' 'https://ny.se' --all-tables. Gör inte det manuellt i SQL, WordPress serialiserar data som går sönder vid enkel textersättning.
DNS-bytet
Sänk TTL till 300 sekunder minst 24 timmar innan flytten. Byt A-record (eller CNAME). Behåll gamla servern igång i 48 timmar så att besökare med cachad DNS fortfarande når sajten.
Testa allt på nya servern via hosts-fil innan du byter DNS. Då ser du exakt vad besökarna kommer se utan att påverka live-sajten.