Hoe dupliceer je pagina’s in WordPress met een plug-in en handmatig
Als je WordPress gebruikt, kan het om verschillende redenen nodig zijn om een bericht of pagina te dupliceren. Of het nu gaat om het snel bijwerken van inhoud of het handhaven van een specifieke lay-out voor nieuwe pagina’s, als je weet hoe je inhoud op meerdere pagina’s kunt reproduceren, dan kun je je workflow stroomlijnen.
Deze tutorial behandelt op plug-in-gebaseerde benaderingen en handmatige methoden om efficiënt een nieuwe pagina of bericht te maken op basis van bestaande inhoud.
We bekijken ook verschillende scenario’s waarin deze werkwijze van pas komt en geven tips voor het dupliceren van een WordPress pagina zodat het proces soepel verloopt. Laten we beginnen.
Hoe Dupliceer je Pagina’s en Berichten met een WordPress Plug-in
Handmatig kopiëren en plakken van je WordPress pagina of post is mogelijk. Hoewel de blokeditor beschikt over een optie om alle blokken te kopiëren, schiet deze tekort voor het dupliceren van pagina’s en berichten.
Als je handmatig een post of pagina kopieert, wordt alleen de tekstinhoud gekopieerd. Je zult template-onderdelen, afbeeldingen en SEO-elementen zoals metabeschrijvingen en titeltags afzonderlijk moeten kopiëren. Het proces is tijdrovend, vooral als je meerdere WordPress berichten, pagina’s of aangepaste type berichten kloont.
Je kunt dit probleem voorkomen door een plug-in voor dubbele berichten te gebruiken. Deze tool vereenvoudigt het duplicatieproces en minimaliseert menselijke fouten.
Zo dupliceer je een bericht in WordPress met behulp van Pagina Dupliceren:
- Installeer en activeer Pagina Dupliceren vanuit de WordPress plug-in directory. Andere manieren om de plug-in te installeren zijn het gebruik van een FTP client en het handmatig uploaden van de plug-in bestanden via je administratie dashboard.
- Ga naar Instellingen →Kopieer Pagina om de instellingen van de plug-in te configureren. Voor deze tutorial maken we het beschikbaar in de klassieke editor en Gutenberg. De plug-in kent een Concept status toe aan alle gedupliceerde inhoud en stuurt je vervolgens door naar de lijst met posts, zodra het proces is voltooid.
- Navigeer naar Berichten→Alle berichten in je WordPress dashboard en zoek de knop Dupliceer dit onder ieder bericht. Klik erop om een exacte replica van je gekozen bericht te maken als een nieuw concept.
Kopieer Pagina is een gratis plug-in, dus overweeg om te upgraden naar Pro om de premium functies te ontgrendelen. Als je de licentie voor €15/website koopt, beperk je de toegang tot de plug-in op basis van gebruikersrollen, het wijzigen van de locatie van de gedupliceerde pagina, en het instellen van een standaard voor- en achtervoegsel voor je gekopieerde pagina-items.
Als Kopieer Pagina niet aan je behoeften voldoet, overweeg dan andere populaire plug-in opties:
- Yoast Duplicate Post. Met Yoast Duplicate Post, ontwikkeld door het team achter de populaire SEO-plugin, kun je meerdere items klonen met de Bulk editor functie.
- Post Duplicator. Deze plug-in ondersteunt aangepaste type berichten, samen met aangepaste classificaties en velden, waardoor het ideaal is voor alle soorten, formaten en niches binnen WordPress.
- Duplicate PP. Met deze plug-in kun je inhoud dupliceren vanuit het administratieve dashboard aan de achterkant of via de enkele berichtweergave aan de voorkant.
- Duplicate Post. Naast het klonen van berichten, identificeert en verwijdert deze WordPress duplicate plug-in gekopieerde inhoud binnen een paar klikken.
Hoe kun je Pagina’s en Berichten handmatig Dupliceren
Naast het gebruik van plug-ins, kun je een duplicatie link activeren in de secties Pagina’s en Berichten door het bestand functions.php aan te passen. Je kunt dit bestand vinden in wp-includes, een kernmap binnen je WordPress site.
Er zijn vier tools beschikbaar voor het bewerken van het bestand functions.php: bestandsbeheer van je webhost, een FTP-client zoals FileZilla, een HTML-code-editor of de ingebouwde WordPress-editor.
De FTP-client methode houdt in dat je een FTP-account aanmaakt en verbindt met de server. Wij adviseren het opzetten van een FileZilla FTP-verbinding omdat deze veelgebruikte FTP-client relatief eenvoudig te bedienen is.
Ondertussen is de ingebouwde WordPress editor toegankelijk via Appearance→Theme File Editor vanuit je WordPress dashboard.
Als je bekend bent met coderen, is het gebruik van een HTML-editor misschien wel de handigste methode. De meeste code-editors bevatten spellingscontrole en error opsporing functies, zodat je code functioneel en schoon is.
Belangrijk! Maak een back-up van je hele website voordat je WordPress-bestanden bewerkt om gegevensverlies te voorkomen.
In deze tutorial configureren we het bestand functions.php met behulp van Hostinger Bestandsbeheer. Open eerst de tool voor bestandsbeheer door naar Bestanden→Bestandsbeheerte navigeren vanuit hPanel. Selecteer Toegang tot bestanden van jouw domeinnaam om specifiek toegang te krijgen tot de onderdelen van je WordPress website.
Zoek het bestand functions.php in public_html→wp-includes. Klik met de rechtermuisknop op het bestand en selecteer Bewerken, of dubbelklik om het te wijzigen.
Plak het volgende codefragment onderaan je functions.php-bestand:
/*
* 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 );
De aangepaste code hierboven voegt een duplicatie-link toe aan de sectie Berichten. Als het proces succesvol is, zou de link onder elk bericht moeten verschijnen. Klik op Kopiëren om de invoer te kopiëren als een nieuw concept.
Om de Kopieer-functie aan de sectie Pagina’s toe te voegen, hoef je alleen nog de laatste regel van de bovenstaande code te vervangen door het volgende fragment:
add_filter('page_row_actions', 'rd_duplicate_post_link', 10, 2);
Op dezelfde manier kun je op de link klikken om een WordPress pagina te dupliceren als een nieuw concept.
Waarom zou je een bericht of pagina dupliceren in WordPress
Hier zijn enkele veelvoorkomende redenen om een pagina te in WordPress te dupliceren:
- A/B testen. In plaats van een nieuwe pagina helemaal opnieuw te maken, kun de originele pagina dupliceren zodat je snel kleine aanpassingen kunt maken.
- Het ontwerpproces stroomlijnen. Als je een nieuwe site bouwt, bespaart dupliceren je het herhaaldelijk opnieuw aanmaken van pagina’s. Het gebruik van tools zoals de Yoast Duplicate Post plug-in vereenvoudigt het proces nog meer.
- Optimaliseren van consistente paginaopmaak. Het dupliceren van een bestaande pagina zorgt ervoor dat de opmaak, stijl en opmaak consistent blijven. Dit is vooral handig als je met een aangepaste pagina template werkt, zodat verschillen in ontwerp worden geëlimineerd.
- Een staging-omgeving bouwen. Hoewel dit niet wordt aanbevolen voor het volledig testen en ontwikkelen van websites, kunt je een gedupliceerd bericht of pagina maken om te experimenteren met content als alternatief voor het maken van een staging site.
- Meertalige content creëren Als je site meertalige inhoud bevat, bieden kloonpagina’s een goed startpunt voor vertalingen. Je behoudt het oorspronkelijke ontwerp en de structuur terwijl je de tekst aanpast aan verschillende talen.
Hoewel het dupliceren van een pagina of bericht nuttig kan zijn, is het voor WordPress SEO niet verstandig om meerdere identieke pagina’s op je site te hebben. Wanneer meerdere URL’s naar dezelfde inhoud leiden, zullen zoekmachines de eerst gepubliceerde URL kiezen als de canonieke versie en de kopieën minder vaak crawlen.
Optimaliseer je URL’s door canonieke tags toe te wijzen aan pagina’s die prioriteit moeten krijgen in zoekmachines. Gelukkig bieden de meeste SEO plug-ins functies om canonieke URL’s in te stellen.
Gebruikers met websites die draaien op Hostinger’s WordPress Business plan of hoger kunnen gebruik maken van de ingebouwde staging tool. Je kunt posts en pagina’s dupliceren voor A/B-tests en de berichten en pagina’s die je wilt behouden overzetten naar de live site, waardoor je tijd bespaart bij het consolideren van dubbele inhoud.
Conclusie
Of je nu je ontwerpproces wilt stroomlijnen of innovatieve inhoud wilt creëren, de mogelijkheid om een WordPress pagina of bericht te dupliceren is van onschatbare waarde.
In dit artikel hebben we twee manieren onderzocht om een pagina in WordPress te dupliceren:
- Het gebruik van een WordPress plug-in voor het dupliceren van berichten. Deze methode is gebruiksvriendelijk voor beginners en geschikt voor het kopiëren van een groot aantal pagina’s.
- Het toevoegen van aangepaste code aan het bestand functions.php. Deze methode is handig als je geen toegang hebt tot je beheerdersdashboard of als je meer vrijheid wilt bij het aanpassen van de duplicate post link.
Hopelijk heeft dit artikel je geholpen om te begrijpen hoe je WordPress-pagina’s op een efficiënte manier kunt dupliceren en welke voordelen dit kan opleveren voor je workflow bij het bouwen van websites. Als je nog vragen hebt, bekijk dan de FAQ-sectie of plaats deze in de opmerkingen hieronder.
Hoe Duplicer je pagina’s in WordPress FAQ
In deze sectie worden de meest gestelde vragen behandeld over het dupliceren van een pagina in WordPress.
Kan ik een bericht of pagina dupliceren in WordPress
Dat kan zeker. Je kunt pagina-inhoud handmatig kopiëren, een WordPress duplicaatpagina plugin gebruiken of aangepaste code toevoegen aan het functions.php bestand van de site. Kies de methode die het beste aansluit bij jouw behoeften en technische kennis.
Waarom zou ik een pagina of bericht dupliceren in WordPress
Het dupliceren van een WordPress pagina of bericht maakt het uitvoeren van A/B testen eenvoudiger, stroomlijnt het website-bouwproces en helpt bij het behouden van consistente paginaopmaak op de hele site. Gedupliceerde content is ook handig als beginpunt voor vertalingen en tijdelijke oplossingen voor staging.
Zorgt het dupliceren van een pagina of bericht in WordPress voor SEO problemen
Het kopiëren van pagina’s of berichten kan leiden tot SEO-problemen vanwege meerdere identieke URL’s. Zoekmachines geven de voorkeur aan de originele pagina als canonieke pagina en crawlen kopieën veel minder. Stel canonieke tags in met behulp van SEO-plugins om specifieke pagina’s te prioriteren. Een alternatief is het maken van een staging-website voor A/B-tests en het overzetten van inhoud om dit probleem volledig te omzeilen.
Wat is het verschil tussen klonen en dupliceren in WordPress
Binnen WordPress betekent een kloon een exacte kopie van de inhoud, terwijl een duplicaat een nieuwe invoer is met data van een bestaande pagina.