- Set up new host.
- On your old blog, under Settings: Labs/Export content. This will give you a json file with all your posts and settings, but not all your images.
- On your new blog, Labs/Import content. Upload the json file, and your blog should be reconfigured to match the old one.
- Settings: Design. Download your active theme, and upload it to the new host.
- Copying images: images are stored in a subdirectory of www;
content/images. Use the
scpcommand to move the contents of this directory between the two hosts:
scp -i key.pem -r firstname.lastname@example.org:/opt/bitnami/apps/ghost/htdocs/content/images /var/www/ghost/content/images
- Verify that your new image directory has the correct permissions, if not:
sudo chown -R ghost /var/www/ghost/content/images/*
- Update any integrations - e.g.: RSS to Twitter - with your new URL.
- Resolve any user conflicts.
- Take a backup.
Slightly related: I ran into a problem updating Ghost on my new host, as the Ghost CLI version was too told. This command resolved it:
npm install -g ghost-cli@latest