¿Has diseñado una página de servicios con una estructura perfecta? ¿Tienes una entrada de blog con un formato que te gustaría reutilizar? Duplicar contenidos en WordPress puede ahorrarte horas de trabajo y mejorar tu flujo de creación sin necesidad de rehacerlo todo desde cero.
Tanto si gestionas un sitio web con diseños repetitivos, como si desarrollas para clientes o estás experimentando con distintas versiones de contenido, esta guía te explica cómo duplicar páginas o entradas de WordPress de dos formas: usando un plugin o manualmente, mediante código.
Las razones para duplicar una página o entrada son muchas, y aquí tienes algunas de las más comunes:
Nota SEO: Tener contenido idéntico en múltiples URLs puede afectar negativamente al posicionamiento. Utiliza etiquetas canonical en la versión que quieres indexar para evitar duplicidades.
La opción más rápida y segura, especialmente si no tienes conocimientos técnicos.
Con más de 3 millones de instalaciones activas, este plugin es sencillo, gratuito y eficaz.
⚠️ Existe una versión premium con funciones avanzadas, pero la gratuita cubre las necesidades básicas de la mayoría de los usuarios.
Si prefieres no instalar plugins, puedes añadir una funcionalidad personalizada a tu tema mediante código PHP.
⚠️ Importante: Antes de editar
functions.php, realiza una copia de seguridad del sitio. Un error en el código puede hacer que tu web deje de funcionar.
Ve a Apariencia → Editor de archivos del tema → functions.php y añade este bloque al final:
function clone_post_as_draft() {
global $wpdb;
if (!isset($_GET['post']) || !isset($_GET['duplicate_nonce']) || !wp_verify_nonce($_GET['duplicate_nonce'], basename(__FILE__))) {
return;
}
$post_id = absint($_GET['post']);
$original = get_post($post_id);
if (!$original) {
wp_die('Contenido original no encontrado.');
}
$current_user = wp_get_current_user();
$new_post = array(
'post_title' => $original->post_title,
'post_content' => $original->post_content,
'post_status' => 'draft',
'post_type' => $original->post_type,
'post_author' => $current_user->ID
);
$new_post_id = wp_insert_post($new_post);
// Copiar metadatos
$meta = $wpdb->get_results("SELECT meta_key, meta_value FROM $wpdb->postmeta WHERE post_id = $post_id");
foreach ($meta as $meta_info) {
if ($meta_info->meta_key === '_wp_old_slug') continue;
add_post_meta($new_post_id, $meta_info->meta_key, maybe_unserialize($meta_info->meta_value));
}
wp_redirect(admin_url('post.php?action=edit&post=' . $new_post_id));
exit;
}
add_action('admin_action_clone_post_as_draft', 'clone_post_as_draft');
function add_clone_link($actions, $post) {
if (current_user_can('edit_posts')) {
$url = wp_nonce_url('admin.php?action=clone_post_as_draft&post=' . $post->ID, basename(__FILE__), 'duplicate_nonce');
$actions['clone'] = '<a href="' . esc_url($url) . '">Duplicar</a>';
}
return $actions;
}
add_filter('post_row_actions', 'add_clone_link', 10, 2);
add_filter('page_row_actions', 'add_clone_link', 10, 2);
Si lo tuyo no es tocar código ni instalar plugins, puedes copiar y pegar el contenido desde el editor:
Este método es útil para duplicaciones esporádicas, aunque no conserva elementos como imágenes destacadas, categorías o configuraciones de plantilla.
Duplicar páginas o entradas en WordPress es una funcionalidad imprescindible para ahorrar tiempo, evitar errores y mantener coherencia en tu sitio web. Dependiendo de tu nivel técnico y necesidades, puedes elegir entre:
Sea cual sea tu elección, duplicar contenido correctamente te permite trabajar más rápido y con menos margen de error.
