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

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

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:

  1. Install and activate the Duplicate Page plugin
  2. Go to Pages → All Pages in your WordPress dashboard
  3. Hover over the page you want to duplicate
  4. Click Duplicate This from the options
  5. 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:

  1. Edit the page you want to duplicate
  2. Switch to the Text/Code editor view
  3. Copy all the content (Ctrl+A then Ctrl+C)
  4. Create a new page
  5. Paste the content into the Text/Code editor
  6. Don’t forget to copy the title and SEO settings too!

Method 3: Using the Gutenberg Editor

For WordPress 5.0+ users:

  1. Create a new blank page
  2. Go to the page you want to duplicate
  3. Click the three-dot menu in the top-right
  4. Select Copy All Content
  5. 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!

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply

Your email address will not be published. Required fields are marked *