Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Contentful and Exponential

Moving content between Contentful and Exponential 6 - contentful space export and import, the Content Delivery API, what the export leaves out, mapping content types, entries, assets, locales and rich text, and keeping…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/install/migration/contentful.md

On this page

Contentful and Exponential

Contentful is a headless content platform: it stores content and serves it over APIs, and a separate front end renders the site. Moving to Exponential either replaces both (Exponential renders the site) or replaces only the content source (the front end reads Exponential instead, see JavaScript and Node.js apps).

Migration hub · Checklist · Mapping · Tools

1. What Contentful can export

According to Contentful's documentation and the READMEs of its official CLI tools:

ToolWhat it gives youLimits
contentful space export (Contentful CLI)one JSON file with content types, entries, assets, locales, tags, webhooks, roles, editor interfaces, releases; options --space-id, --management-token, --export-dir, --content-file, --download-assets, --include-drafts, --skip-content, --skip-roles, --skip-webhooks, --content-model-onlyno space memberships; webhook credentials must be re-added by hand; only active releases
Content Delivery APIpublished entries and assets as JSON, skip/limit/total/items; limit default 100, maximum 1000; cursor pagination is also documentedpublished content only
Content Management APIread and write access including draftsused by the CLI

contentful space export --download-assets --include-drafts gives you everything a migration needs in one run.

2. Mapping to Exponential

ContentfulExponential 6
Content type with fieldsclass with attributes (Symbol/Text to ezstring/eztext, Integer/Number, Boolean, Date to ezdatetime, Location to ezgmaplocation, JSON object to eztext or a decision)
Entryobject; sys.id as remote id (contentful-<id>)
Reference / referencesezobjectrelation / ezobjectrelationlist
Assetimage/file object
Rich Text (a JSON document of nodes)ezxmltext: convert the node tree (paragraphs, headings, lists, hyperlinks, embedded entries and assets) to the simplified input
Localestranslations of the same object; fallback locales to Exponential's language fallbacks
Tagseztags
Slug fieldthe node's URL alias
No treeContentful is flat: decide the content tree (by type, by a parent reference, or by the front end's routes)

3. Step by step

  1. contentful space export --space-id <id> --management-token <token> --download-assets --include-drafts --export-dir <dir>.
  2. Design the tree and the classes from the content types; write the mapping table.
  3. Convert the JSON: entries per type with their fields per locale, Rich Text to XmlText, references to remote ids.
  4. Import assets, then entries without references, then a second pass for references; translations per locale.
  5. If a headless front end stays: point it at Exponential's REST API or expservices (JavaScript and Node.js apps); otherwise build TPL templates.
  6. Redirects from the front end's routes (checklist, 4).

4. From Exponential to Contentful

Export with xrowextract (leaving Exponential), build the content model in Contentful, and write a contentful space import file (or use the Management API). Contentful's own notes: the source and target need the same content model and default locale, space import does not do content transformations ("please use contentful-migration"), roles and memberships are not imported, and imported content shows the token owner as author. Redirects belong to the front end or its host.

5. Checklist

  • To do: Space exported with assets and drafts.
  • To do: Tree designed; classes created; Rich Text converter tested.
  • To do: Assets, entries, references, locales imported with contentful-<id> remote ids.
  • To do: Front end repointed or templates built; redirects tested.

Sources

Become an Exponential Partner

Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.

This page is part of the Exponential documentation and is free documentation under the GNU Free Documentation License 1.3 or any later version (the license of this documentation).

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x