Cómo duplicar una pagina en WordPress con plugin y sin plugin

Clonar páginas o entradas es algo muy sencillo que nos permite reaprovechar artículos ya escritos y publicar contenido con muy pocos cambios. Si quieres aprender a hacer esto, aquí te explico cómo duplicar una página en Wordpress de 3 formas distintas: con plugins, manualmente o tocando código (si te atreves).

Duplicar páginas con plugins

La opción más cómoda y fácil para clonar tus artículos es agregando una extensión las muchas que hay para ello. Ahora, ¿Qué plugin para duplicar paginas en Wordpress es el mejor?

Vamos a ver los 3 mejores.

Consejo
Duplicar una pagina en Wordpress con un plugin no tiene ninguna ciencia ni misterio. No pierdas el tiempo buscando lo mejor de lo mejor porque la tarea a realizar es sencilla. Usa Yoast Duplciate Post, que es fácil y gratis, y pasa a tu siguiente tarea.

Yoast Duplicate Post

Yoast Duplicate Post

Yoast Duplicate Post es mi plugin favorito para duplicar páginas en Wordpress ya que es muy simple y hace la función a la perfección.

En resumen: con este plugin gratis podemos duplicar entradas o páginas con un único clic.

  • Clonación Sencilla: con un clic duplicas tanto el contenido, como el resto de elementos que componen ese artículo. Esto es, la imagen destacada, los metadatos y las optimizaciones SEO realizadas.
  • Compatible con RankMath: No necesitas usar el plugin principal de Yoast. Ésta es una extensión diferente que puedes usar teniendo Rank Math instalado.
  • Incluye otras funciones interesantes:
    • Crear rápidamente nuevas versiones de páginas de ventas para nuevos productos.
    • Hacer copias de seguridad de publicaciones y páginas importantes.
    • Expansión rápida de listados de eventos usando plantillas existentes.
  • Características personalizables: Ofrece la opción de clonar o crear un nuevo borrador directamente desde la vista general de entradas o el editor de WordPress.
  • Clonación personalizada: Permite ajustes finos en la configuración para determinar exactamente qué se duplica.
  • Gestión de Roles: Define quién dentro de tu equipo tiene acceso a las funcionalidades de duplicación, incluyendo roles de SEO introducidos por Yoast SEO.
  • Nueva funcionalidad de reescritura y publicación: Ahora podemos crear una versión duplicada para luego fusionarla con la original, manteniendo la URL y permitiendo programar estas actualizaciones.
duplicar post wordpress

Duplicate Post

clonar pagina wordpress

con más de 300.000 descargas, este plugin es tu herramienta para simplificar el proceso de trabajar con tus páginas y entradas, permitiéndote duplicar y eliminar contenido de manera rápida y sencilla.

Veamos qué hace que Duplicate Post sea tan útil:

  • Selecciona lo que quieres copiar: Este plugin te permite seleccionar exactamente lo que quieres copiar.
  • Especifica el número de copias: Puedes indicar el número de copias a generar para obtenerlas en un clic.
  • Comparaciones Lado a Lado: Ideal para crear variaciones de una página y compararlas visualmente, ayudándote a decidir cuál versión funciona mejor.
  • Gestión de Plantillas: Crea un conjunto de plantillas de página perfectas y úsalas en diferentes proyectos, optimizando tu flujo de trabajo.
  • Pruebas y Experimentación: Con Duplicate Post, puedes probar cambios en tus páginas sin perder la versión original, manteniendo una opción segura a la que volver.
  • Limpieza y Organización: Cuando llegue el momento de ordenar, Duplicate Post te facilita la eliminación de duplicados o contenido ya no necesario.
copiar pagina wordpress

Un punto importante que sí me gustaría destacar es que puedes generar varias copias con un solo clic y en base a la plantilla en la que has indicado lo que quieres llevar (título, slug, extracto...).

plugin duplicar pagina wordpress

Duplicate Page

duplicar página wordpress

Este plugin es aún más sencillo que el de Yoast y nos permite duplicar una página en Wordpress fácilmente.

Aunque es un plugin gratis, para acceder a todas las funcionalidades tienes que usar su versión premium y no le veo mucha necesidad.

  • Duplicación Fácil: Con solo un clic, puedes duplicar tus páginas, entradas y posts personalizados, guardándolos según la configuración que elijas (borrador, privado, público, pendiente).
  • Personalización a Tu Medida: Duplicate Page te ofrece varias opciones para personalizar el proceso de duplicación, adaptándose a tus necesidades específicas.
    • Roles de Usuario: Determina qué roles de usuario pueden acceder a la funcionalidad de duplicar páginas.
    • Tipos de Posts: Selecciona en qué tipos de posts aparecerá la opción de duplicar.
    • Ubicación del Enlace de Clonación: Elige dónde mostrar el enlace para clonar.
    • Estado de la Duplicación: Decide el estado de los posts duplicados.
    • Redirección: Configura la redirección tras duplicar.
    • Personalización del Enlace: Cambia el título del enlace de duplicación.
    • Prefijos y Sufijos: Añade prefijos o sufijos a tus posts duplicados.
  • Soporte y Actualizaciones Pro: Lo malo es que para funcionalidades avanzadas y soporte dedicado tienes que usar su versión de pago.
plugin duplicar paginas wordpress

Duplicar páginas manualmente

Si quieres duplicar contenido en tu web sin instalar ninguna extensión en tu panel de Wordpress, puedes hacerlo manualmente, copiando y pegando el contenido en una nueva página. No obstante, para que no pierdas nada por el camino, te indico todo aquello que no debes dejar fuera:

  • Contenido.
  • Metatitle.
  • Metadescription.
  • Slug.
  • Imagen destacada.
  • Etiquetas.
  • Categorías.
  • Personalizaciones propias de la página a través del tema o plugins como Perfmatters (sólo si aplica).

Y aquí abajo, te explico en detalle como duplicar paginas en WordPress paso a paso:

1.- Accede a la página origen de la que quieres copiar el contenido.

2.- En el menú lateral derecho, haz clic en los 3 puntos superiores y selecciona la opción de Editor de contenido.

wordpress duplicar pagina

3.- Selecciona ahora todo el contenido en la zona de edición:

duplicar página en wordpress
Duplicar página wordpress sin plugin

4.- Abre ahora una página nueva y copia el contenido antes copiado.

5.- Repite el proceso, llevando el meta title, meta description, slug, imagen destacada, etiquetas y categorías (si aplica). Así mismo, si usas algún plugin como Perfmatters o tema de Wordpress como ASAP Theme, lleva las partes específicas, como el la desactivación de H1 o migas de pan, por ejemplo.

duplicar entrada wordpress

Y de esta forma, habremos terminado de duplicar página en WordPress sin plugin.

¡No te quedes atrás en Google!

Únete a mi lista y recibe tips de SEO periódicamente.

Duplicar páginas tocando código

Vamos ya con la última forma de copiar una página o entrada. Lo que vamos a hacer es escribir en código la funcionalidad que implementaría un plugin de clonación. Para ello, lo que tienes que hacer es localizar el archivo functions.php y abajo del todo copiar el código que te indico.

Cuidado
Aquí estamos tocando a mano el código php de nuestro Wordpress por lo que haz un backup antes de tu web y del propio archivo functions.php.

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'] ) );
    /*
     * and all the original post data then
     */
    $post = get_post( $post_id );

    /*
     * if you don't want current user to be the new post author,
     * then change next couple of lines to this: $new_post_author = $post->post_author;
     */
    $current_user = wp_get_current_user();
    $new_post_author = $current_user->ID;

    /*
     * if post data exists, create the post duplicate
     */
    if (isset( $post ) && $post != null) {

        /*
         * new post data array
         */
        $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,
            'post_type'      => $post->post_type,
            'to_ping'        => $post->to_ping,
            'menu_order'     => $post->menu_order
        );

        /*
         * insert the post by wp_insert_post() function
         */
        $new_post_id = wp_insert_post( $args );

        /*
         * get all current post terms and set them to the new post draft
         */
        $taxonomies = get_object_taxonomies($post->post_type); // returns array of taxonomy names for post type, ex array("category", "post_tag");
        foreach ($taxonomies as $taxonomy) {
            $post_terms = wp_get_object_terms($post_id, $taxonomy, array('fields' => 'slugs'));
            wp_set_object_terms($new_post_id, $post_terms, $taxonomy, false);
        }

        /*
         * duplicate all post meta just in one SQL query
         */
        $post_meta_infos = $wpdb->get_results("SELECT meta_key, meta_value FROM $wpdb->postmeta WHERE post_id=$post_id");
        if (count($post_meta_infos)!=0) {
            $sql_query = "INSERT INTO $wpdb->postmeta (post_id, meta_key, meta_value) ";
            foreach ($post_meta_infos as $meta_info) {
                $meta_key = $meta_info->meta_key;
                if( $meta_key == '_wp_old_slug' ) continue;
                $meta_value = addslashes($meta_info->meta_value);
                $sql_query_sel[]= "SELECT $new_post_id, '$meta_key', '$meta_value'";
            }
            $sql_query.= implode(" UNION ALL ", $sql_query_sel);
            $wpdb->query($sql_query);
        }


        /*
         * finally, redirect to the edit post screen for the new draft
         */
        wp_redirect( admin_url( 'post.php?action=edit&post=' . $new_post_id ) );
        exit;
    } else {
        wp_die('Post creation failed, could not find original post: ' . $post_id);
    }
}
add_action( 'admin_action_duplicate_post_as_draft', 'duplicate_post_as_draft' );

/*
 * Add the duplicate link to action list for post_row_actions
 */
function duplicate_post_link( $actions, $post ) {
    if (current_user_can('edit_posts')) {
        $actions['duplicate'] = '<a href="' . wp_nonce_url('admin.php?action=duplicate_post_as_draft&post=' . $post->ID, basename(__FILE__), 'duplicate_nonce' ) . '" title="Duplica tu contenido sin plugin" rel="permalink">Duplicate by SC</a>';
    }
    return $actions;
}

add_filter( 'post_row_actions', 'duplicate_post_link', 10, 2 );
add_filter( 'page_row_actions', 'duplicate_post_link', 10, 2 );

El archivo functions.php lo encontrarás en Apariencia > Funciones del tema.

como duplicar pagina en wordpress

Guardamos el cambio y si ahora vamos a páginas o entradas, nos aparecerá una opción con la que duplicar las páginas:

duplicar página wordpress sin plugin
Cuidado
El arhicvo functions.php es propio del tema Wordpress que estés usando por lo que si lo actualizas perderás el código implementado. Para evitar que esto ocurra, valora crear un tema hijo.

Y con esto ya hemos terminado de ver como duplicar una pagina de WordPress. Escoge la opción que mas te haya gustado y clona tanto contenido como quieras.

Sergio Canales SEO

Si has llegado hasta aquí… ¡Apúntate a mi Newsletter y sigue aprendiendo cada semana sobre SEO!

Sergio Canales

Ingeniero industrial y amante del SEO para nichos. Me encanta crear proyectos, posicionarlos y monetizarlos

Subir