Overview
Wordpress, like GravCMS, is a PHP-based content management system. Unlike Grav, Wordpress requires a database to store its data. Grav uses the filesystm to store configuration and page data.
Wordpress does not natively offer an option to export its data in a format that Grav can easily use. In order to perform the export, you'll need the following:
- A Wordpress site that you have administration rights to
- WP-CLI installed on the server hosting the WP site
- Composer installed on the server
Installation of wp2grav_exporter
I've written a wp-cli plugin that will do almost all of the heavy lifting for us called wp2grav_exporter.
- Download the plugin from here.
- Copy the files to the
wp-content/plugins/wp2grav_exporter
folder on the Wordpress server. - Log into the Wordpress server and navigate to the wp2grav_exporter folder.
- At the command line, type in
composer install
to install the PHP dependencies of the plugin.
Exporting the WP Site
- From the command line, type in
wp wp2grav-FEATURE
where FEATURE is:users
: Exports WP users to Grav account yaml files.roles
: Exports WP roles to Grav groups yaml file.posts
: Exports WP pages and posts to Grav pages markdown files.post_types
: Export WP page and post structure to a Grav theme, usable by the Grav admin plugin.all
: Iterates through all the above features.
Example: wp wp2grav-users
will create a folder with a Grav account for each Wordpress user.
Migrating exported files
All exported files will be saved to the Wordpress's wp-content/uploads/
folder under user-DATE
, where DATE
is the current date. This folder can be drag-dropped into a Grav site's user
folder. See the learn site for how to install Grav.
You'll need to change the Grav site theme to wordpress-export
inside the user/config/system.yaml
file:
pages:
theme: wordpress-export