Eine WordPress Seite duplizieren – so geht’s

WordPress Seiten duplizieren

WordPress gehört zu den beliebtesten Anwendungen, wenn es um das Aufbauen von Webseiten geht. Die Software macht es einfach, Inhalte zu erstellen und eine Website auf dem neusten Stand zu halten.

Obwohl WordPress zum größten Teil selbsterklärend ist, fehlt im Dashboard die Möglichkeit eine WordPress Seite zu duplizieren.

Wir erklären dir, warum es nützlich sein kann, eine gesamte Seite samt Inhalten und Layout zu kopieren und wie du dabei am besten vorgehst.

Warum sollte man eine Seite in WordPress duplizieren?

Die Antwort darauf ist einfach: Um deine Arbeit zu erleichtern, Zeit zu sparen und deine Seiten garantiert einheitlich zu gestalten.

Veröffentlichst du regelmäßige neue Seiten, hast du schon sehr viele Inhalte und auch Seiten mit unterschiedlichen Layouts zur Verfügung. Warum solltest du also jedes Mal eine Seite von Grund auf erstellen, wenn du aus schon bestehenden Seiten wählen kannst?

So kannst du den Content einfach überschreiben, während deine Standard-Einstellungen, Metadaten und Layouts schon für dich festgelegt sind.

Anwendungsbeispiele sind unter anderem Infoseiten zu deiner Services bzw. Produkten, die Seiten deiner Teammitglieder oder Testberichte auf deiner Affiliate-Website.

Plugins zum Kopieren einer WordPress Seite

Zum Duplizieren einer Seite gibt es mehrere Optionen, je nachdem welche WordPress Version oder welches Theme (Divi, Avada, Kadence etc.) du verwendest.

Die einfachste Möglichkeit ist die Benutzung von Plugins, mit deren Hilfe du mit nur einem Mausklick jede gewünschte Seite kopieren kannst.

Die Plugins sind komplett in das WordPress Dashboard eingebunden, ohne dass du dich weiter darum kümmern musst. Du solltest jedoch verfügbare Updates für die Plugins durchführen, um es auf dem neusten Stand zu halten.

Wir empfehlen dir eines der vier folgenden Plugins für das einfache Kopieren einer WordPress Seite:

Yoast Duplicate Post

Dieses Plugin ist eines der am häufigsten genutzten zum Duplizieren.

Um zu beginnen, installierst und aktivierst du Yoast Duplicate Post. Die Seiten enthalten nun die Option Duplizieren. Die gewünschte Seite wird dann als Entwurf mit demselben Namen wie die Originalseite gespeichert.

Yoast Duplicate Post Plugin
Yoast Duplicate Post Plugin

In den Einstellungen unter Duplicate Post kannst du die Voreinstellungen des Plugins einsehen. Im Unterschied zu den anderen Plugins kannst du bei Yoast Duplicate Post detailliert bestimmen, welche Seitenbereiche und Inhalte kopiert werden sollen.

Duplicate Page and Post

Wenn du nicht viele Einstellungen benötigst, sondern im Prinzip wirklich nur Seiten duplizieren möchtest, ist Duplicate Page and Post das richtige Plugin für dich.

Es ist besonders schnell und verlangsamt die WordPress Installation nicht unnötig. Duplicate Page and Post macht eben genau, was es soll: eine WordPress Seite kopieren – unkompliziert und schnell.

Nach der Installation und Aktivierung des Plugins kannst du über die Schaltfläche Duplicate eine Kopie der Seite anfertigen.

Duplicate Page and Post Plugin
Duplicate Page and Post Plugin

Das Plugin lässt sich über Einstellungen > Duplicate post konfigurieren (u.a. die Art des Editors, der Status der kopierten Seite oder der Permalink-Text).

Duplicate Page

Das Plugin Duplicate Page funktioniert ähnlich wie Yoast Duplicate Post.

Nach dem Installieren und Aktivieren erscheint bei Seiten und Beiträge die Option Duplizieren und die Seite wird als Entwurf gespeichert.

Duplicate Page Plugin
Duplicate Page Plugin

Die kostenlose Version von Duplicate Page bietet im Vergleich weniger individuelle Einstellungsmöglichkeiten als andere Plugins.

Unter Einstellungen > Duplicate Page lassen sich zum Beispiel der Editor (Klassisch oder Gutenberg) oder der Status des duplizierten Beitrags definieren.

Post Duplicator

Das letzte Plugin zum Duplizieren einer WordPress Seite, das wir vorstellen, ist Post Duplicator. Die Anwendung ist einfach und selbsterklärend.

Post Duplicator Plugin
Post Duplicator Plugin

Nach dem Installieren erscheint für jede Seite in der Seitenübersicht der Button Seite Duplizieren. Mit nur einem Klick erhältst du eine Kopie der von dir gewählten Seite mit allen Inhalten.

Die Einstellungen des Plugins verwaltest du unter Werkzeuge > Post Duplicator. Hier kannst du unter anderem den Standard-Autor oder den Titel der Kopie bestimmen.

Kopieren von Seiten mit Elementor

Eine zusätzliche Methode für das schnelle Duplizieren einer Seite (oder eines Beitrags) bieten Page Builder wie Elementor, WPBakery, Beaver Builder oder Visual Composer. Die Grundvoraussetzung ist hierbei, dass die Seite zuvor mit dem jeweiligen Page Builder erstellt wurde.

Um eine Seite mit Elementor zu kopieren, klickst du auf unter der Seite auf die Schaltfläche Mit Elementor bearbeiten.

In Elementor siehst du jetzt einen kleinen Pfeil direkt neben der Schaltfläche Speichern. Klicke auf den Pfeil und es werden dir zwei Optionen angezeigt. Klicke auf die Option Als Template speichern.

Elementor Schritt 1
Elementor Schritt 1

Gib dem neuen Template einen Namen und klicke auf die Schaltfläche Speichern, um eine Kopie dieser Seite unter Meine Templates zu speichern.

Elementor Schritt 2
Elementor Schritt 2

Verlasse Elementor und gehe zurück in das WordPress Dashboard.

Unter Seiten > Erstellen gibst du einer neuen Seite einen passenden Titel und klickst auf Mit Elementor bearbeiten.

Elementor Schritt 3
Elementor Schritt 3

Scrolle ein wenig nach unten und wähle das Ordnersymbol im Drag-and-drop Bereich.

Elementor Schritt 4
Elementor Schritt 4

Über das Ordnersymbol gelangst du zu deiner Elementor-Bibliothek. Wähle Meine Templates und du bekommst die gespeicherten Vorlagen angezeigt. Klicke auf die Schaltfläche Einfügen, die sich neben der Seite befindet, die du duplizieren möchtest.

Elementor Schritt 5
Elementor Schritt 5

Sobald du damit fertig bist, kannst du die kopierte Seite speichern.

Möglichkeiten, eine WordPress Seite ohne Plugin zu duplizieren

Möchtest du kein Plugin und keinen Page Builder verwenden, hast du natürlich andere Möglichkeiten zum Kopieren einer Seite. Dazu veränderst du den Code manuell oder kopierst den Inhalt aus einer anderen Seite. Das klingt vielleicht zunächst etwas kompliziert, ist es aber nicht unbedingt. Wir erklären dir, wie es funktioniert und worauf du achten musst.

Eine WordPress Seite kopieren via Functions.php

Um eine Seite manuell zu duplizieren, musst du den Code in der functions.php-Datei ändern. Vor dem Bearbeiten des Codes ist es ratsam, ein Backup davon zu erstellen. Um die functions.php-Datei bearbeiten zu können, verwendest du am besten ein FTP (Secure File Transfer Protocol).

Möchtest du nur die gewählte Seite duplizieren, fügst du folgenden Code am Ende der Datei ein:

/*
 * Function for post duplication. Dups appear as drafts. User is redirected to the edit screen
 */
function rd_duplicate_post_as_draft(){
  global $wpdb;
  if (! ( isset( $_GET['post']) || isset( $_POST['post'])  || ( isset($_REQUEST['action']) && 'rd_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 ad 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 two SQL queries
     */
    $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_rd_duplicate_post_as_draft', 'rd_duplicate_post_as_draft' );
/*
 * Add the duplicate link to action list for post_row_actions
 */
function rd_duplicate_post_link( $actions, $post ) {
  if (current_user_can('edit_posts')) {
    $actions['duplicate'] = '<a href="' . wp_nonce_url('admin.php?action=rd_duplicate_post_as_draft&post=' . $post->ID, basename(__FILE__), 'duplicate_nonce' ) . '" title="Duplicate this item" rel="permalink">Duplicate</a>';
  }
  return $actions;
}
add_filter( 'post_row_actions', 'rd_duplicate_post_link', 10, 2 );

Möchtest du die Option Duplizieren für alle Seiten einfügen, fügst du denselben Code hinzu – nur die letzte Zeile ändert sich:

add_filter('page_row_actions', 'rd_duplicate_post_link', 10, 2);

Abschließend speicherst du die Datei und lädst diese neu auf deinem Server hoch.

Wenn du nun zum Dashboard zurückkehrst, erscheint der Button zum Duplizieren an der jeweiligen Seite bzw. bei allen Seiten.

Eine WordPress Seite duplizieren durch manuelles Copy & Paste

Möchtest du den Code in der functions.php-Datei nicht ändern, hast du auch die Möglichkeit, den Code bzw. Inhalt zu kopieren und in der zu kopierenden Seite einzufügen.

Dafür öffnest du die Seite, die du kopieren möchtest, im WordPress Dashboard. Du wählst die Registerkarte More Tools & Options > Code-Editor aus und kopierst du den Code der Seite.

WordPress Code Editor
WordPress Code Editor

Anschließend öffnest du eine neue Seite oder einen neuen Beitrag im Dashboard. Im Code-Editor fügst du den zuvor kopierten Code ein. Um die neu erstellte Seite anzusehen, wählst du unter More Tools & Options > Visueller Editor.

WordPress Visueller Editor
WordPress Visueller Editor

Die Seite ist nun eine exakte Duplikation, der von dir ausgewählten Seite.

Zusammenfassung

Das Duplizieren einer WordPress Seite spart Zeit und stellt sicher, dass deine Website ein einheitliches Layout hat. Mit einem Plugin kannst du die Seite mit nur einem Klick kopieren, während es ohne Plugin ebenso gut funktioniert, aber ein paar mehr Klicks benötigt.

Einsteigern empfehlen wir auf jeden Fall die Benutzung eines Plugins, da es so ganz unkompliziert funktioniert.

Ähnliche Beiträge

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert