# Migrating to Kirby

If you're moving from another platform or CMS, this guide will help you understand the essentials, give you pointers to relevant documentation and resources, and smooth the process of setting up your new Kirby site to make the transition as seamless as possible.

## Understanding Kirby

Before diving into the migration, it's important to familiarize yourself with Kirby's unique features:

- Take our <a href="https://getkirby.com/docs/guide/tour">Starterkit tour</a> to better understand what Kirby is all about.
- Watch our <a href="https://videos.getkirby.com">screencast series</a> for step-by-step video tutorials that explain basic to advanced features.

(screencast: https://www.youtube.com/watch?v=lLQZd64uvPs poster: youtube-tour.jpg title: Feel at home in your Kirby installation text: Getting started with Kirby? Let's explore our Starterkit and see where to find stuff.)

Kirby has some incredibly simple yet powerful concepts to tackle features you might seek:

- **Custom fields:** Kirby's <a href="https://getkirby.com/docs/guide/content/fields">content fields</a> are incredibly flexible. They are custom by default: Easily define any you need to create a tailored editing experience.
- **Custom posts/page types:** Kirby uses <a href="https://getkirby.com/docs/guide/templates/basics">templates</a> and <a href="https://getkirby.com/docs/guide/blueprints/introduction">blueprints</a> to create page types that have a specific look and functionality in the frontend as well as in the Panel, giving you full control over each content type.
- **Editor experience:** Kirby’s Panel interface makes editing easy without needing to touch the filesystem. Content is saved in flat files using a lightweight syntax, but editors do not need to worry about Markdown if they don't want to — the Panel takes care of it.

## Prepare your Kirby setup
1. **Install Kirby:** Start by <a href="https://getkirby.com/docs/guide/quickstart">installing Kirby</a> locally or on your server to get comfortable.

2. **Create your templates:** Convert your existing templates into Kirby templates. You'll use HTML and PHP, and Kirby offers flexibility to replicate the look and structure of your old site.

3. **Set up blueprints:** In Kirby, blueprints define how pages, files and users are displayed in the backend Panel. What fields they have, what types these fields are, how they should be laid out. This is where you can model your content structure as it existed in your previous CMS or take the opportunity to improve it.

## Migrate your content and data

The crucial step in your migration is to move all your content and data – pages, media files etc. – to your new Kirby site. There are two approaches to this

### Exporting data

If you are very familiar with your existing CMS, you could set up a script, plugin or similar that exports the data already in the <a href="https://getkirby.com/docs/guide/content">right format for Kirby</a>: a folder per page with a text file that has the name of the corresponding template and contains all your page fields, as well as media files alongside of the text file that belong to the page.

(screencast: https://www.youtube.com/watch?v=zUPqqrhbcR8 poster: youtube-content.jpg title: The content folder text: The heart and soul of your Kirby installation: Let's learn how to create pages and add content with simple text files and folders. )

### Importing data
If exporting in the right format for Kirby is not an option, but you have the data from your old CMS in a structured format of any kind, you can turn it into Kirby pages, users or files by parsing the data and creating the Kirby content from it:

(screencast: https://www.youtube.com/watch?v=nWa_cmbuxLw poster: youtube-import.jpg title: How to import data into Kirby text: In this video you will learn how to use the Kirby CLI to create pages from a dataset. No matter if you are importing data from an existing CMS, a JSON API, an Excel sheet or any other source – this tutorial will provide a good foundation.)

#### Related docs

- <a href="https://getkirby.com/docs/reference/objects/cms/page/create-child">Creating pages via PHP</a>
- <a href="https://getkirby.com/docs/reference/objects/cms/page/create-file">Creating files via PHP</a>
- <a href="https://getkirby.com/docs/reference/objects/cms/user/create">Creating users via PHP</a>
- <a href="https://getkirby.com/docs/reference/api/pages/children-create">Creating pages via REST API</a>
- <a href="https://getkirby.com/docs/reference/objects/data/data">Parsing data</a>

### Migration tutorials

Learn from others who have already migrated their sites to Kirby and gain valuable tips for your own migration:

- <a href="https://danburzo.ro/toolbox/kirby/">&quot;Notes on Kirby CMS&quot;</a>

###  WordPress
- <a href="https://forum.getkirby.com/t/migrating-existing-wordpress-content-to-a-new-kirby-site/18409">&quot;Migrating existing Wordpress content to a new Kirby site&quot;</a>
- <a href="https://florianziegler.com/journal/i-replaced-wordpress-with-kirby/">&quot;I replaced Wordpress with Kirby&quot;</a>
- <a href="http://stayregular.net/blog/from-wordpress-to-kirby-part-1-designing-the-cms">&quot;From Wordpress to Kirby: Part 1&quot;</a>
- <a href="http://stayregular.net/blog/from-wordpress-to-kirby-part-2-migrating-data">&quot;From Wordpress to Kirby: Part 2&quot;</a>
- <a href="https://webrocker.de/2019/02/10/syndicate-some-blogposts-from-wordpress-to-kirby-with-the-rest-api-revisited/">&quot;Syndicate some blogposts from Wordpress to Kirby with the REST API revisited&quot;</a>

###  Webflow
- <a href="https://www.lkhrs.com/blog/2024/webflow-to-kirby/">&quot;Migrating from Webflow to Kirby&quot;</a>
###  Eleventy
- <a href="https://levimcg.com/blog/migrating-from-eleventy-to-kirby/">&quot;Migrating from Eleventy to Kirby&quot;</a>
###  Ghost
- <a href="https://forum.getkirby.com/t/migrating-from-ghost-cms-to-kirby/21720/9">&quot;Migrating from Ghost CMS to Kirby&quot;</a>
- <a href="https://www.peleke.de/en/blog/migration-from-ghost-cms-to-kirby-cms">&quot;Migration from Ghost CMS to Kirby CMS&quot;</a>
###  Perch
- <a href="https://forum.getkirby.com/t/importing-into-kirby-from-perch-cms/24056/2">&quot;Importing into Kirby from Perch CMS&quot;</a>
###  Grav
- <a href="https://assbach.de/blog/von-grav-zu-kirby">&quot;Von Grav zu Kirby&quot;</a>

### Existing plugins/scripts
Here are some plugins and/or scripts that could help kickstart your migration project. While they are likely not a ready-made solution, they can serve as a great starting point for your custom migration:

###  WordPress
- <a href="https://github.com/florianziegler/haptiq-kirby-exporter/">Haptiq Kirby Exporter</a>
- <a href="https://github.com/splorp/wordpress-xml-to-kirby">Wordpress XML to Kirby</a>
- <a href="https://github.com/WebMechanic/WxrKirby">WxrKirby</a>
- <a href="https://github.com/mirthe/kirby_wordpressimport">Kirby Wordpressimport (archived)</a>

## Hosting

Kirby is a lightweight CMS that doesn't require a database, making it compatible with a wide range of hosting environments. If your current host can run WordPress, it will most likely be able to run Kirby too. Check out our list of <a href="https://getkirby.com/docs/reference/system/requirements">requirements</a> for more details.

Popular hosting providers for Kirby include <a href="https://www.hetzner.com">Hetzner</a>, <a href="https://uberspace.de/en/">Uberspace</a>, <a href="https://www.infomaniak.com">Infomaniak</a> and <a href="https://krystal.io/">Krystal</a>. These hosters offer excellent compatibility with Kirby, reliable performance, and good customer support, making them ideal choices for hosting your Kirby site.

## Why others choose Kirby

<blockquote><p class="mb-1">With Kirby, we found a CMS that’s easy for clients to use, gives our designers freedom, and is fun for developers.</p><footer>– <a href="https://juno-hamburg.com/en/ideas/kirby-cms" class="link">JUNO</a></footer></blockquote>

<blockquote><p class="mb-1">Kirby will be a vital part of our business in the future and we can't wait to create some new Kirby websites.</p><footer>– <a href="https://careful.digital/commons/blog/why-we-love-kirby" class="link">Careful Digital</a></footer></blockquote>

<blockquote><p class="mb-1">Kirby isn't just a simple hammer; it's more like a well-thought-out toolbox with high-quality tools.</p><footer>– <a href="https://reinorange.com/de/blog/warum-kirby-unser-lieblings-cms-ist" class="link">Reinorange</a></footer></blockquote>

### As an alternative to…

###  WordPress
- <a href="https://florianziegler.com/journal/i-replaced-wordpress-with-kirby/">&quot;I replaced Wordpress with Kirby&quot;</a>
- <a href="https://www.netmagnet.cz/en/blog/why-were-switching-from-wordpress-to-kirby-cms/">&quot;Why we&rsquo;re switching from WordPress to Kirby CMS&quot;</a>
- <a href="https://internet.com.pub/kirby-4-the-flexible-cms-alternative-to-wordpress/">&quot;Kirby 4: The flexible CMS alternative to Wordpress&quot;</a>
- <a href="https://buschfeuerdesign.de/blog/warum-wir-standardmaessig-kirby-einsetzen-statt-wordpress">&quot;Warum wir standardm&auml;&szlig;ig Kirby einsetzen statt Wordpress&quot;</a>
- <a href="https://www.schaffrath.de/magazin/detail/wordpress-alternative-gesucht-die-antwort-ist-vielleicht-kirby">&quot;Wordpress-Alternative gesucht? Die Antwort ist vielleicht Kirby&quot;</a>
###  Blot
- <a href="https://kevquirk.com/blog/migrating-this-blog-to-kirby">&quot;Migrating this blog to Kirby&quot;</a>
###  Astro
- <a href="https://marcel.io/posts/goodbye-astro">&quot;Goodbye Astro&quot;</a>
###  Webflow
- <a href="https://www.lkhrs.com/blog/2023/initial-thoughts-kirby-cms/">&quot;Initial thoughts on Kirby CMS&quot;</a>
###  Perch
- <a href="https://fatbuddhadesigns.co.uk/journal/the-move-to-kirby-cms/">&quot;The move to Kirby CMS&quot;</a>
- <a href="https://deploi.ca/blog/kirby-vs-perch-a-comprehensive-comparison-of-two-powerful-content-management-systems">&quot;Kirby vs Perch: A comprehensive comparison of two powerful content management systems&quot;</a>
###  Grav
- <a href="https://assbach.de/blog/von-grav-zu-kirby">&quot;Von Grav zu Kirby&quot;</a>
###  Hugo
- <a href="https://blog.notmyhostna.me/posts/from-hugo-to-kirby/">&quot;From Hugo to Kirby&quot;</a>

## The Kirby ecosystem

- **Plugin directory:** The Kirby <a href="https://plugins.getkirby.com">plugin directory</a> has many options to extend functionality.
- **Themes:** Browse Kirby's <a href="https://getkirby.com/themes">available themes</a> to get a quick start.
- **Community:** Join the Kirby <a href="https://forum.getkirby.com">forum</a>, <a href="https://cat.getkirby.com">Discord server</a>, or explore the <a href="https://getkirby.com/meet">community map</a> to find fellow Kirby enthusiasts near you.

## Ready to migrate?

Migrating from your existing CMS to Kirby may feel like a big step, but the flexibility and simplicity that Kirby offers is well worth it. With the resources provided here, you'll have a clear path to making Kirby your new home.

## Take your time

You can explore Kirby for free for as long as you need. Complete your migration and decide if it's the perfect new home. Test your Kirby site in a local environment or on a staging server. When you're ready, it's <a href="https://getkirby.com/buy">time to get your Kirby license</a>—but we want to make sure you're happy first.