{"id":235738,"date":"2025-05-30T03:18:25","date_gmt":"2025-05-30T03:18:25","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/bulk-page-duplicator\/"},"modified":"2026-08-13T10:24:49","modified_gmt":"2026-08-13T10:24:49","slug":"bulk-page-duplicator","status":"publish","type":"plugin","link":"https:\/\/it.wordpress.org\/plugins\/bulk-page-duplicator\/","author":16419111,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.1","stable_tag":"1.1.1","tested":"7.0.4","requires":"5.0","requires_php":"7.2","requires_plugins":null,"header_name":"Bulk Page Duplicator","header_author":"Nazim Husain","header_description":"Create multiple pages by duplicating an existing page and replacing specific text with different values.","assets_banners_color":"797aa7","last_updated":"2026-08-13 10:24:49","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/buymeacoffee.com\/nazim848","header_plugin_uri":"","header_author_uri":"https:\/\/nazimansari.com","rating":5,"author_block_rating":0,"active_installs":400,"downloads":2791,"num_ratings":2,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"nazim848","date":"2025-05-30 03:18:07"},"1.0.1":{"tag":"1.0.1","author":"nazim848","date":"2026-01-29 05:24:37"},"1.1.0":{"tag":"1.1.0","author":"nazim848","date":"2026-02-02 11:26:54"},"1.1.1":{"tag":"1.1.1","author":"nazim848","date":"2026-08-13 10:24:49"}},"upgrade_notice":{"1.1.1":"<p>Security, data-integrity, rollback, compatibility, and large-site performance fixes.<\/p>","1.1.0":"<p>Major release with Dry Run preview, CSV import, rollback history, taxonomy assignment, and improved builder support.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":2},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3645195,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3645195,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3645195,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3645195,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{"blueprint.json":{"filename":"blueprint.json","revision":3645250,"resolution":false,"location":"assets","locale":"","contents":"{\"landingPage\":\"\\\/wp-admin\\\/tools.php?page=bulk-page-duplicator\",\"preferredVersions\":{\"php\":\"8.3\",\"wp\":\"latest\"},\"phpExtensionBundles\":[\"kitchen-sink\"],\"steps\":[{\"step\":\"login\",\"username\":\"admin\",\"password\":\"password\"},{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"bulk-page-duplicator\"},\"options\":{\"activate\":true}}]}"}},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.1.0","1.1.1"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[67861,2814,9055,50184,24951],"plugin_category":[],"plugin_contributors":[240994],"plugin_business_model":[],"class_list":["post-235738","plugin","type-plugin","status-publish","hentry","plugin_tags-bulk-duplicate","plugin_tags-clone","plugin_tags-duplicate","plugin_tags-duplicate-pages","plugin_tags-page-duplicator","plugin_contributors-nazim848","plugin_committers-nazim848"],"banners":{"banner":"https:\/\/ps.w.org\/bulk-page-duplicator\/assets\/banner-772x250.png?rev=3645195","banner_2x":"https:\/\/ps.w.org\/bulk-page-duplicator\/assets\/banner-1544x500.png?rev=3645195","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/bulk-page-duplicator\/assets\/icon-128x128.png?rev=3645195","icon_2x":"https:\/\/ps.w.org\/bulk-page-duplicator\/assets\/icon-256x256.png?rev=3645195","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Bulk Page Duplicator helps you publish template-based content faster without manual copy\/paste. Select a template item, define placeholder text, add replacement values, and generate multiple items in one run.<\/p>\n\n<h4>Who this is for<\/h4>\n\n<ul>\n<li>Agencies building location or service pages at scale.<\/li>\n<li>Site owners creating many similar pages, posts, or custom post types.<\/li>\n<li>Teams using Elementor, Beaver Builder, or Bricks that need consistent template duplication.<\/li>\n<li>SEO workflows that need metadata copied and replaced across many items.<\/li>\n<\/ul>\n\n<h4>What you can do<\/h4>\n\n<ul>\n<li>Duplicate any public post type (including custom post types).<\/li>\n<li>Replace one or multiple placeholders across title, slug, and content.<\/li>\n<li>Import replacement values from <code>.csv<\/code> or <code>.txt<\/code>, or paste values line by line.<\/li>\n<li>Choose output status (Publish or Draft).<\/li>\n<li>Set parent page behavior for hierarchical post types.<\/li>\n<li>Copy featured image to all created items.<\/li>\n<li>Assign taxonomy terms (such as categories and tags) to all generated items.<\/li>\n<li>Export duplication results as CSV for reporting.<\/li>\n<\/ul>\n\n<h4>Why it is safer and faster<\/h4>\n\n<ul>\n<li>Dry Run preview shows what will be created before writing content.<\/li>\n<li>Existing slugs are automatically skipped to prevent duplicates.<\/li>\n<li>Real-time progress includes current item, percent complete, and ETA.<\/li>\n<li>Cancel in-progress operation from the UI.<\/li>\n<li>Recent operation history supports rollback (bulk delete created items).<\/li>\n<li>Saved user preferences reduce repeated setup.<\/li>\n<\/ul>\n\n<h3>How It Works<\/h3>\n\n<ol>\n<li>Go to <code>Tools &gt; Bulk Page Duplicator<\/code>.<\/li>\n<li>Choose a post type and select the template item.<\/li>\n<li>Enter placeholder text:\n\n<ul>\n<li>Single placeholder example: <code>London<\/code><\/li>\n<li>Multiple placeholder example: <code>London, UK<\/code><\/li>\n<\/ul><\/li>\n<li>Add replacement values in the textarea or import CSV\/TXT.<\/li>\n<li>Select where replacements should be applied (title, slug, content, builder data, SEO data).<\/li>\n<li>Optionally set status, parent page, taxonomy terms, and featured image behavior.<\/li>\n<li>Click <code>Dry Run (Preview)<\/code> to validate expected output.<\/li>\n<li>Click <code>Start Duplication<\/code> to generate items in batches.<\/li>\n<li>Review Results Log, filter statuses, export CSV, and use Recent Operations for rollback if needed.<\/li>\n<\/ol>\n\n<h3>Feature Highlights<\/h3>\n\n<h4>Bulk generation core<\/h4>\n\n<ul>\n<li>Batch duplication workflow for large value sets.<\/li>\n<li>Supports pages, posts, and any public custom post type.<\/li>\n<li>Automatic skip when a generated slug already exists.<\/li>\n<\/ul>\n\n<h4>Smart replacement behavior<\/h4>\n\n<ul>\n<li>Multiple placeholders supported in one run.<\/li>\n<li>Case-aware replacement behavior for more natural output.<\/li>\n<li>Slug-safe handling for multi-word placeholders and replacement values.<\/li>\n<\/ul>\n\n<h4>Builder and SEO integrations<\/h4>\n\n<ul>\n<li>Page builder support:\n\n<ul>\n<li>Elementor<\/li>\n<li>Beaver Builder<\/li>\n<li>Bricks<\/li>\n<\/ul><\/li>\n<li>SEO metadata replacement support:\n\n<ul>\n<li>Yoast SEO<\/li>\n<li>Rank Math<\/li>\n<li>All in One SEO<\/li>\n<li>SEOPress<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<h4>Workflow productivity<\/h4>\n\n<ul>\n<li>Searchable template selector with status, thumbnail, and metadata.<\/li>\n<li>Placeholder and values validation feedback.<\/li>\n<li>Dry Run summary with create vs skip counts.<\/li>\n<li>Browser completion notifications (when permission is granted).<\/li>\n<li>Results summary, filtering, and CSV export.<\/li>\n<\/ul>\n\n<h4>Recovery and control<\/h4>\n\n<ul>\n<li>Recent operation history with timestamp and counts.<\/li>\n<li>Rollback action to delete items created by an operation.<\/li>\n<li>User preferences persisted for faster repeat runs.<\/li>\n<\/ul>\n\n<h3>CSV\/TXT Format Guide<\/h3>\n\n<h4>Single placeholder<\/h4>\n\n<p>If placeholder is <code>London<\/code>, use one value per line:<\/p>\n\n<pre><code>New York\nParis\nChicago\n<\/code><\/pre>\n\n<h4>Multiple placeholders<\/h4>\n\n<p>If placeholders are <code>London, UK<\/code>, each line must provide matching comma-separated values:<\/p>\n\n<pre><code>New York, USA\nParis, France\nToronto, Canada\n<\/code><\/pre>\n\n<h4>Validation rules<\/h4>\n\n<ul>\n<li>For multi-placeholder mode, each line should contain the same number of values as placeholders.<\/li>\n<li>Empty lines are ignored.<\/li>\n<li>Duplicate values are flagged in validation feedback.<\/li>\n<\/ul>\n\n<h3>Compatibility<\/h3>\n\n<ul>\n<li>WordPress: 5.0+<\/li>\n<li>Tested up to: 7.0<\/li>\n<li>PHP: 7.2+<\/li>\n<li>Works with public post types (excluding attachments in selector).<\/li>\n<li>Supports taxonomy assignment for the selected post type.<\/li>\n<li>Page builders: Elementor, Beaver Builder, Bricks.<\/li>\n<li>SEO plugins: Yoast SEO, Rank Math, All in One SEO, SEOPress.<\/li>\n<\/ul>\n\n<h3>Usage Tips<\/h3>\n\n<ul>\n<li>Use unique placeholders (for example <code>CITYNAME<\/code>) to avoid accidental replacements.<\/li>\n<li>Start with <code>Draft<\/code> status for review workflows.<\/li>\n<li>Use Dry Run before large batches.<\/li>\n<li>Keep the browser tab open during long runs for progress updates.<\/li>\n<li>Use Recent Operations to rollback quickly if required.<\/li>\n<\/ul>\n\n<h3>License<\/h3>\n\n<p>Bulk Page Duplicator is free software released under the GPLv2 or later.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code> or install via the WordPress Plugins screen.<\/li>\n<li>Activate <code>Bulk Page Duplicator<\/code> from <code>Plugins<\/code>.<\/li>\n<li>Go to <code>Tools &gt; Bulk Page Duplicator<\/code>.<\/li>\n<li>Select your template and start generating content.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"can%20i%20duplicate%20custom%20post%20types%20%28cpts%29%3F\"><h3>Can I duplicate custom post types (CPTs)?<\/h3><\/dt>\n<dd><p>Yes. The plugin supports any public post type.<\/p><\/dd>\n<dt id=\"does%20it%20skip%20duplicate%20slugs%3F\"><h3>Does it skip duplicate slugs?<\/h3><\/dt>\n<dd><p>Yes. If a generated slug already exists for that post type, the item is skipped and logged.<\/p><\/dd>\n<dt id=\"can%20i%20preview%20before%20creating%20content%3F\"><h3>Can I preview before creating content?<\/h3><\/dt>\n<dd><p>Yes. Use <code>Dry Run (Preview)<\/code> to see totals, created\/skipped counts, titles, and slugs.<\/p><\/dd>\n<dt id=\"can%20i%20undo%20a%20bulk%20operation%3F\"><h3>Can I undo a bulk operation?<\/h3><\/dt>\n<dd><p>Yes. Recent Operations includes rollback to delete items created by a recorded operation.<\/p><\/dd>\n<dt id=\"who%20can%20use%20this%20plugin%20screen%3F\"><h3>Who can use this plugin screen?<\/h3><\/dt>\n<dd><p>Users with administrative capability (<code>manage_options<\/code>) can run duplication actions.<\/p><\/dd>\n<dt id=\"does%20this%20work%20with%20page%20builders%3F\"><h3>Does this work with page builders?<\/h3><\/dt>\n<dd><p>Yes. It supports Elementor, Beaver Builder, and Bricks data replacement when present.<\/p><\/dd>\n<dt id=\"does%20this%20work%20with%20seo%20plugins%3F\"><h3>Does this work with SEO plugins?<\/h3><\/dt>\n<dd><p>Yes. It supports metadata replacement for Yoast SEO, Rank Math, All in One SEO, and SEOPress.<\/p><\/dd>\n<dt id=\"is%20the%20plugin%20translation%20ready%3F\"><h3>Is the plugin translation ready?<\/h3><\/dt>\n<dd><p>Yes. The plugin uses the <code>bulk-page-duplicator<\/code> text domain and includes a POT file in <code>languages\/<\/code>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Hardened AJAX authorization and output handling.<\/li>\n<li>Fixed rollback tracking for concurrent and multi-batch operations.<\/li>\n<li>Preserved multi-valued metadata and optional featured image and Elementor behavior.<\/li>\n<li>Improved large-site template, taxonomy, and dry-run performance.<\/li>\n<li>Added complete uninstall cleanup and WordPress 5.0-compatible history dates.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Added support for duplicating any public post type.<\/li>\n<li>Added multiple placeholder replacement.<\/li>\n<li>Added CSV\/TXT import for replacement values.<\/li>\n<li>Added Dry Run preview mode.<\/li>\n<li>Added searchable template selector with thumbnails and metadata.<\/li>\n<li>Added featured image copy option.<\/li>\n<li>Added enhanced results log with summaries, filters, and CSV export.<\/li>\n<li>Added real-time progress feedback with ETA and current item tracking.<\/li>\n<li>Added saved user preferences.<\/li>\n<li>Added taxonomy term assignment for generated items.<\/li>\n<li>Added operation history with rollback support.<\/li>\n<li>Added improved validation and duplicate prevention.<\/li>\n<li>Added extended page builder support for Beaver Builder and Bricks.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Improved capitalization handling for hyphenated names.<\/li>\n<li>Improved multi-word placeholder replacement in slugs.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Create pages and posts in bulk from one template with smart placeholder replacement, dry run preview, CSV import, and rollback history.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/235738","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=235738"}],"author":[{"embeddable":true,"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/nazim848"}],"wp:attachment":[{"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=235738"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=235738"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=235738"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=235738"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=235738"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=235738"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}