This website uses cookies

Our website, platform and/or any sub domains use cookies to understand how you use our services, and to improve both your experience and our marketing relevance.

📣 The Agency Advantage Summit is Here. Join 2,000+ digital pros for 2 days of AI-powered strategies. Register for Free →

How to Duplicate a WordPress Page or Post?

Updated on May 7, 2025

9 Min Read
How to duplicate a post

Not every page or post in WordPress needs to be built from scratch. If you’ve already designed a well-performing landing page, service layout, or blog post format, copying that structure for future use can save you hours of work.

In fact, duplicating existing content instead of rebuilding it manually can cut production time by up to 60%, especially for sites with complex layouts or recurring formats.

Whether you’re redesigning parts of your website, spinning off new content from existing material, or creating templates for clients, being able to quickly duplicate a page or post can make your workflow more efficient.

This guide breaks down two ways to do that in WordPress: using plugins and doing it manually.

Let’s get started…

Why You Might Want to Duplicate a WordPress Page or Post?

There are several good reasons for copying an existing page or post instead of starting from zero every time. Here are a few common use cases:

  • Keep your designs consistent: If you’ve nailed the layout on one page—be it a service template, a product page, or a landing page—duplicating it makes it easier to reuse that structure without reapplying every detail from scratch.
  • Speed up content creation: When you’re working on a site with multiple pages that share the same format, copying a base layout saves time. It’s far faster than building each page manually.
  • Run layout tests or content experiments: If you’re making minor changes to see what works better—like adjusting headlines, images, or CTAs—cloning a page gives you a safe copy to work from without risking your original content.
  • Translate content faster: For multilingual sites, duplicating a page gives you a clean starting point. You can translate the text while keeping the original structure intact.
  • Make changes in a safe environment: Platforms like Cloudways offer built-in staging features. This means you can duplicate a page or post, test your changes, and only push them live when you’re ready—without affecting your main site.

Note: Having identical content across multiple URLs can confuse search engines. To avoid SEO issues, set canonical tags on the version you want indexed. Most SEO plugins make that easy to manage.

WordPress management doesn’t have to be complicated

With Cloudways, handling your pages and posts is quick and stress-free. Try it free for 3 days. No credit card required.

How to Duplicate a Page or Post in WordPress [2 Methods]

You can duplicate a page or post in the plugin essentially through 2 methods—with a plugin or manually. The plugin method being the easier option.

We’ll take a look at the plugin method first and then the manual approach.

Method#1: Duplicate a Page or Post in WordPress With a Plugin

Manually duplicating a page or post might seem like the simplest route—copy the content, paste it into a new draft, and go. But that approach can be time-consuming and, in some cases, risky. It’s easy to miss critical pieces like featured images, SEO metadata, or custom layout settings. If you’re managing client work or complex templates, one overlooked detail can throw off the entire page.

A slightly more efficient method in Gutenberg is using the Copy all blocks option from the editor’s settings menu. While that saves the content within the block editor, it doesn’t carry over key elements like the featured image, template assignments, meta titles, or descriptions. You still have to fill in those gaps manually.

Add title

To avoid these extra steps, you can use a duplication plugin. One example is Duplicate Page, which has over 3 million active installs.

Duplicate pages

Here’s how to use it:

1. Install the Plugin

From your dashboard, go to Plugins Add New, search for “Duplicate Page,” then click Install Now and Activate.

Check out our guide on how to install a WordPress plugin in 3 different ways if you’re new to this.

2. Tweak the Settings

After activation, visit Settings Duplicate Page. You can specify which editor it works with and choose what status to assign to duplicates (e.g., Draft). Once you’re done tweaking the settings, click on Save Changes.

Settings, classic editor

3. Duplicate with One Click

Go to your Pages or Posts list. Under each entry, you’ll see a Duplicate This option. Clicking it creates a full copy—structure, metadata, and all—saved as a draft.

Duplicate Page

And that is it. This is how easy it is to duplicate WordPress pages and posts using a plugin.

Note: There’s a premium version of this plugin with extra features, but for most users, the free plugin covers the core needs for page and post duplication.

Method 2: Duplicate Pages or Posts Manually

If you’d rather not rely on plugins, you can add a duplicate link for posts and pages directly into your WordPress dashboard by editing your theme’s functions.php file.

Before making any changes, always back up your website. A small typo in the wrong place can break your theme. If you use Cloudways, you can create on-demand backups with just one click—no manual setup required.

Backup and restore

For this tutorial, I’ll use FileZilla to edit the functions.php file and also show you how to do the same using the built-in Theme File Editor in WordPress.

1. Connect to Your Site via FTP

Open FileZilla and connect using your FTP credentials (host, username, password, and port). I’m using Cloudways, so I’ll find my credentials in my server’s Master Credentials tab.

Master credentials

Quickconnect

2. Navigate to Your Theme Folder

  • Go to: public_html/wp-content/themes/your-active-theme-name/

Theme folder

  • Right-click on functions.php and choose View/Edit to open it in your default text editor.

View or Edit

3. Add This Custom Duplication Code

Paste the following snippet at the bottom of the file:

// Adds a “Duplicate My Post” or “Duplicate My Page” link in the admin area

function clone_post_as_draft() {

global $wpdb;

if (!isset($_GET['post']) || !isset($_GET['duplicate_nonce']) || !wp_verify_nonce($_GET['duplicate_nonce'], basename(__FILE__))) {

return;

}

$post_id = absint($_GET['post']);

$original = get_post($post_id);

if (!$original) {

wp_die('Original content not found.');

}

$current_user = wp_get_current_user();

$new_post = array(

'post_title' => $original->post_title,

'post_content' => $original->post_content,

'post_status' => 'draft',

'post_type' => $original->post_type,

'post_author' => $current_user->ID,

'post_excerpt' => $original->post_excerpt,

'post_parent' => $original->post_parent,

'menu_order' => $original->menu_order,

'comment_status'=> $original->comment_status,

'ping_status' => $original->ping_status,

);

$new_post_id = wp_insert_post($new_post);

// Copy taxonomies

$taxonomies = get_object_taxonomies($original->post_type);

foreach ($taxonomies as $taxonomy) {

$terms = wp_get_object_terms($post_id, $taxonomy, ['fields' => 'slugs']);

wp_set_object_terms($new_post_id, $terms, $taxonomy, false);

}

// Copy post meta

$meta = $wpdb->get_results("SELECT meta_key, meta_value FROM $wpdb->postmeta WHERE post_id = $post_id");

foreach ($meta as $meta_info) {

if ($meta_info->meta_key === '_wp_old_slug') continue;

add_post_meta($new_post_id, $meta_info->meta_key, maybe_unserialize($meta_info->meta_value));

}

wp_redirect(admin_url('post.php?action=edit&post=' . $new_post_id));

exit;

}

add_action('admin_action_clone_post_as_draft', 'clone_post_as_draft');

function add_clone_link($actions, $post) {

if (current_user_can('edit_posts')) {

$type_label = ($post->post_type === 'page') ? 'Duplicate My Page' : 'Duplicate My Post';

$url = wp_nonce_url('admin.php?action=clone_post_as_draft&post=' . $post->ID, basename(__FILE__), 'duplicate_nonce');

$actions['clone'] = '<a href="' . esc_url($url) . '" title="Clone this item">' . $type_label . '</a>';

}

return $actions;

}

add_filter('post_row_actions', 'add_clone_link', 10, 2);

add_filter('page_row_actions', 'add_clone_link', 10, 2);

Code image

4. Save the File and Reupload

After saving, drag and drop the file into FileZilla. It will ask you if you wanna overwrite the existing file—click OK.

5. Verify It’s Working

  • Go to the Posts or Pages section of your dashboard.
  • You should now see “Duplicate My Post” or “Duplicate My Page” options under each page and post on your site.

Duplicate my post

  • Clicking it will instantly create a new draft based on the original content.

Option 2: Use the Built-in Theme File Editor

If you can’t access your server through FTP or SSH, no worries — WordPress gives you a way to make edits directly through your dashboard.

Just head over to Appearance Theme File Editor.

Before you go ahead, you’ll notice WordPress shows a warning. It’s basically letting you know that editing theme files directly isn’t always the safest route. The recommended approach is to use a child theme so that your changes don’t get wiped out during a theme update.

Heads up

If you’re not sure how to make one, here’s a simple guide that walks you through it: How to Create a Child Theme in WordPress.

  • Go to Appearance Theme File Editor in your admin dashboard.

Theme file editor

  • From the right-hand panel, locate and select the functions.php file.

Functionphp file

  • Scroll to the bottom and paste the same code we used earlier.
  • Click Update File to save changes.

Editing astra

  • Return to your Posts or Pages dashboard and you’ll now see the ‘Duplicate My Page‘ or ‘Duplicate My Post’ option under each post/page title (in the row listing).

Draft, privacy policy

Optional: Manually Copy Content Without Editing Code

If you’d rather not touch the functions.php file or use a third-party plugin, you can manually copy content from any page or post you want to duplicate. Here’s how:

  • Open the page or post you want to copy. For example, I’ll open the About page.

About

  • Click the three-dot menu in the top-right corner and switch to Code Editor.

Code editor

  • Select all the code and copy it.

About copy

  • Create a new page or post.
  • Again, open the Code Editor and paste in the copied code.

About code copy

  • Switch back to the Visual Editor to continue editing as usual.

About

  • And as you can see, we have another identical page created.

This method works fine for the occasional copy, but if you’re trying to duplicate a lot of posts or pages, using a plugin or a simple functions.php tweak will save you a ton of time.

Wrapping Up!

Duplicating WordPress pages or posts can save you hours of work, especially if you’re working with similar layouts or testing changes.

In this guide, we looked at two straightforward ways to duplicate WordPress pages and posts: using a plugin for simplicity or manually adding code for more control.

If you need a quick solution, plugins like Duplicate Page get the job done in seconds. If you prefer keeping things lightweight, a small tweak to your theme’s functions.php file adds a one-click duplicate option.

Whichever approach you choose, having the ability to clone content means less repetitive work.

If you have any questions, let me know in the comments below and I’ll get back to you.

Q. Can I duplicate a WordPress page using code?

A. Yes, if you’re comfortable editing code, you can add a snippet to your theme’s functions.php file. This method adds a “Clone” option to your Pages and Posts screens. It’s a simple way to build the feature right into your dashboard without installing a plugin. Just remember to back up your site before making any code changes.

Q. Is there a manual way to duplicate a WordPress page or post?

A. Definitely. Open the existing page, go to the code editor, and copy everything. Create a new page or post, switch to the code view again, and paste the content. You can switch back to the visual editor once it’s pasted. This works best for one-off copies.

Q.What’s the easiest way to copy a WordPress page?

A. The quickest method is to install a plugin. Once it’s active, go to your list of pages, and you’ll see a “Duplicate” option appear below each one. Click it, and a copy will be created as a draft, ready for editing.

Share your opinion in the comment section. COMMENT NOW

Share This Article

Abdul Rehman

Abdul is a tech-savvy, coffee-fueled, and creatively driven marketer who loves keeping up with the latest software updates and tech gadgets. He's also a skilled technical writer who can explain complex concepts simply for a broad audience. Abdul enjoys sharing his knowledge of the Cloud industry through user manuals, documentation, and blog posts.

×

Webinar: How to Get 100% Scores on Core Web Vitals

Join Joe Williams & Aleksandar Savkovic on 29th of March, 2021.

Do you like what you read?

Get the Latest Updates

Share Your Feedback

Please insert Content

Thank you for your feedback!

Do you like what you read?

Get the Latest Updates

Share Your Feedback

Please insert Content

Thank you for your feedback!

Want to Experience the Cloudways Platform in Its Full Glory?

Take a FREE guided tour of Cloudways and see for yourself how easily you can manage your server & apps on the leading cloud-hosting platform.

Start my tour