En WordPress, existen funciones poco conocidas que te pueden ayudar a evitar más de un dolor de cabeza. Por ejemplo, saber cómo duplicar páginas en WordPress es algo fundamental si administras tu propio sitio web.
¿Por qué es tan importante? En primer lugar, te permite ahorrar tiempo importante de trabajo. Por ejemplo, podrías modificar la apariencia la página conservando los siguientes elementos:
Su configuración SEO.
Imágenes destacadas.
Y otros datos únicos de cada entrada.
En circunstancias normales, únicamente copiando y pegando el contenido a mano antes de realizar cualquier cambio, los puntos anteriores se perderían. En cambio, teniendo un duplicado de tu WordPress puedes probar los cambios que desees.
Tabla de contenidos
¿Qué es un duplicado en WordPress?
Un duplicado en WordPress es una copia exacta de un contenido —puede ser una página, una entrada o cualquier otra cosa—. Esta copia mantiene todos los elementos del contenido original, y resulta de mucha utilidad para realizar clonaciones de contenidos genéricos, así como también para llevar a cabo pruebas sin poner en peligro el contenido original.
Los pequeños cambios en tu blog te permiten realizar diferentes pruebas de rendimiento en cuanto a los comportamientos de los usuarios se refiere. Así, sabrás qué variable en particular tiene mejores resultados comparándola con otra.
¿Qué formas existen de hacer un duplicado en WordPress?
Tal y como suele ser habitual en WordPress, existen plugins específicos para esta tarea que permiten duplicar una página de forma fácil con un par de clics. Pero si prefieres hacerlo de forma manual, que sepas que también hay un procedimiento por código que te permitirá hacer un duplicado del contenido que necesitas.
Con todo lo mencionado anteriormente, ya estarás empezando a entender la importancia de conocer todas las alternativas posibles para duplicar páginas WordPress. Te comento que existen dos formas de hacerlo:
A través de plugins.
De forma manual, editando el código.
A continuación te explico cómo utilizar cada una de estas alternativas. Decide tú cuál te conviene más.
3 plugins para duplicar páginas WordPress
Te recuerdo que un plugin es una aplicación o complemento que permite agregarle a tu sitio web administrado con WordPress funciones que originalmente no tiene. El duplicado de páginas es una de esas funciones.
Existen plugins para casi cualquier cosa. Por ejemplo, aquí te presento algunos de los más importantes de cara a cualquier usuario que administra un blog o página web sobre este CMS.
Ahora, repasemos los mejores plugins para duplicar páginas que te recomiendo probar para esta tarea.
1. Duplicate Post
Duplicate Post posiblemente sea una de las alternativas más sencillas para duplicar una entrada o página. Esto se debe a que no solo te permite clonar, sino también agregar otros elementos de personalización como, por ejemplo, un prefijo o sufijo en el título.
Otro aspecto importante es que su funcionalidad se puede restringir de acuerdo con los usuarios. Es algo muy útil para definir bien las jerarquías y funciones que le corresponden a cada rol.
Para utilizarlo, sigue los siguientes pasos:
Instala el plugin en tu blog.
Selecciona la opción “Páginas” y allí “Todas las páginas”.
Coloca el cursor sobre el elemento que desees clonar. Aquí tendrás dos alternativas: “Clonar” y “Nuevo Borrador”.
En “Clonar” generarás una versión exactamente igual a la entrada/página que elegiste; en “Nuevo borrador” generarás una versión clonada del elemento y se abrirá con el editor de entradas, donde puedes editarla, guardarla como borrador o publicarla.
Tal y como puedes ver, es un plugin muy sencillo de utilizar y por eso es comprensible que ya haya sido instalado en más de tres millones de sitios web.
2. Duplicate Page and Post
Al igual que el caso anterior, Duplicate Page and Post es un plugin que está diseñado para clonar páginas o entradas de forma sencilla. En el caso concreto de este plugin, garantiza que los siguientes puntos permanezcan intactos en la copia:
Título.
Contenido.
Estilo de la entrada o página.
¿Cómo utilizarlo? Tan solo sigue los siguientes pasos:
1. Instala y activa el plugin.
2. Si quieres copiar una página, busca la opción “Páginas” y “Todas las páginas”; Para una entrada, ve a “Entradas” y allí a “Todas las entradas”.
3. Coloca el mouse sobre el elemento que quieres duplicar y presiona la opción “Clone Me!”.
4. Seguidamente serás redirigido al copia del elemento en cuestión. Haz las modificaciones que necesites y después presiona “Publicar” o “Guardar como borrador”.
3. Post Duplicator
Si los dos complementos anteriores no te convencen, prueba con esta opción: Post Duplicator. Con él, podrás crear un clon exacto de una entrada, conservando las taxonomías y los campos personalizados.
¿Cómo utilizarlo? Estos son los pasos que deberás seguir:
1. Instálalo y actívalo.
2. Coloca el cursor en el elemento que deseas copiar y presiona la opción “Duplicar entrada/Duplicar página”. Luego aparecerá con el formato “Nombre de tu entrada Copy”.
Pero un momento, ¿estas son las únicas formas de duplicar tus páginas en WordPress? No. También puedes hacerlo con ayuda de un código.
Continúa leyendo y te explicaré cómo.
El método manual para hacer un duplicado en WordPress
El método manual es una alternativa muy útil si no quieres intalar plugins en tu administrador de WordPress. Sin embargo, debo hacerte una advertencia: antes de añadir cualquier código en su archivo de funciones (function.php), realiza una copia de seguridad.
¿Cuál es el motivo para tomar esta previsión? Porque un error en el código esto podría “romper” tu sitio si hay algún error. Así protegerás toda tu información y configuración.
Dicho esto, continuemos.
Como las partes del código fuente o “snippets” que trataremos para el duplicado son extensas, te explicaré para qué funciona cada una.
1. Añadir botón de duplicado a las entradas
Como dice su nombre, esta función añadirá esta opción en las entradas, pero solo lo podrán ver y utilizar los usuarios con este permiso.
/*FUNCIÓN 1: Añadir el botón de clonar a páginas y entradas*/ function insertar_boton_duplicar($acciones,$post) { //Si el usuario tiene permisos para editar entradas y páginas, entonces puede visualizar el botón de clonar if(current_user_can('edit_posts'))$acciones['clone']='Duplicar'; return $acciones; } /* * Se añade la función a la lista de acciones de los post y páginas */ add_filter( 'post_row_actions', 'insertar_boton_duplicar', 10, 2 ); //Entradas add_filter( 'page_row_actions', 'insertar_boton_duplicar', 10, 2 ); //Paginas
2. Guardar información
Con esta estructura, crearás un borrador con los siguientes datos de la entrada:
Título.
Autor.
Meta datos.
Taxonomía.
Textos.
/* /* * FUNCION 2: Crear el borrador del contenido */ function crear_borrador($id=0){ //Comprobar que se recibe un id válido (distinto de 0). Si no es válido, se termina la función y no se realiza ninguna acción. if(!$id) return 0; //Como se ha comprobado que el id es valido se recuperan los datos del post con ese identificador y se comprueba si existe o no $post = get_post( $id ); if (isset( $post ) && $post != null) { //Se recopilan los datos que se necesitan para hacer la clonación: el usuario, el titulo, el tipo, el autor... todo lo referente al contenido a clonar. $datos = array( 'post_title' => $post->post_title, 'post_name' => $post->post_name, 'post_content' => $post->post_content, 'post_excerpt' => $post->post_excerpt, 'post_parent' => $post->post_parent, 'post_type' => $post->post_type, 'post_status' => 'draft', 'post_password' => $post->post_password, 'post_author' => $post->post_author, 'ping_status' => $post->ping_status, 'to_ping' => $post->to_ping, 'comment_status' => $post->comment_status, 'menu_order' => $post->menu_order ); //wp_insert_post inserta el contenido del objeto que se construyó con anterioridad en la base de datos $id_borrador = wp_insert_post( $datos ); //Si la inserción en la base de datos no ha sido correcta el identificador no es válido. if($id_borrador) { //Como la inserción se ha realizado correctamente. Se copian del original al borrador las taxonomías y el contenido meta. $taxonomies = get_object_taxonomies($post->post_type); foreach ($taxonomies as $taxonomy) { //Se recogen los datos $post_terms = wp_get_object_terms($post->ID,$taxonomy,array('fields'=>'slugs')); //Se asignan los datos wp_set_object_terms($id_borrador,$post_terms,$taxonomy,false); } $post_meta = get_post_meta($id); foreach($post_meta as $key=>$val) { if($key=='_wp_old_slug'){continue;} $value=addslashes($val[0]); //Se inserta el contenido meta al borrador add_post_meta($id_borrador,$key,$value); } return array('id_borrador'=>$id_borrador,'post'=>$post); } else wp_die('Error al crear el borrador del contenido.'); }else wp_die('Error al crear el duplicado. No se encuentra el contenido original'); }
3. Ejecutar la función
Esta última se encargará de cumplir todo el proceso cuando presiones el botón “Duplicar”. De hecho, abrirá una ventana nueva con el borrador del post en cuestión.
/* /* * FUNCTION 3: Finalmente se procesa el duplicado del borrador una vez que se pulsa en el botón */ function duplicar_contenido() { global $wpdb; //Se comprueba si se ha pulsado en el botón de duplicar o clonar y si se recibe la información necesaria del contenido original if (!(isset( $_REQUEST['post']) || ( isset($_REQUEST['action']) && $_REQUEST['action']== 'duplicar_contenido' ) ) ) wp_die('Error: No existe referencia al contenido que se quiere copiar'); $id_post = absint( $_REQUEST['post'] ) ; //Se comprueba que el id que se recibe es válido if($id_post > 0 ){ //Se crea el borrador $borrador = crear_borrador($id_post); //Si todo ha salido bien, al final del duplicado se redirige al usuario a la pagina de edición del borrador if($borrador) wp_redirect( admin_url( 'post.php?action=edit&post=' . $borrador['id_borrador'] ) ); else wp_die('Error al crear el borrador del contenido duplicado. No se encuentra el contenido principal' . $id_post); }else wp_die('Error al duplicar. No se encuentra el contenido original' . $id_post); } /* * Después de pulsar el botón de duplicar, se inicia la acción y se duplica el contenido. */ add_action( 'admin_action_duplicar_contenido', 'duplicar_contenido' );
Atención: cuidado con el contenido duplicado
Antes de finalizar este artículo, quiere hacerte un recordatorio y una recomendación: Google penaliza fuertemente el contenido duplicado. Es decir, dos páginas exactamente iguales, con la misma información, no tienen cabida en una misma web ante Google.
Cuando estés duplicando una página, por el propósito que fuere, ten en cuenta que puede darse el caso de que publiques alguna por error, lo cual traería problemas con tu posicionamiento. Por ello, antes de hacer ningún duplicado asegúrate de deshabilitar la opción de indexación para el contenido que va a salir duplicado.
Deja una respuesta