How to Duplicate a Page in WordPress
If you’re wondering how to duplicate a page in WordPress, we can help. It’s a handy feature for creating templates, testing layout changes, or preserving content structure. I use it often with ACF (Advanced Custom Fields) flexible page blocks, as many of my articles and reviews follow the same format. Just be sure to update all placeholder text accordingly.
Table of Contents
Why Duplicate a Page in WordPress?
Duplicating a page in WordPress is a great way to save time, maintain consistency, and streamline content management. It’s useful for creating templates, testing layouts, and ensuring uniform design across multiple pages. This feature is especially helpful for blogs, product pages, and landing pages, eliminating the need to rebuild layouts from scratch.
It also preserves content structure, including formatting, images, and custom fields, making it ideal for users of ACF, Elementor, or Divi. Whether you’re a site administrator, designer, or content creator, duplicating pages can greatly improve efficiency and workflow.
How to Duplicate a Page in WordPress
1. Using a Plugin
The easiest way to duplicate a page in WordPress is by using a plugin. Two popular plugins include:
- Yoast Duplicate Post – Best for advanced users with extra customization options.
- Duplicate Page – Simple and lightweight, with one-click duplication. (My preference).
Duplicate Page:
- Go to Plugins > Add New in your WordPress dashboard.
- Search for Duplicate Page and install it.
- Activate the plugin and go to Pages > All Pages or Posts > All Posts .
- Hover over the page/post you want to duplicate and click duplicate this.
- Edit the duplicated page as needed and publish it.
2. Manual Duplication
For those who prefer not to use a plugin, manually duplicating a page is an option—though not the most efficient one. This process can be especially challenging with a page builder like Divi, as layouts, custom styles, and dynamic content may not transfer seamlessly. However, if you still want to proceed, follow these steps:
- Open the existing page in the WordPress editor.
- Switch to Text/HTML mode and copy the content.
- Create a New Page under Pages > Add New.
- Paste the copied content into the new page.
- Adjust formatting, title, and permalinks as needed, then save or publish.
3. Using WordPress Functions
For developers, adding a custom function can enable a duplication feature. Insert this code in your functions.php. This code also handles ACF flexible page blocks and FAQs from the FAQ Schema plugin.
function duplicate_post_as_draft()
{
if (!isset($_GET['post'])) {
wp_die('Invalid request');
}
$post_id = absint($_GET['post']);
if (!current_user_can('edit_posts')) {
wp_die('You do not have permission to duplicate posts.');
}
$post = get_post($post_id);
if (!$post) {
wp_die('Post not found.');
}
// Prepare post data
$new_post_id = wp_insert_post([
'post_title' => $post->post_title . ' Copy',
'post_content' => $post->post_content,
'post_status' => 'draft',
'post_author' => get_current_user_id(),
'post_type' => $post->post_type,
]);
if ($new_post_id) {
// Copy metadata, including ACF fields
$meta_data = get_post_meta($post_id);
foreach ($meta_data as $key => $values) {
foreach ($values as $value) {
// Check for ACF flexible content or repeaters
if (is_serialized($value)) {
$value = unserialize($value);
}
add_post_meta($new_post_id, $key, $value);
}
}
// Copy taxonomies (categories, tags)
$taxonomies = get_object_taxonomies($post->post_type);
foreach ($taxonomies as $taxonomy) {
$terms = wp_get_object_terms($post_id, $taxonomy, ['fields' => 'ids']);
wp_set_object_terms($new_post_id, $terms, $taxonomy);
}
// Handle ACF Flexible Content & Repeaters
if (function_exists('get_field') && function_exists('update_field')) {
$fields = get_field_objects($post_id);
if ($fields) {
foreach ($fields as $field_key => $field) {
$value = get_field($field_key, $post_id);
// Ensure correct duplication of repeaters & flexible content
if ($field['type'] === 'repeater' || $field['type'] === 'flexible_content') {
update_field($field_key, $value, $new_post_id);
}
}
}
}
wp_redirect(admin_url('post.php?action=edit&post=' . $new_post_id));
exit;
} else {
wp_die('Error duplicating post.');
}
}
add_action('admin_action_duplicate_post_as_draft', 'duplicate_post_as_draft');
function add_duplicate_post_link($actions, $post)
{
if (current_user_can('edit_posts')) {
$url = admin_url('admin.php?action=duplicate_post_as_draft&post=' . $post->ID);
$actions['duplicate'] = '< a title="Duplicate this post" href="' . esc_url($url) . '">Duplicate';
}
return $actions;
}
add_filter('post_row_actions', 'add_duplicate_post_link', 10, 2);
add_filter('page_row_actions', 'add_duplicate_post_link', 10, 2);
Best Practices
Ensure unique permalinks, modify content as necessary, check SEO settings, and test before publishing. I always like to run my pages through Google’s Test your structured data tool.
Conclusion
Duplicating pages in WordPress can streamline your workflow and ensure content consistency. Choose the method that best fits your needs. If you need help, feel free to reach out—we can get you set up quickly and efficiently.
How to duplicate a page in WordPress FAQs
Can I duplicate a page in WordPress without a plugin?
Yes, you can manually duplicate a page by copying its content in the WordPress editor, creating a new page, and pasting the content. However, this method does not copy metadata, featured images, or custom fields.
What is the best plugin to duplicate a page in WordPress?
Popular plugins include Yoast Duplicate Post (for advanced duplication options) and Duplicate Page (a simple, one-click solution).
Can I duplicate a page that uses ACF or a page builder like Elementor or Divi?
Yes, but ensure you use a duplication method that preserves custom fields and page builder layouts. Some plugins may not fully copy ACF flexible content or Elementor templates.
What is ACF (Advanced Custom Fields)?
ACF (Advanced Custom Fields) is a WordPress plugin that allows users to add custom fields to posts, pages, and custom post types. It’s commonly used to create dynamic content and flexible page layouts.
What is Google’s Test Your Structured Data Tool?
Google’s Test Your Structured Data Tool is an online tool that allows webmasters to check if their website's structured data is correctly implemented. It helps identify errors and ensures that schema markup is properly formatted for search engines.
Recent Posts
How to Fix the WordPress White Screen of Death How to Fix the WordPress White Screen of Death
Seeing a white screen in WordPress when you visit your site can be alarming, but this common error—known as the...
Read More
WordPress Support: Guide for Beginners & Developers WordPress Support: Guide for Beginners & Developers
Getting WordPress help depends on the problem. A white screen of death, broken plugin, failed update, or site that won’t...
Read More
Darkstar Media Launches First Official WordPress Plugin: Dar... Darkstar Media Launches First Official WordPress Plugin: Darkstar File Manager
We are happy to announce that Darkstar Media has released its first official WordPress plugin, now available for download on...
Read More
When to Rebuild Your WordPress Site (And When to Optimize) When to Rebuild Your WordPress Site (And When to Optimize)
When to rebuild your WordPress site is a question I get asked—or have to ask myself—every time I take on...
Read More