By Tilak Sasmal — Wed Jun 10 2026
4 min read
If you are looking for a faster, more optimized, and fully managed hosting solution for your publication, Typetale is built explicitly to turbocharge your Ghost CMS experience. However, the biggest fear when moving any established publication is data loss.
If you have ever tried migrating a Ghost blog using the standard Admin dashboard export (the built-in JSON and CSV files), you already know the painful truth: it leaves crucial data behind. While the standard export grabs your posts and members, it completely abandons your hard-earned newsletter statistics, open rates, historical Stripe data, and native comments.
We achieve this by migrating your full database and content directory, rather than relying on the basic JSON export.
Here is our step-by-step guide to generating a complete, zero-data-loss backup of your current Ghost site, no matter how it is currently hosted.
If you are running Ghost on a VPS (like DigitalOcean, Hetzner, or AWS) using the official Ghost-CLI, you have full server access. Here is how to securely package your entire site.
Your content folder holds all your uploaded images, custom themes, and files.
Create a zip archive of the content folder:
sudo apt install zip # just in case you don't have it installed
zip -r typetale-content-backup.zip content/
Navigate to your Ghost installation directory (typically /var/www/ghost):
cd /var/www/ghost
Ghost uses MySQL 8 to store all your exact analytics, comments, and post data. Execute the below command to export (dump) your database as .sql file.
config.production.json file to find your exact database name, username, and password.mysqldump -u [user] -p[password] your_db_name > typetale-database.sql
Ensure there is no space between -p and your password).typetale-content-backup.zip and typetale-database.sql to your local machine using SFTP (via an app like FileZilla or Cyberduck).Many users self-host Ghost using Docker and docker-compose. Your data lives inside volumes and containers, but extracting it is straightforward.
Look at your docker-compose.yml file to see where your Ghost /var/lib/ghost/content directory is mounted on your host machine.
Zip the folder exactly as it is:
zip -r typetale-docker-content.zip /path/to/your/host/content_folder/
You do not need to install MySQL on your host machine to get your data. You can tell Docker to dump it directly from the running container.
docker ps..zip and .sql files to your local computer.Execute the dump command (replace the bracketed items with your specific details):
docker exec [mysql_container_name] /usr/bin/mysqldump -u root -p[root_password] [ghost_db_name] > typetale-database.sql
Ensure there is no space between -p and your password).If you are hosted with Ghost(Pro) or another managed Ghost hosting provider, you do not have SSH access to run database commands or zip folders. However, you still have the right to your complete data!
Because the dashboard JSON export is insufficient for a seamless migration, you will need to request a raw backup from their support team.
Use this template:
Hello Support, I am preparing to migrate my site and need a complete, raw backup of my publication to ensure I do not lose my newsletter analytics and comments. Could you please provide a secure download link containing my fullcontentfolder archive and a complete.sqldatabase dump?
If you are not currently using Ghost but want to migrate to Typetale from another platform like WordPress, Substack, or Beehiiv, the process is slightly different but fully supported!
For newsletter platforms like Substack and Beehiiv, you can export your content, subscribers, and analytics directly from your dashboard settings. Once you have the exported .csv files (for subscribers) and your content exports:
@tryghost/migrate command-line tools to parse and convert your content into a seamless Ghost-compatible format.Pro-tip: If you are a developer and prefer to convert the files yourself before sending them to us, you can install the tool via npm (npm install --global @tryghost/migrate) and run the conversion directly (e.g.,migrate substack --pathToZip /path/to/export.zip).
WordPress migrations can be complex due to custom plugins and page builders, but we handle the heavy lifting for you.
wp-content/uploads folder to the onboarding portal.@tryghost/migrate toolkit (specifically migrate wp-api or migrate wp-xml) to map your custom categories to Ghost tags, preserve your SEO permalinks, and securely import all your media.The official Ghost migration-tool GitHub repository provides well‑documented guides for other platforms.
Once you have your content and database files in hand, the hard part is over.
Simply upload these files to your secure Typetale onboarding portal, or share them securely with our migration team. We will handle the database restoration, map your file paths, reconfigure your image assets, and spin up your new server.
When you log into your new Typetale dashboard, everything—right down to the open rate of your very first newsletter—will be exactly where you left it.