---
title: Create structured content for WordPress
slug: content-marketing-platform/docs/create-structured-content-for-wordpress
docTags: 
createdAt: 2026-07-22T20:21:12.802Z
---

Optimizely Content Marketing Platform (CMP) supports adding structured content from the Open API for WordPress Advanced Custom Fields (ACF).

Use `POST https://api.cmp.optimizely.com/structured-content/content-types` to create the structured content. See the [API reference](ref\:post_structured-content-content-types) for information.

You must have the following mandatory fields in the structured content, along with other ACF fields and taxonomy:

- Webpage Analytics
- Body
- Featured Image
- WordPress Meta Info

## Webpage Analytics

This is automatically created for your organization.

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/5CPuqLfKpvwrI_zhByAUP_5486b14f484637100baed7defaea0eba59bd5c2ddf0dba857a431a38afaa1987-image.png)

Click **Webpage Analytics** to see the details.

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/0lJrQRyil0hNBDPomtyoT_2e83743c81213a7332b469b06f3304e95ff81e9de047ed4965c09210644ba941-image.png)

Copy the `GUID` from the URL.

**JSON example**

Use the structured content `Reference` field to add the webpage analytics.

```json
{
  "core": {
    "key": "webpage",
    "name": "WebpageAnalytics",
    "is_list": false,
    "is_required": false,
    "need_internationalization": false,
    "min_list_length": 0,
    "max_list_length": -1,
    "field_type": "content-type",
    "source_id": null,
    "source_metadata": null,
    "order_index": 0,
    "help_text": null,
    "editor_metadata": null
  },
  "allowed_content_types": ["<GUID_COPIED_FROM_URL>"],
  "ref_type": 3,
  "allow_ref_edit": true,
  "default_value": null
}
```

## Body

This is a `Rich Text` field.

**JSON example**

```json
{
  "core": {
    "key": "body",
    "name": "Body",
    "is_list": false,
    "is_required": true,
    "need_internationalization": false,
    "min_list_length": 0,
    "max_list_length": -1,
    "field_type": "rich-text",
    "source_id": null,
    "source_metadata": "{\"is_custom_post_type_field\": false}",  // Adding this is not mandatory but recommended
    "order_index": 1,
    "help_text": null,
    "editor_metadata": null
  },
  "min_visual_text_length": 1,
  "max_visual_text_length": -1,
  "default_values": null
}
```

## Featured Image

This is an `Asset` field for `Image` type.

**JSON example**

```json
{
  "core": {
    "key": "featuredImage",
    "name": "Featured Image",
    "is_list": false,
    "is_required": false,
    "need_internationalization": false,
    "min_list_length": 0,
    "max_list_length": -1,
    "field_type": "library-asset",
    "source_id": null,
    "source_metadata": "{\"is_custom_post_type_field\": false}",  // Adding this is not mandatory but recommended
    "order_index": 2,
    "help_text": null,
    "editor_metadata": null
  },
  "allowed_types": ["image"],
  "default_values": null
}
```

## WordPress Meta Info

The WordPress Meta Info should be automatically created from your Wordpress connection. If not, contact Optimizely Support, or create it by using Open API. See the following JSON example to create WordPress Meta Info.

:::hint{type="warning"}
**🚧 Important**
Do not create the WordPress Meta Info component if it is already created by the system.
:::

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/Ewb5-366nB6Xs5H93h_T9_506207d3e9b2af4271930e0e97a03023e8d395c2ec44608065a221b95d67e338-image.png)

Click **WordPress Meta Info** to see details.

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/VZIp6EUhBdzsTvz5JgfIk_64fc11e37066d7c21678214ce4b4a98d312288084217e60a86bfef181f541632-image.png)

Copy the `GUID` from the URL.

**JSON example**

```json
{
  "core": {
    "key": "wpMetaInfo",
    "name": "WordPress Meta Info",
    "is_list": false,
    "is_required": false,
    "need_internationalization": false,
    "min_list_length": 0,
    "max_list_length": -1,
    "field_type": "content-type",
    "source_id": null,
    "source_metadata": null,
    "order_index": 14,
    "help_text": null,
    "editor_metadata": null
  },
  "allowed_content_types": ["<wordpress_meta_info_component_guid>"],
  "ref_type": 3,
  "allow_ref_edit": true,
  "default_value": null
}
```

**Full JSON Payload**

Use `https://api.cmp.optimizely.com/v3/structured-content/content-types` to create a WordPress Meta Info component. See the [API reference](ref\:post_structured-content-content-types) for information.

```json
{
  "details": {
    "name": "WordPress Meta Info",
    "component": true,
    "disabled": false
  },
  "source": "Welcome",
  "source_id": "wp_meta_info",
  "source_metadata": null,
  "created_by": "<user_guid>",
  "field_definitions": [
    {
      "core": {
        "key": "wpMetaTitle",
        "name": "Meta Title",
        "is_list": false,
        "is_required": false,
        "need_internationalization": false,
        "min_list_length": 1,
        "max_list_length": -1,
        "field_type": "text-field",
        "source_id": null,
        "source_metadata": null,
        "order_index": 0,
        "help_text": null,
        "editor_metadata": null
      },
      "validation_pattern": ".*",
      "min_length": 0,
      "max_length": -1,
      "default_values": null
    },
    {
      "core": {
        "key": "wpMetaDescription",
        "name": "Meta Description",
        "is_list": false,
        "is_required": false,
        "need_internationalization": false,
        "min_list_length": 1,
        "max_list_length": -1,
        "field_type": "text-field",
        "source_id": null,
        "source_metadata": null,
        "order_index": 1,
        "help_text": null,
        "editor_metadata": null
      },
      "validation_pattern": ".*",
      "min_length": 0,
      "max_length": -1,
      "default_values": null
    }
  ]
}
```

## Full example

This includes `Webpage Analytics`, `Body`, `Featured Image`, `Authors`, `Tags`, and `Category`.

```json
{
  "details": {
    "name": "WordPress ACF Enabled Post Types",
    "component": false,
    "disabled": false
  },
  "source": "wordpress",
  "source_id": "<integration_guid>",
  "source_metadata": "{\"name\":\"<custom_post_type_name>\"}",
  "created_by": "<user_id>",
  "field_definitions": [
    {
      "core": {
        "key": "webpage",
        "name": "WebpageAnalytics",
        "is_list": false,
        "is_required": false,
        "need_internationalization": false,
        "min_list_length": 0,
        "max_list_length": -1,
        "field_type": "content-type",
        "source_id": null,
        "source_metadata": null,
        "order_index": 0,
        "help_text": null,
        "editor_metadata": null
      },
      "allowed_content_types": ["<webpage_analytics_component_guid>"],
      "ref_type": 3,
      "allow_ref_edit": true,
      "default_value": null
    },
    {
      "core": {
        "key": "body",
        "name": "Body",
        "is_list": false,
        "is_required": true,
        "need_internationalization": false,
        "min_list_length": 0,
        "max_list_length": -1,
        "field_type": "rich-text",
        "source_id": null,
        "source_metadata": "{\"is_custom_post_type_field\":false}",
        "order_index": 1,
        "help_text": null,
        "editor_metadata": null
      },
      "min_visual_text_length": 1,
      "max_visual_text_length": -1,
      "default_values": null
    },
    {
      "core": {
        "key": "category",
        "name": "Category",
        "is_list": false,
        "is_required": false,
        "need_internationalization": false,
        "min_list_length": 1,
        "max_list_length": -1,
        "field_type": "json",
        "source_id": null,
        "source_metadata": null,
        "order_index": 4,
        "help_text": null,
        "editor_metadata": {
          "editorGuid": "<remote_field_guid>",
          "editorConfig": {
            "taxonomy": "category",
            "isMultiSelect": true,
            "integrationInstanceId": "<integration_guid>"
          }
        }
      },
      "base_type": "json",
      "default_values": null
    },
    {
      "core": {
        "key": "featuredImage",
        "name": "Featured Image",
        "is_list": false,
        "is_required": false,
        "need_internationalization": false,
        "min_list_length": 0,
        "max_list_length": -1,
        "field_type": "library-asset",
        "source_id": null,
        "source_metadata": "{\"is_custom_post_type_field\":false}",
        "order_index": 2,
        "help_text": null,
        "editor_metadata": null
      },
      "allowed_types": ["image"],
      "default_values": null
    },
    {
      "core": {
        "key": "author",
        "name": "Authors",
        "is_list": false,
        "is_required": false,
        "need_internationalization": false,
        "min_list_length": 1,
        "max_list_length": -1,
        "field_type": "json",
        "source_id": null,
        "source_metadata": "{\"is_custom_post_type_field\":true}",
        "order_index": 3,
        "help_text": null,
        "editor_metadata": null
      },
      "base_type": "json",
      "default_values": null
    },
    {
      "core": {
        "key": "tags",
        "name": "Tags",
        "is_list": false,
        "is_required": false,
        "need_internationalization": false,
        "min_list_length": 1,
        "max_list_length": -1,
        "field_type": "json",
        "source_id": null,
        "source_metadata": null,
        "order_index": 5,
        "help_text": null,
        "editor_metadata": {
          "editorGuid": "<remote_field_guid>",
          "editorConfig": {
            "taxonomy": "post_tag",
            "isMultiSelect": true,
            "integrationInstanceId": "<integration_guid>"
          }
        }
      },
      "base_type": "json",
      "default_values": null
    },
    {
      "core": {
        "key": "wpMetaInfo",
        "name": "WordPress Meta Info",
        "is_list": false,
        "is_required": false,
        "need_internationalization": false,
        "min_list_length": 0,
        "max_list_length": -1,
        "field_type": "content-type",
        "source_id": null,
        "source_metadata": null,
        "order_index": 14,
        "help_text": null,
        "editor_metadata": null
      },
      "allowed_content_types": ["<wordpress_meta_info_component_guid>"],
      "ref_type": 3,
      "allow_ref_edit": true,
      "default_value": null
    }
  ]
}
```

## Update structured content

You can update structured content for WordPress by using `POST /structured-content/content-types/{content_type_id}/versions`.

## Remote fields

CMP remote fields power the WordPress v2 ACF fields on the backend. See [Remote fields](docId\:bXWda-k6GNXDz7n9jk5Sp) to learn more.
