Create WordPress pages from an Elementor or Divi template with ACF fields, and set a parent page
Updated
This is for page sets: many pages built from one design, like a page per service or per city. Your WordPress site must be connected first, see connect WordPress.
What you need#
- ACF (Advanced Custom Fields) by WP Engine, installed and active.
- Elementor Pro (dynamic tags need Pro) or Divi.
- A connected WordPress site in SEOmatic.
Set up the fields in WordPress#
- In WordPress admin, go to ACF, then Post Types, and create a post type for these pages, for example Services. The default settings are fine.
- Go to ACF, then Field Groups, and create a group with one field for each part of the page that changes. Use underscores in field names, not hyphens.
- In the group settings, set Location Rules to your new post type and turn on Show in REST API. SEOmatic cannot see the fields without it.
| Text field name ends with | What you type in SEOmatic |
|---|---|
_text | One line of text |
_text_area | Several lines of plain text |
_rich_text_editor or anything else | Formatted text |
- Images: SEOmatic uploads each image to your Media Library and saves it in the field. Set the field's return format to Image ID, the format Elementor and Divi read most reliably.
- Repeaters, groups and flexible content: SEOmatic can fill them, but Elementor and Divi dynamic content do not display repeaters on their own. Use a plain field for anything your template must show.
Elementor#
- Go to Templates, then Add New Template, and choose Single Page.
- In Page Settings, under Preview Settings, pick a post of your custom type so you design with real data.
- For each widget that changes per page, click the Dynamic Tags icon, choose ACF Field and select the matching field.
- Publish the template and set its display condition to your custom post type.
Divi#
- Go to Divi, then Theme Builder, click Add New Template and assign it to your custom post type, for example All Services.
- Edit the template body. For each module that changes per page, click the dynamic content icon next to the setting and pick the matching ACF field.
- If a field holds HTML or links, turn on Raw HTML in that dynamic content setting. Save the template.
Create the pages in SEOmatic#
- Start a new page set for your WordPress site. On the Select Content step, choose Custom (ACF custom template pages) and pick your post type.
- SEOmatic reads your ACF fields and shows one input per field. Fill each one with text or a
{{Variable}}from your data. - Generate and publish. Each page lands in your custom post type and shows through your template.
A field is missing in SEOmatic
Check that Show in REST API is on for its field group and that the group's location is your post type. Then resync the fields in SEOmatic.
Publish pages under a parent page#
WordPress pages can sit under a parent page, which gives addresses like yoursite.com/services/your-page. It groups pages into sections, feeds breadcrumbs and shows search engines how pages relate.
- Create the parent page in WordPress first. It must exist before SEOmatic can offer it.
- In your page set's fields, open the Advanced group and choose the page in Parent.
- Generate and publish as usual. Every page in this set is published under that parent.
- One parent per page set. For pages under different parents, such as Services and Locations, make one page set for each.
- Parents work for the WordPress Pages type. Posts use categories instead.
- If your theme or SEO plugin (Yoast, Rank Math) shows breadcrumbs, they follow the parent automatically.
Was this article helpful?
Still need help?Email contact@seomatic.ai with your site address and a screenshot. A person replies, usually within one business day.


