How Do I Duplicate a Page in WordPress? 4 Reliable Methods
If you have ever spent twenty minutes rebuilding a page layout you already created last week, you already understand why duplicating a page in WordPress is one of the most quietly useful skills a site owner can have. Whether you are spinning up a near-identical landing page, testing a design variation, or saving a polished layout as a starting template, duplicating a page lets you skip the tedious rebuild and jump straight to editing.
The good news is that WordPress gives you several ways to clone a page, each suited to a different situation. This guide walks through all four: duplicate-page plugins, the Gutenberg copy-all-blocks trick, a functions.php code snippet, and reusable blocks, patterns, and templates. By the end, you will know exactly which method fits your needs and what each one actually copies.
Key Takeaways
• The fastest method for most users is a duplicate-post plugin, which adds a one-click “Clone” or “Duplicate” link to your Pages list and copies the full page, including SEO meta and settings.
• The Gutenberg copy-all-blocks trick duplicates page content with zero plugins, but it does not copy page settings, template, featured image, or SEO meta.
• A functions.php snippet gives you plugin-free, one-click duplication if you prefer to avoid installing extra software.
• For layouts you reuse often, save them as a reusable block, pattern, or template instead of duplicating each time.
Why Would You Duplicate a Page in WordPress?
Before the how, it helps to understand the why. Duplicating a page is rarely about making an identical twin and walking away. It is usually the first step toward something new.
Common reasons include:
- Reusing a proven layout. If a service page or landing page converts well, clone it as the foundation for the next one instead of starting from a blank canvas.
- Creating variations. Need a page in a second language, for a different region, or for a seasonal promotion? Duplicate, then tweak.
- A/B testing. Run two versions of a page with small differences to see which performs better.
- Building templates. Standardize the structure of recurring content, such as case studies or product pages, so every new entry follows the same blueprint.
- Safe editing. Clone a live page, experiment on the copy, and only publish once you are happy, leaving the original untouched.
The key question with every method below is the same: what gets copied, and what gets left behind?
What Actually Gets Copied (and What Doesn’t)?
This is where most people get tripped up. Not every duplication method produces a true, complete copy. Here is the honest breakdown by method.
| Method | Difficulty | Copies content | Copies SEO meta | Copies settings, template, featured image | Needs a plugin |
|---|---|---|---|---|---|
| Duplicate-post plugin | Easiest | Yes | Yes | Yes | Yes |
| Gutenberg copy all blocks | Easy | Yes | No | No | No |
| functions.php code snippet | Moderate | Yes | Yes | Yes | No |
| Reusable block / pattern / template | Easy | Layout only | No | No | No |
The pattern is clear: plugins and the code method give you a full clone, while the block-copy trick and reusable patterns copy only the visible content or layout. Pick based on whether you need a complete duplicate or just the design.
How Do I Duplicate a Page with a Plugin? (Easiest Method)
For most users, a dedicated duplication plugin is the simplest and most complete option. Tools like Duplicate Page, Yoast Duplicate Post, and Duplicate Post add a “Clone” or “Duplicate” link directly to your Pages list, turning a multi-step chore into a single click.
Here is the general workflow:
- In your WordPress dashboard, go to Plugins → Add New.
- Search for a duplication plugin such as Duplicate Page or Yoast Duplicate Post.
- Click Install Now, then Activate.
- Go to Pages → All Pages. Hover over the page you want to copy.
- Click the new Clone or Duplicate link that appears under the page title.
- WordPress creates a copy, usually saved as a draft, with a name like “Page Title (Copy).”
- Open the draft, edit it, and publish when ready.
The big advantage here is completeness. A good duplication plugin copies the page content, custom fields, page template, parent assignment, and SEO metadata. If you rely on an SEO plugin to set titles and descriptions, those values carry over too, which the manual block-copy method cannot do.
Most plugins also let you configure what gets cloned and where the clone link appears, so you can fine-tune the behavior to match your workflow.
How Do I Copy All Blocks in the Gutenberg Editor? (No Plugin)
If you would rather not install anything, the Gutenberg block editor has a built-in trick that copies a page’s content in seconds. This is the fastest plugin-free option, and it works on any modern WordPress install.
Follow these steps:
- Open the page you want to copy in the block editor.
- Click the Options menu (the three vertical dots in the top-right corner).
- Select Copy all blocks. This copies the entire content area to your clipboard.
- Create a new page under Pages → Add New.
- Click into the editor body and paste (Ctrl+V on Windows, Cmd+V on Mac).
- All your blocks appear in the new page, ready to edit.
This method is genuinely quick and requires no setup. It is perfect when you just need the content and layout moved into a fresh page.
Here is the part nobody warns you about. The copy-all-blocks trick duplicates your page content with zero plugins, but it does not copy the page’s settings, template, featured image, or SEO meta. When you paste into the new page, you get the words, images, and block structure, but the new page starts with default settings: no featured image, the default template, an empty SEO title and description, and no custom fields. For a quick content clone that you intend to heavily edit anyway, that is fine. But if you need a true, full duplicate that preserves everything, reach for a duplicate-post plugin or the code method instead. Treat the block-copy trick as a content shortcut, not a faithful clone.
How Do I Duplicate a Page Using Code in functions.php?
If you prefer to avoid plugins entirely but still want the convenience of a one-click duplicate link, you can add a snippet to your theme’s functions.php file. This approach gives you the full-copy behavior of a plugin without installing one.
Important: Always add custom code to a child theme so your changes survive parent-theme updates, and back up your site before editing core theme files. A small typo in functions.php can take a site down, so edit carefully.
Here is a snippet that adds a Duplicate link to your Pages and Posts list:
“`php /** * Add a “Duplicate” link to the post/page list and handle the duplication. */ function dh_duplicate_post_as_draft() { if ( empty( $_GET[‘post’] ) || ! isset( $_GET[‘_wpnonce’] ) || ! wp_verify_nonce( $_GET[‘_wpnonce’], ‘dh-duplicate-‘ . $_GET[‘post’] ) ) { wp_die( ‘No post to duplicate or invalid request.’ ); }
if ( ! current_user_can( ‘edit_posts’ ) ) { wp_die( ‘You are not allowed to duplicate this content.’ ); }
$post_id = absint( $_GET[‘post’] ); $post = get_post( $post_id );
if ( ! $post ) { wp_die( ‘Original page not found: ‘ . $post_id ); }
$new_post_id = wp_insert_post( array( ‘post_title’ => $post->post_title . ‘ (Copy)’, ‘post_content’ => $post->post_content, ‘post_status’ => ‘draft’, ‘post_type’ => $post->post_type, ‘post_author’ => get_current_user_id(), ) );
// Copy all custom fields / meta (includes SEO meta, page template, etc.). $meta = get_post_meta( $post_id ); foreach ( $meta as $key => $values ) { foreach ( $values as $value ) { add_post_meta( $new_post_id, $key, maybe_unserialize( $value ) ); } }
// Send the user to the editor for the new draft. wp_safe_redirect( admin_url( ‘post.php?action=edit&post=’ . $new_post_id ) ); exit; } add_action( ‘admin_action_dh_duplicate_post_as_draft’, ‘dh_duplicate_post_as_draft’ );
/** * Add the “Duplicate” link to the row actions on the Pages/Posts screen. */ function dh_add_duplicate_link( $actions, $post ) { if ( current_user_can( ‘edit_posts’ ) ) { $url = wp_nonce_url( admin_url( ‘admin.php?action=dh_duplicate_post_as_draft&post=’ . $post->ID ), ‘dh-duplicate-‘ . $post->ID ); $actions[‘duplicate’] = ‘Duplicate‘; } return $actions; } add_filter( ‘page_row_actions’, ‘dh_add_duplicate_link’, 10, 2 ); add_filter( ‘post_row_actions’, ‘dh_add_duplicate_link’, 10, 2 ); “`
Once saved, a Duplicate link appears when you hover over any page or post in the admin list. Because the snippet copies all post meta, it carries over SEO data, page templates, the featured image reference, and custom fields, giving you the same full-copy result a plugin provides.
When Should You Use Reusable Blocks, Patterns, or Templates Instead?
Sometimes you do not actually want a duplicate page at all. You want a reusable layout you can drop into many pages. WordPress handles this elegantly.
- Synced patterns (reusable blocks): Save a group of blocks once and insert them anywhere. Edit the pattern in one place and every instance updates. Great for call-to-action sections or contact blocks that should stay identical site-wide.
- Unsynced patterns: Insert a saved layout as a starting point, then edit each copy independently. Ideal for a standard page structure you customize each time.
- Templates (block themes): In a block theme, build a custom page template under the Site Editor and apply it to as many pages as you like.
Choose this route when the goal is consistency and repetition rather than a one-off copy. To create a synced pattern, select your blocks, click the Options menu, choose Create pattern / Add to reusable blocks, give it a name, and it becomes available in the block inserter under Patterns.
Does My Hosting Affect How Smoothly Duplication Works?
It can. Duplication plugins read and write database records, copy meta, and sometimes process large pages built with heavy page builders. On underpowered or oversold hosting, that can feel sluggish, and editing functions.php through a cramped or unreliable file manager is a recipe for frustration.
DarazHost offers WordPress-friendly hosting built to handle this gracefully. Duplication plugins run smoothly thanks to fast SSD storage, and you get File Manager and SFTP access to add a functions.php snippet directly, ideally through a child theme as recommended above. Need to test a clone before it goes live? Staging environments let you experiment without touching your production site. And with 24/7 support, help is on hand if a snippet or plugin ever misbehaves. It is the kind of foundation that makes routine WordPress tasks feel effortless rather than fragile.
Which Duplication Method Should You Choose?
To summarize the decision:
- Want the easiest, most complete copy? Use a duplicate-post plugin.
- Avoid plugins but want a quick content clone? Use the Gutenberg copy-all-blocks trick, accepting that settings and meta will not transfer.
- Avoid plugins but need a full copy? Add the functions.php snippet in a child theme.
- Reusing a layout repeatedly? Save it as a pattern, reusable block, or template.
Match the method to your goal, and what used to be a tedious rebuild becomes a one-click, two-minute task.
Frequently Asked Questions
Does duplicating a page in WordPress also copy its URL slug? No. A duplicated page gets a new, unique slug (often the original slug with “-2” appended or a “(copy)” variation) because two published pages cannot share the same URL. You assign the final slug when you edit and publish the clone.
Will a duplicated page be published automatically? Usually not. Most plugins and the functions.php snippet create the copy as a draft, so you can review and edit it before it goes live. This is a safety feature that prevents accidental duplicate published pages.
Can I duplicate a page built with a page builder like Elementor or Beaver Builder? Yes. Most page builders include their own built-in duplicate option, and dedicated duplication plugins generally copy builder data stored in post meta. The Gutenberg copy-all-blocks trick, however, only works with native blocks, not page-builder layouts.
Does duplicating a page affect my SEO? Duplicating to create a draft you will edit is harmless. The risk only appears if you publish two nearly identical pages with the same content, which can cause duplicate-content confusion. Always change the content, slug, and meta before publishing a clone, or use a canonical tag if both must exist.
What is the difference between duplicating a page and a reusable block? A duplicate creates a separate, independent page you can edit freely. A synced reusable block is a single shared element inserted in many places; editing it updates every instance at once. Use a duplicate for one-off copies and a synced block for content that must stay identical everywhere.