https://github.com/contentful/wordpress-exporter.rb
Adapter to extract data from Wordpress
https://github.com/contentful/wordpress-exporter.rb
Last synced: 10 months ago
JSON representation
Adapter to extract data from Wordpress
- Host: GitHub
- URL: https://github.com/contentful/wordpress-exporter.rb
- Owner: contentful
- License: mit
- Archived: true
- Created: 2014-12-09T12:21:43.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2018-01-30T18:38:37.000Z (over 8 years ago)
- Last Synced: 2024-09-22T15:32:29.357Z (almost 2 years ago)
- Language: Ruby
- Homepage: https://www.contentful.com
- Size: 51.8 KB
- Stars: 24
- Watchers: 14
- Forks: 15
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
Wordpress to Contentful Exporter
=================
> **Note**: This tool is no longer officially supported as of May 11th, 2017.
> You can feel free to use it, fork it and patch it for your own needs.
> Downloads from RubyGems will still be available.
## Description
This adapter will allow you to extract content from a WordPress Blog and prepare it to be imported to [Contentful](https://wwww.contentful.com).
The following content will be extracted:
* Blog with posts
* Categories, tags and terms from custom taxonomies
* Attachments
## Installation
```bash
gem install wordpress-exporter
```
This will install the `wordpress-exporter` executable on your system.
## Setup
To extract the blog content you need to [export](http://en.support.wordpress.com/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`:
``` yaml
data_dir: PATH_TO_ALL_DATA
wordpress_xml_path: PATH_TO_XML/file.xml
```
To extract the content run:
```bash
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](https://github.com/contentful/generic-importer.rb) to import your blog then to Contentful.
## Step by step
1. [Export](http://en.support.wordpress.com/export/) the content of the blog from WordPress and save it as XML file.
2. Create YAML file with settings (eg. settings.yml) and fill in the required parameters.
The generated `content types`, `entries` and `assets` will be saved to the `data_dir`.
We recommend you to use `wordpress_settings/wordpress_settings.yml` file in this repository
3. Extract the content from the XML file and generate the content model and JSON files for the import:
```bash
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`
```bash
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](https://github.com/contentful/generic-importer.rb) for details on how this needs to be done.
4. (Optional). HTML markup can be converted to markdown:
```bash
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.
5. Create your content model from JSON:
```bash
wordpress-exporter --config-file settings.yml --create-contentful-model-from-json
```
6. Use the [contentful-importer](https://github.com/contentful/contentful-importer.rb) to import the content to [contentful.com](https://www.contentful.com)
7. Add you organization id and the access token to your `settings.yml`
8. Add the new created space id to your `settings.yml` file.
9. Now follow the steps (starting from step 3) of our [contentful-importer guide](https://github.com/contentful/contentful-importer.rb#step-by-step) to publish your content.