This adapter will allow you to extract content from a WordPress Blog and prepare it to be imported to Contentful.
The following content will be extracted:
- Blog with posts
- Categories, tags and terms from custom taxonomies
- Attachments
gem install wordpress-exporter
This will install the wordpress-exporter
executable on your system.
To extract the blog content you need to export it from the WordPress blog and save it as a XML file.
Further you need to define where the tool can find the XML file and the destination of the transformed content.
Create a settings.yml
file and fill in the data_dir
and wordpress_xml_path
:
data_dir: PATH_TO_ALL_DATA
wordpress_xml_path: PATH_TO_XML/file.xml
To extract the content run:
wordpress-exporter --config-file settings.yml --extract-to-json
The result will be a directory structure with the WordPress content transformed into JSON files that are ready for import.
Use the generic-importer to import your blog then to Contentful.
-
Export the content of the blog from WordPress and save it as XML file.
-
Create YAML file with settings (eg. settings.yml) and fill in the required parameters. The generated
content types
,entries
andassets
will be saved to thedata_dir
. We recommend you to usewordpress_settings/wordpress_settings.yml
file in this repository -
Extract the content from the XML file and generate the content model and JSON files for the import:
wordpress-exporter --config-file settings.yml --extract-to-json
If you want to create a different content model for your blog you can use
--omit-content-model
wordpress-exporter --config-file settings.yml --extract-to-json --omit-content-model
It will only extract the content and store it as JSON, you need to take care about the content mapping yourself. See the Contentful-importer for details on how this needs to be done.
-
(Optional). HTML markup can be converted to markdown:
wordpress-exporter --config-file settings.yml --convert-markup
This will only touch the content body of a blog post, other attributes will not be changed.
-
Create your content model from JSON:
wordpress-exporter --config-file settings.yml --create-contentful-model-from-json
-
Use the contentful-importer to import the content to contentful.com
-
Add you organization id and the access token to your
settings.yml
-
Next we import the content model (the collection of content types), make sure you add the new created space id to your
settings.yml
file.contentful-importer --config-file settings.yml --import-content-types --space_name my-blog
-
We use the following command to import our entries and assets:
contentful-importer --config-file settings.yml --import
-
And finally publish the entries and assets:
contentful-importer --config-file settings.yml --publish-entries contentful-importer --config-file settings.yml --publish-assets