Jetpack 101

How to Duplicate a Page in WordPress (3 Easy Methods)

Duplicating a page in WordPress is a simple way to save time, maintain design consistency, and test new layouts or content without disrupting the original version of your site.

Whether you’re creating multiple pages with similar structures or conducting A/B testing, understanding how to duplicate pages efficiently is crucial for a smooth workflow.

This guide explains various methods, including using plugins, duplicating pages manually, and working with code. Let’s get started.

Why duplicate a page in WordPress

Duplicating pages in WordPress can helpful for:

  • Speeding up content creation: Copying an existing page allows you to quickly replicate layouts and designs, saving you a significant amount of time. For example, if you offer six different services, you may want a landing page for each that has the same overall design, but different content.
  • A/B testing: By duplicating pages, you can A/B test different versions of content or designs without affecting the original design.
  • Preserving the original page: Duplicating lets you save the original content while you experiment with new ideas, in case you want to restore it later.

Methods to duplicate a page in WordPress

There are several ways that you can duplicate a WordPress page: using a plugin, manually, and with custom code. Let’s explore each one.

1. Using a plugin

WordPress plugins offer the simplest way to duplicate a page, particularly for beginners or those seeking a quick solution. Below are three plugins that help you do this:

Jetpack

Jetpack includes a suite of helpful WordPress tools for marketing, performance, security, and more. And built into that powerful suite is the ability to duplicate pages and posts. To enable the duplication feature, go to Jetpack → Settings. Then, choose the Writing tab. Look for the option that says, “Enable the option to copy entire posts and pages, including tags and settings” and toggle that on. 

Jetpack option for Composing

To duplicate a page, go to Pages → All pages. Hover over the page you want to copy and click Copy.

option to copy a post with Jetpack

This will redirect you to the block editor, with the page copied.

Yoast Duplicate Post

The Yoast Duplicate Post plugin allows you to quickly clone pages and posts so that you can create a new page based on the original design, or save them as drafts for future editing. Here’s how you can use this tool to duplicate a page:

In your WordPress dashboard, navigate to Plugins → Add New. Search for “Yoast Duplicate Post.” Once you find it, click Install Now → Activate.

When you’re ready to duplicate a page, navigate to Pages → All Pages. Hover over the page you want to duplicate to see several options. Then, choose Clone to create a copy or New Draft to open the duplicate in the editor.

options to clone or create a new draft underneath a post

You can also duplicate pages in bulk to make your workflow faster and more streamlined. To do so, go to Pages → All Pages. Check the box next to each of the pages you want to copy.

checkboxes next to posts to duplicate in bulk

Then, from the Bulk Actions dropdown menu, choose Clone or Rewrite & Republish. Then, click Apply. 

dropdown with the option to clone, edit, move to trash, etc.

If you want to get a bit more granular and edit your duplication settings, navigate to Settings → Duplicate Post. There, you can edit options like copied elements, title prefixes/suffixes, and user permissions.

options for duplicating posts
AI

The most powerful AI tool for WordPress

Turn your ideas into ready-to-publish content at lightspeed.

Elevate your content

Duplicate Page 

The Duplicate Page plugin is another reliable option, with the ability to replicate a page or post with a single click. To use this tool, navigate to Plugins → Add New. Search for “Duplicate Page”, and click Install Now → Activate.

To duplicate a page, go to Pages → All Pages. Hover over the page you want to copy and click Duplicate this. That’s all there is to it!

Duplicate This option underneath a post

If you want to customize the settings, go to Settings → Duplicate Page. There, you can choose the editor type you want to work with, along with the default status for each copied page.

list of Duplicate Page settings

2. Manually duplicating a page

If you prefer not to use plugins, you can manually duplicate a page. This approach requires copying content and adjusting settings in WordPress.

Using the block editor:

  1. Open the page you want to duplicate in the block editor.
  2. Click the three-dot menu (located in the top-right corner).
  3. Select Copy All Blocks.
  4. Create a new page by navigating to Pages → Add New.
  5. Paste the copied blocks into the new page.
  6. Update the page title, permalink, and featured image manually.

Using the classic editor:

  1. Open the desired page in the classic editor.
  2. Switch to the Text tab to access the HTML content.
  3. Copy all the content.
  4. Create a new page by navigating to Pages → Add New.
  5. Paste the copied content into the Text tab of the new page.
  6. Adjust the page title, permalink, and any other settings.

3. Using custom code (for advanced users)

For developers or advanced users, adding custom code can create duplication functionality.

Adding a duplicate function:

  1. Access your WordPress theme’s .functions.php file:
    • Navigate to Appearance → Theme File Editor.
    • Open the .functions.php file.
  2. Add the following code snippet to the file:
function duplicate_post_as_draft(){

    global $wpdb;

    if (! (isset($_GET['post']) || isset($_POST['post']) || (isset($_REQUEST['action']) && 'duplicate_post_as_draft' == $_REQUEST['action']))) {

        wp_die('No post to duplicate has been supplied!');

    }

    // Nonce verification

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

        return;

    // Get the original post id

    $post_id = (isset($_GET['post']) ? absint($_GET['post']) : absint($_POST['post']));

    // Get the original post data

    $post = get_post($post_id);

    // Create the duplicated post

    if (isset($post) && $post != null) {

        $args = array(

            'post_content'   => $post->post_content,

            'post_excerpt'   => $post->post_excerpt,

            'post_status'    => 'draft',

            'post_title'     => $post->post_title . ' (Copy)',

            'post_type'      => $post->post_type

        );

        $new_post_id = wp_insert_post($args);

        // Duplicate all post meta

        $post_meta = $wpdb->get_results($wpdb->prepare("SELECT meta_key, meta_value FROM $wpdb->postmeta WHERE post_id=%d", $post_id));

        if (count($post_meta) != 0) {

            foreach ($post_meta as $meta) {

                add_post_meta($new_post_id, $meta->meta_key, $meta->meta_value);

            }

        }

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

        exit;

    } else {

        wp_die('Post creation failed, could not find original post.');

    }

}

add_action('admin_action_duplicate_post_as_draft', 'duplicate_post_as_draft');
  1. Save the changes and refresh your WordPress dashboard.
  2. To duplicate a post or page, hover over its title in the list view and click Duplicate.

Tips for effective page duplication

  • Review the duplicate page: Always check the duplicate to ensure that formatting, links, and images are correct.
  • Rename the page: Update the title and permalink to avoid confusion or conflicts.
  • Update SEO settings: Adjust metadata — like meta description and titles — to ensure the duplicate aligns with your SEO strategy.
  • Check the URL slug: You may need to update the URL to reflect the content of the new page.

Your next steps with WordPress page duplication

Now that you know how to duplicate a page in WordPress using plugins, manual methods, and custom code, you can choose the approach that best suits your needs.

By leveraging these techniques, you can improve efficiency, experiment safely, and maintain consistent designs across your site.

How to further enhance your efficiency with Jetpack AI Assistant

Enhance your WordPress efficiency with Jetpack AI Assistant, a powerful tool that streamlines content creation and editing. Seamlessly integrated into the WordPress editor, it offers a range of features to elevate your workflow.

Key features of Jetpack AI Assistant:

  • Content generation: Quickly produce diverse content types — including blog posts, detailed pages, structured lists, and comprehensive tables — tailored to your specific needs.
  • Adaptive tone adjustment: Customize the tone of your text to match your desired style, whether formal, conversational, humorous, or empathetic.
  • Spelling and grammar correction: Maintain professional standards with advanced spelling and grammar correction features.
  • Title and summary generation: Effortlessly create fitting titles and concise summaries for your posts, enhancing engagement and readability.
  • Multilingual translation: Reach a broader audience by translating your content into multiple languages. 

By incorporating Jetpack AI Assistant into your WordPress workflow, you can save time, improve content quality, and effectively engage a diverse audience. Experience these benefits firsthand by integrating this tool into your content creation process.

Learn more about Jetpack AI Assistant here.

This entry was posted in WordPress Tutorials. Bookmark the permalink.
WordPress Tutorials

Jen Swisher profile

Jen Swisher

Jen is a Customer Experience Specialist for Jetpack. She has been working with WordPress and Jetpack for over a decade. Before starting at Automattic, Jen helped small businesses, local non-profits, and Fortune 50 companies create engaging web experiences for their customers. She is passionate about teaching others how to create on the web without fear.

AI

The most powerful AI tool for WordPress

Turn your ideas into ready-to-publish content at lightspeed.

Elevate your content

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.