Ever found yourself needing to duplicate a page in WordPress but weren’t sure how to go about it? Whether you’re a web designer, developer, or just someone managing a WordPress site, duplicating pages can save you tons of time. Imagine being able to replicate a beautifully designed page or post with just a few clicks! Let’s dive into the various methods you can use to duplicate a page in WordPress.
Table of Contents
Understanding the Basics
First things first, let’s get on the same page. Duplicating a page in WordPress means creating an exact copy of an existing page. This can be super useful when you want to create similar content without starting from scratch. Think of it as a shortcut that keeps your workflow smooth and efficient.
Methods to Duplicate a Page in WordPress
There are several methods to duplicate a page in WordPress, each with its own benefits and level of complexity. We’ll cover using plugins, built-in features, and custom code to give you a variety of options to choose from.
If you are a Divi user then you can follow this Post: How to Duplicate a Page or Post in Divi.
1. Using Plugins
Plugins to the Rescue! One of the easiest ways to duplicate a page in WordPress is by using plugins. Here are a couple of popular ones:
Duplicate Post by Yoast

- Install and Activate: Head over to your WordPress dashboard, navigate to Plugins > Add New, and search for “Duplicate Post by Yoast.” Click Install and then Activate.
- Duplicate Your Page or Post: Go to Pages or Posts, hover over the page or post you want to duplicate, and click on the new “Clone” option. Boom, your page or post is duplicated!
Duplicate Page Plugin

- Install and Activate: Similar steps, but search for “Duplicate Page.“
- Duplicate Your Page or Post: Again, go to Pages or Posts, hover over the desired page or post, and click “Duplicate This.”
These plugins make duplicating pages and posts a breeze. Plus, they usually come with settings where you can tweak what gets copied over, like the title, status, and more.
2. Using Built-in WordPress Features
Manual Copy-Paste Method If you prefer to keep things simple without plugins, you can manually copy and paste your content:
- Edit the Page or Post: Open the page or post you want to duplicate in the WordPress editor.
- Copy Content: Select all the content in the editor and copy it (Ctrl+C or Cmd+C).
- Create a New Page or Post: Navigate to Pages or Posts > Add New.
- Paste Content: Paste the copied content into the new page or post editor (Ctrl+V or Cmd+V).
- Adjust Details: Update the title, URL, and any other details.
While this method works, it’s a bit more manual and might not copy over certain settings or meta-data.
3. Using Custom Code
For the Tech-Savvy Folks If you’re comfortable with a bit of coding, you can add custom code to your theme’s functions.php file to enable page and post duplication. Here’s how to do it for both:
- Access Theme Editor: Go to Appearance > Theme Editor.
- Add Code: Insert the following snippet into your functions.php file:
function rd_duplicate_post_as_draft(){
global $wpdb;
if (! ( isset($_GET['post']) || isset($_POST['post']) || ( isset($_REQUEST['action']) && 'rd_duplicate_post_as_draft' == $_REQUEST['action'] ) ) ) {
wp_die('No post to duplicate has been supplied!');
}
$post_id = (isset($_GET['post']) ? $_GET['post'] : $_POST['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 . ' (Duplicate)',
'post_type' => $post->post_type,
'to_ping' => $post->to_ping,
'menu_order' => $post->menu_order
);
$new_post_id = wp_insert_post($args);
$taxonomies = get_object_taxonomies($post->post_type);
foreach ($taxonomies as $taxonomy) {
$post_terms = wp_get_object_terms($post_id, $taxonomy, array('fields' => 'slugs'));
wp_set_object_terms($new_post_id, $post_terms, $taxonomy, false);
}
$post_meta_infos = $wpdb->get_results("SELECT meta_key, meta_value FROM {$wpdb->postmeta} WHERE post_id={$post_id}");
if (count($post_meta_infos)!=0) {
$sql_query = "INSERT INTO {$wpdb->postmeta} (post_id, meta_key, meta_value) ";
foreach ($post_meta_infos as $meta_info) {
$meta_key = $meta_info->meta_key;
$meta_value = addslashes($meta_info->meta_value);
$sql_query_sel[]= "SELECT {$new_post_id}, '{$meta_key}', '{$meta_value}'";
}
$sql_query.= implode(" UNION ALL ", $sql_query_sel);
$wpdb->query($sql_query);
}
wp_redirect(admin_url('edit.php?post_type='.$post->post_type));
exit;
} else {
wp_die('Post creation failed, could not find original post: ' . $post_id);
}
}
add_action( 'admin_action_rd_duplicate_post_as_draft', 'rd_duplicate_post_as_draft' );
function rd_duplicate_post_link( $actions, $post ) {
if (current_user_can('edit_posts')) {
$actions['duplicate'] = '<a href="admin.php?action=rd_duplicate_post_as_draft&post=' . $post->ID . '" title="Duplicate this item" rel="permalink">Duplicate</a>';
}
return $actions;
}
add_filter( 'post_row_actions', 'rd_duplicate_post_link', 10, 2 );
add_filter( 'page_row_actions', 'rd_duplicate_post_link', 10, 2 );
Save Changes: Save the file and head back to your pages or posts list. You should see a new “Duplicate” link under each page and post title.

Tips for Successful Page Duplication
Duplicating pages in WordPress can be incredibly useful, but it’s important to do it correctly to avoid potential issues. Here are some tips to ensure a smooth duplication process:
SEO Best Practices
Avoid Duplicate Content Issues: Make sure to update the title, URL, and meta descriptions to avoid duplicate content issues that might hurt your SEO. Search engines can penalize sites with duplicate content, which means your pages might not rank well.
Use Canonical Tags: If you need to have duplicate content for some reason, use canonical tags to tell search engines which version of the page is the original.
Update Content
Refresh any text, images, or links that need to be unique to the new page.
Check for Duplicates
Ensure that any duplicated scripts or styles don’t cause conflicts or slow down your site.
Troubleshooting Common Issues
Even with the best tools and practices, you might encounter some issues when duplicating pages in WordPress. Here’s how to handle common problems:
- Plugin Conflicts: Sometimes plugins can clash. If you run into issues, try deactivating other plugins to find the culprit.
- Formatting Problems: Duplicated content might not always look perfect. Double-check your new page to ensure everything is copied over correctly.
- Missing Features: If some elements didn’t copy (like custom fields), you might need to re-add them manually.
Conclusion
And there you have it! Duplicating a page in WordPress can be as easy or as complex as you need it to be. Whether you go the plugin route, stick with manual copy-pasting, or dive into custom coding, you’re now equipped with the knowledge to do it all. Just remember to watch out for duplicate content issues to keep your SEO intact. Have fun duplicating, and save yourself some precious time!
Do you have questions or tips of your own? Drop a comment below!
Thank you for thoroughly reviewing how to duplicate a page/post on a website. I especially appreciate the code snippet for modifying the functions.php file.
Is there a similarly straightforward way to duplicate a page/post from one website to another?
Hi Benjamin,
I think you can copy all the contents of one page and paste it into the new page.