Need to create an exact copy of a WordPress page? Whether you want to reuse content, create templates, or test changes safely, duplicating pages can save you tons of time. Here are four simple ways to clone any WordPress page or post.
Method 1: Using a Plugin (Easiest Way)
The simplest method for beginners:
- Install and activate the Duplicate Page plugin
- Go to Pages → All Pages in your WordPress dashboard
- Hover over the page you want to duplicate
- Click Duplicate This from the options
- Your cloned page will appear as “Copy of [Original Page Name]”
Bonus: The plugin also lets you duplicate posts and custom post types!
Method 2: Manually Copy and Paste
No-plugin method for occasional duplication:
- Edit the page you want to duplicate
- Switch to the Text/Code editor view
- Copy all the content (Ctrl+A then Ctrl+C)
- Create a new page
- Paste the content into the Text/Code editor
- Don’t forget to copy the title and SEO settings too!
Method 3: Using the Gutenberg Editor
For WordPress 5.0+ users:
- Create a new blank page
- Go to the page you want to duplicate
- Click the three-dot menu in the top-right
- Select Copy All Content
- Return to your new page and paste
Note: This copies content but not page attributes or settings.
Method 4: Duplicate with Code (For Developers)
Add this to your theme’s functions.php file:
function duplicate_post_as_draft(){
global $wpdb;
if (! ( isset( $_GET['post']) || ! ( isset( $_REQUEST['action']))
return;
$post_id = (int) $_GET['post'];
$post = get_post( $post_id );
$current_user = wp_get_current_user();
$new_post_author = $current_user->ID;
if (isset( $post ) && $post != null) {
$args = array(
'comment_status' => $post->comment_status,
'ping_status' => $post->ping_status,
'post_author' => $new_post_author,
'post_content' => $post->post_content,
'post_excerpt' => $post->post_excerpt,
'post_name' => $post->post_name,
'post_parent' => $post->post_parent,
'post_password' => $post->post_password,
'post_status' => 'draft',
'post_title' => $post->post_title.' (Copy)',
'post_type' => $post->post_type,
'to_ping' => $post->to_ping,
'menu_order' => $post->menu_order
);
$new_post_id = wp_insert_post( $args );
// Copy taxonomies and meta data too
// (Full code would continue here)
}
}
add_action( 'admin_action_duplicate_post_as_draft', 'duplicate_post_as_draft' );
Bonus: Duplicate Multiple Pages at Once
With the Bulk Page Creator plugin you can:
- Select multiple pages to duplicate
- Create variations with different titles
- Automatically update links in duplicated content
Which Method Should You Use?
Method | Best For | Difficulty |
---|---|---|
Plugin | Beginners, frequent use | ★☆☆☆☆ |
Copy/Paste | One-time duplication | ★★☆☆☆ |
Gutenberg | Content-only copying | ★☆☆☆☆ |
Code | Developers, custom needs | ★★★★☆ |
Pro Tips for Duplicating Pages
- Always check that shortcodes and embeds work in the duplicate
- Update internal links that point to the original page
- Consider using a staging site to test duplicated pages
- For eCommerce sites, be careful duplicating product pages
Troubleshooting Common Issues
Problem: Duplicate looks different than original
Solution: Check that all custom fields and meta data were copied
Problem: Plugin not working
Solution: Try a different duplication plugin like Duplicate Post
Final Thoughts
Duplicating WordPress pages is incredibly useful for maintaining consistency across your site, creating templates, or safely experimenting with design changes. While plugins offer the simplest solution, knowing multiple methods ensures you can always create copies when needed.
Which duplication method works best for you? Have any tips to share? Let us know in the comments!