WordPress Basics

How to Duplicate a Post in WordPress

WordPress basics for beginners

If you publish regularly, learning how to duplicate post layouts in WordPress lets you reuse your best formats without rebuilding them from scratch every time. Instead of rewriting headings, images, and SEO settings, you copy an existing post, duplicate post content, tweak the details, and hit publish.

In this guide, you will duplicate a post using a plugin, use manual copy methods when you cannot install plugins, and even add a small code snippet for power users. By the end, you will be able to clone any post safely without breaking your site or harming your SEO.

What You Need to Start

  • Access to your WordPress Admin area with at least Editor or Administrator permissions.
  • An existing post you want to use as a template.
  • Permission to install plugins, or access to Appearance » Theme File Editor if you plan to use code.
  • A recent site backup, especially before editing any functions.php code.
Always create a backup or use a staging site before installing new plugins or editing theme files.

Step 1: Install a Post Duplication Plugin

Using a plugin is the fastest and safest way to duplicate post layouts in WordPress. The plugin adds a Duplicate or Clone link directly to your Posts list. This makes it simple for anyone to duplicate post templates without touching code.

  1. Log in to your WordPress Admin area.
  2. In the left menu, navigate to Plugins » Add New.
  3. In the search box, type duplicate post and press Enter.
  4. Locate a reputable plugin such as Yoast Duplicate Post.
  5. Click Install Now, then click Activate when the button changes.

After you click Activate, WordPress returns you to the Plugins page and the duplication plugin is now enabled.

WordPress Plugins screen showing the Yoast Duplicate Post plugin activated, illustrating how to duplicate a post or page.
The WordPress Plugins page displays the activated Yoast Duplicate Post plugin, a popular tool for cloning content.

To verify, go to Posts » All Posts and hover over a post title. You should see a new Duplicate, Clone, or Copy to new draft link under the title.

If you are unsure about plugins in general, review Developer hooks for optimizing WordPress plugins with code to understand how plugins fit into your site setup.

Step 2: Duplicate a Post in WordPress from the Posts Screen

Once the plugin is active, you can duplicate any post directly from the main Posts list. This is ideal when you want to reuse a layout or structure across multiple articles.

  1. From the dashboard, go to Posts » All Posts.
  2. Hover your mouse over the post you want to reuse as a template.
  3. Click the new Duplicate, Clone, or Copy to new draft link that appears under the title.
  4. Wait while WordPress creates a new draft with a similar title such as “Post Title (Copy)”.
  5. Click the new draft’s title to open it in the editor.

Click the Duplicate or Copy to new draft link to create your clone automatically. Each time you need a similar article, just use the Duplicate link to duplicate post content instead of starting from scratch.

WordPress Gutenberg editor for a 'Hello world!' post, highlighting the 'Copy to a new draft' button for duplicating a post easily.
Easily duplicate posts in the WordPress Gutenberg editor using the ‘Copy to a new draft’ button.

In the editor, confirm that your content, images, categories, and tags are copied correctly. Update the title, slug, and any text or images before clicking Publish.

Never publish a duplicated post without changing the title, slug, and main content. Exact duplicates can confuse visitors and search engines.

Step 3: Duplicate a Post Without a Plugin

If you cannot install plugins, you can still duplicate post content manually by copying from one post to another. This works in both the Block Editor and Classic Editor.

  1. Go to Posts » All Posts and click the post you want to copy.
  2. In the Block Editor, click the three-dot Options menu in the top right and select Copy all blocks. In the Classic Editor, press Ctrl + A (Windows) or Cmd + A (Mac), then Ctrl + C or Cmd + C.
  3. Click Add New at the top of the Posts screen to create a new post.
  4. Click inside the content area and paste using Ctrl + V or Cmd + V.
  5. On the right side, set the same Categories and Tags as the original post if needed.

Use the Copy all blocks option in the Block Editor for a precise copy of your layout.

WordPress Gutenberg editor showing the 'Copy all blocks' option in the settings menu, useful for duplicating post content.
The ‘Copy all blocks’ option in the WordPress Gutenberg editor’s Tools menu allows for easy content duplication.

Verify that headings, images, and formatting match the original post. Then change the Post Title and Permalink before you click Publish. For more help writing your first articles, see How to create a blog on WordPress.

Step 4: Add a Custom Duplicate Post Link with Code

Developers or power users may prefer a lightweight code solution instead of another plugin. You can add a custom Duplicate link to the Posts list by placing a small function in your theme’s functions.php or a site-specific plugin. This is useful if you want to duplicate post content programmatically while keeping your site lean.

  1. In the admin menu, go to Appearance » Theme File Editor (or open your site-specific plugin file via SFTP).
  2. Select functions.php from the file list on the right.
  3. Scroll to the bottom of the file and paste the snippet below.
  4. Click Update File to save your changes.
  5. Return to Posts » All Posts and hover over a post to see the new Duplicate link.

Paste this code at the bottom of your functions.php file or inside a site-specific plugin.

WordPress Theme File Editor showing PHP code in functions.php to add a 'Duplicate Post' link, illustrating how to duplicate a post in WordPress manually.
Screenshot of the WordPress Theme File Editor displaying the PHP code snippet added to `functions.php` to enable post duplication functionality.
/**
 * Duplicate a post as draft from the Posts screen.
 */
function wpheadliner_duplicate_post_as_draft() {
    if ( ! ( isset( $_GET['post'] ) || isset( $_POST['post'] ) ) ) {
        wp_die( 'No post to duplicate has been supplied!' );
    }

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

    if ( ! $post ) {
        wp_die( 'Post not found.' );
    }

    $new_post_args = 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(),
    );

    $new_post_id = wp_insert_post( $new_post_args );

    // Copy taxonomies.
    $taxonomies = get_object_taxonomies( $post->post_type );
    foreach ( $taxonomies as $taxonomy ) {
        $terms = wp_get_object_terms( $post_id, $taxonomy, array( 'fields' => 'slugs' ) );
        wp_set_object_terms( $new_post_id, $terms, $taxonomy, false );
    }

    // Copy custom fields.
    $post_meta = get_post_meta( $post_id );
    foreach ( $post_meta as $meta_key => $values ) {
        if ( '_wp_old_slug' === $meta_key ) {
            continue;
        }
        foreach ( $values as $value ) {
            add_post_meta( $new_post_id, $meta_key, maybe_unserialize( $value ) );
        }
    }

    wp_safe_redirect( admin_url( 'post.php?action=edit&post=' . $new_post_id ) );
    exit;
}
add_action( 'admin_action_wpheadliner_duplicate_post_as_draft', 'wpheadliner_duplicate_post_as_draft' );

/**
 * Add Duplicate link to post row actions.
 */
function wpheadliner_duplicate_post_link( $actions, $post ) {
    if ( current_user_can( 'edit_posts' ) ) {
        $url = wp_nonce_url(
            'admin.php?action=wpheadliner_duplicate_post_as_draft&post=' . $post->ID,
            'wpheadliner_duplicate_post_' . $post->ID
        );
        $actions['duplicate'] = '<a href="' . esc_url( $url ) . '">' . esc_html__( 'Duplicate', 'wpheadliner' ) . '</a>';
    }
    return $actions;
}
add_filter( 'post_row_actions', 'wpheadliner_duplicate_post_link', 10, 2 );
If you make a typo in functions.php, your site can show a PHP error. Always test this change on a staging site or have FTP access ready so you can revert the file quickly.

After saving, verify that the Duplicate link appears in the Posts list and that clicking it creates a new draft copy of your post.

Quick Comparison of Post Duplication Methods

Here is a quick comparison of different ways you can duplicate or reuse post layouts in WordPress. Use it to choose the method that best fits your workflow and permissions.

Method Where You Use It Main Purpose
Duplicate Post With Plugin WordPress dashboard » Posts » All Posts Safely duplicate an entire WordPress post including layout, featured image, taxonomies, and most settings in one click.
Copy Content Without Plugin Post editor » Options menu » Copy all blocks/content Reuse the block layout of a post while creating a fresh draft manually, without installing any plugin.
Duplicate Post Builder Layout Page/post builder editor » Duplicate or Save as template Clone a post layout built with a visual builder and reuse it as a template for future blog posts or landing pages.
Clone Post on Staging Site Staging dashboard » Posts » All Posts Experiment with new layouts and cloned posts in a safe staging environment before changing the live site.
Export and Import Layouts Theme or builder tools » Export / Import Move post layouts between sites that use the same theme or builder by exporting and importing designs.

Step 5: Update SEO and Content After Duplicating

Duplicating a post is only the first step. To avoid thin or duplicate content issues, you must customize each cloned post before publishing it.

  1. Open the duplicated post in the editor.
  2. Change the Post Title so it is unique and descriptive.
  3. Edit the URL Slug under the title so it matches the new topic.
  4. Update the meta title and meta description in your SEO plugin.
  5. Rewrite key sections, headings, and images so the content provides fresh value.
  6. Review Categories and Tags so they still fit the new version.

Use your SEO plugin’s preview panel to ensure the new post has its own keywords and description.

For more on optimizing each article, read Beginner checklist optimizing WordPress blog posts and Is WordPress good for seo.

Conclusion You Are Ready to Go

You now know several ways to duplicate post layouts in WordPress. You can use a user-friendly plugin, manually copy content when plugins are not allowed, or add a lightweight code snippet that adds a Duplicate link directly to your Posts list.

By combining duplication with solid SEO and content edits, you save time while keeping every post unique and useful. Use this process as part of your regular publishing workflow so you can create consistent, high quality content faster.

Further Reading

Frequently Asked Questions

Can I duplicate posts in WordPress without a plugin

Yes. Open the original post, copy all content, then create a new post and paste the content into the editor. Set the same categories and tags if you like, then change the title, slug, and any sections that need to be unique before publishing.

Why is my Duplicate link not showing in the Posts list

First, confirm the duplication plugin is installed and activated under Plugins. Then check its settings under Settings or Tools to ensure post types are enabled for duplication. Also clear any caching plugin and browser cache, then reload the Posts screen and hover over the post title again.

Does duplicating posts hurt my SEO

Duplicating a post by itself does not hurt SEO, but publishing near identical content can. Always update the title, URL, headings, and key sections of the duplicated post so it targets a slightly different angle or keyword. Treat duplicates as templates, not as final content.

Can I duplicate custom post types the same way

Yes, most duplication plugins support custom post types, and the custom code method can be extended to them. In the plugin settings, enable duplication for the relevant post type. If you are using custom code, make sure the hook runs for that post type and test on a staging site first.

What happens to images when I duplicate a post

When you duplicate a post, WordPress usually reuses the same media library items. The new post references the same image files, so disk space is not duplicated. You can replace or remove images in the cloned post without affecting the original content.

Should I duplicate pages or posts for landing pages

For ongoing articles and blog content, duplicate posts. For static layouts like sales pages or service pages, you may want to duplicate pages instead. See your existing guides on page duplication before cloning pages, and always ensure each live URL has a unique purpose and messaging.

Related Articles

Leave a Reply

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

Back to top button