Pages Import
Import WordPress pages from a CSV, XML, or JSON file.
Step 2 maps source fields to WordPress page columns: title, content, slug, parent, template, and menu_order.
When to Use
- Setting up a new site with template pages
- Migrating pages from another CMS
- Bulk creating landing pages
- Restoring pages from a backup
Match Keys
title(default)slugid(WordPress post ID)
Column Reference
| Column | Required | Example |
|---|---|---|
id | No | 42 (for updates) |
title | Yes | About Us |
content | No | <h1>About Our Store</h1>... (HTML allowed) |
excerpt | No | Learn about our company |
status | No (default publish) | publish, draft, pending, private |
author | No | Login, email, or user ID |
date | No | 2026-04-14 10:30:00 |
slug | No | about-us |
parent | No | Parent page slug, title, or ID |
template | No | template-full-width.php or similar |
menu_order | No | 1, 2, 3 (sort order) |
featured_image | No | https://example.com/page-image.jpg |
comment_status | No | open or closed (most pages use closed) |
Example CSV
title,content,slug,parent,template,menu_order
About Us,<h1>About Our Store</h1>,about-us,,template-full-width.php,1
Our Story,<p>We started in 2010...</p>,our-story,about-us,,2
Team,<p>Meet the team</p>,team,about-us,,3
Contact,<p>Get in touch</p>,contact,,template-contact.php,4
Parent-Child Pages
To create a page hierarchy (About → Our Story, Team), use the parent column.
By Parent Title
title,parent
About Us,
Our Story,About Us
Team,About Us
By Parent Slug
title,parent
About Us,
Our Story,about-us
By Parent ID
title,parent
Our Story,42
The plugin creates parent pages first (if they do not exist), then the children.
Page Templates
Many themes include custom page templates. Use the template column to assign one.
How to Find Template Names
- Open your theme folder via FTP or WordPress file editor
- Look for files starting with
template-(e.g.,template-full-width.php) - Use the file name (with
.php) in the CSV
Common examples:
template-full-width.phptemplate-sidebar-left.phptemplate-contact.phptemplate-landing.php
If the template does not exist in the active theme, WordPress falls back to the default.
Menu Order
menu_order controls the order of pages on parent lists and in nav menus that show children.
Lower numbers appear first.
title,parent,menu_order
Home,,0
About Us,,1
Products,,2
Contact,,99
Comment Status
For pages, comments are usually closed.
title,comment_status
About Us,closed
Contact,closed
Blog Landing,open
Troubleshooting
| Problem | Fix |
|---|---|
| Parent not set | Parent page does not exist. Create parents first or import in correct order |
| Template ignored | Template file must exist in the active theme folder |
| Featured image missing | Some themes do not show page featured images. Check your theme |
| Page at wrong URL | Slug may conflict. Plugin auto-appends -2 for duplicates |
Results screen: pages created, pages updated, parent-child relationships resolved, and any template assignments that fell back because the file was missing from the active theme.
Related Pages
- Posts Import — Import WordPress blog posts
- Quick Import Wizard — How to run the import
