How to duplicate a page in WordPress

View as Markdown

Copy a page by hand, see exactly what that loses, and learn what a real duplicate has to copy — content, meta, featured image, template, taxonomy.

WordPress has no duplicate button. Twenty years in, there is still no “copy this page” link in the pages list, no Duplicate item in the bulk actions dropdown, nothing in the editor’s tools menu. If you build pages that share a layout — service pages, location pages, landing pages, event pages — you have almost certainly rebuilt the same page from scratch more than once.

There are two honest ways to solve this. Copy the page by hand and accept what gets left behind, or install something that copies the whole record. Which one is right depends on how much of your page lives outside the words on it. Start with the manual method, because it costs nothing and it teaches you exactly what a duplicate is made of.

The copy-and-paste method

The version everyone tries first: open the page you want to copy, select everything in the editor, copy it, create a new page, paste, save as draft.

If you are in the block editor, do not select the text on the front end of your site and copy that — you will paste back rendered HTML and WordPress will guess at how to turn it into blocks. Copy from inside the editor instead. Click into the canvas, press Ctrl/Cmd + A once to select the block you are in and again to select all blocks, then copy. In the Classic editor, switch to the Text tab first, not Visual, and copy the raw HTML.

This works. In about thirty seconds you have a new draft whose body is identical to the original. It is genuinely the right answer when the page is mostly words and you only need it once.

What copy-and-paste quietly loses

The trouble is that a WordPress page is not just its content. It is one row in the posts table plus a scatter of rows in other tables, and copy-and-paste only ever touches the first field of the first row. Everything below is left behind, silently, with no warning and no error:

None of this is visible in the editor. The copy looks right, publishes fine, and then does something unexpected three weeks later. That is what makes the manual method risky at scale rather than merely slow.

Copy all blocks: the better manual route

The block editor has a shortcut worth knowing. Open the options menu — the three vertical dots at the top right of the editor — and look for Copy all blocks under Tools. One click puts the complete block markup of the page on your clipboard, exactly as WordPress stores it, comment delimiters and all. Paste it into a new page and every block returns with its attributes intact: column widths, alignments, colors, anchor IDs, block-level custom classes.

The other route to the same thing is the code editor. Press Ctrl + Shift + Alt + M to switch the editor into code view, select everything, copy, then paste into the code view of the new page and switch back. This is the most faithful manual copy available, because you are moving the stored string rather than a rendering of it.

Both routes copy the content perfectly and still copy nothing else. The list above applies unchanged. Understand that boundary and the manual method becomes a precise tool: it is a content copier, not a page copier.

What a real duplicate has to copy

If you are evaluating a plugin, or writing your own copy routine, this is the checklist. A duplicate that deserves the name reproduces:

Get those right and the copy behaves identically to the original everywhere: in the editor, in your theme, in your SEO plugin, in the front-end queries that list it.

What a duplicate must not copy

Just as important, and easier to get wrong:

Those four exclusions are the difference between a duplicate you can trust and one that puts something live behind your back.

The plugins that already do this

Two duplicate plugins dominate the WordPress directory, one on more than four million sites and the other on more than three million. Both have been around for years. Read their one-star reviews and you find two different problems, which is the useful part.

The larger of the two is the Yoast Duplicate Post family, and it copies pages correctly — it handles the checklist above about as well as anything does. Its one-star reviews are overwhelmingly not about copying. They are about upgrade banners, “rate us” notices, an onboarding screen after updates, and a settings page that keeps reintroducing itself. People are annoyed by the plugin’s manners, not its work. The same family also ships a Rewrite & Republish mode, which clones the live page, lets you edit the clone in private, and swaps it back in on save — really a way to edit a published page without taking it offline rather than to duplicate one for good.

The other big one draws a different kind of complaint. Its one-star reviews are about the copying itself: sites slowing down, permalinks coming back wrong, duplicates that are fine most of the time and occasionally a mess. That is the worse failure, because you find out about it later — usually on a page that is already live.

Annoying-but-correct and quiet-but-broken are opposite problems, and they argue for the same thing. What you want from a duplicate feature is that it does the whole job and brings nothing else with it: no banner, no wizard, no surprise in the permalink.

The shortcut

Duplicate is one of the content tools in WP Pro Admin, shipping in version 2.2.0. It adds a Duplicate link to the row actions for posts, pages, and every custom post type — one click, and you land in the editor on a complete draft copy.

It copies what the checklist above says to copy: content, title, excerpt, all meta minus the keys that should not travel, featured image, page template, every taxonomy term, parent and menu order. It leaves the slug, the status, and the date alone, so nothing goes live until you say so. Switch the feature off and there is nothing left behind in your database.

WP Pro Admin is a free download, GPL, and it will never show you an ad, an upgrade nag, or a promotional notice — a promise enforced by a test in the build, not by a paragraph on a website.

Install it, lock it, forget it.

A free WordPress plugin — GPL, instantly reversible, and updates come to you.

Type to search the whole site.