This step-by-step tutorial shows you how to quickly duplicate an existing landing page to create variations or new campaigns.
What You’ll Learn
By the end of this tutorial, you’ll know how to:
- Duplicate a landing page via dashboard
- Clone pages with WP-CLI
- Create variations for A/B testing
- Duplicate with all settings
- Manage multiple page versions
- π§ͺ A/B Testing: Create variants to test
- π― Multiple Campaigns: Same design, different content
- π Localization: Translate for different languages
- π Templates: Reuse successful designs
- π Seasonal Campaigns: Holiday vs regular versions
- π¨ Client Work: Same structure, different branding
- β‘ Save time: No need to rebuild from scratch
- β Consistency: Keep proven designs
- π― Quick testing: Launch variations faster
- π Compare performance: Same base, different copy
- Log into WordPress admin
- Navigate to Landing Pages (or ShahiLandin β All Pages)
- You’ll see list of all landing pages
- Hover over the page title
- Quick actions appear below
- Click Duplicate
- Change title: “Free Guide Download Page (Copy)” β “Spring Sale Guide”
- Update slug:
free-guide-copyβspring-sale-guide - Modify content (HTML, CSS, JS) as needed
- Update meta description
- Click Update
- Go to Landing Pages β Your page
- Scroll to A/B Testing meta box
- Click Create New Experiment
- In experiment setup, click Add Variant
- Choose Duplicate Existing Page
- Select: “Use current page as template”
- Enter variant name: “Variant B – Short Form”
- Click Create Variant
- Same content as original
- Marked as experiment variant
- Linked to experiment
- Ready to edit
- Click Edit Variant button
- Make changes (e.g., shorter form, different headline)
- Click Update
- Return to experiment setup
- Set traffic split: 50% / 50%
- Set conversion goal:
form_submit - Set duration: 14 days
- Click Start Experiment
- Edit landing page
- Tools β Export
- Choose format: JSON
- Download file
- Landing Pages β Import
- Upload
page-123.json - Click Import
- “Product Launch – Version A”
- “Product Launch – Version B”
- “Spring 2024 Campaign”
- “Summer Sale – Mobile Optimized”
- “Landing Page Copy”
- “Page 1 Copy 2”
- “Untitled (Copy)”
- “Test”
- Use categories/tags:
- Prefix with campaign:
- Date in title (if time-sensitive):
- Landing Pages β Categories
- Add new category: “Templates”
- Description: “Reusable landing page templates”
- Edit your best-performing landing page
- Assign to Templates category
- Add prefix to title: “[TEMPLATE] Lead Gen Form”
- Add note in content:
- Find template page
- Click Duplicate
- Remove “[TEMPLATE]” from title
- Search and replace placeholders
- Customize for new campaign
- π Lead generation form
- πΉ Webinar registration
- π eBook download
- πΌ Service inquiry
- π Contest entry
- π§ Newsletter signup
- π Product launch
- π Free consultation
- User role doesn’t have permission
- Plugin conflict
- Check user capabilities:
editposts,editshahi_landings - Try WP-CLI method instead
- Contact support
- β Duplicate via dashboard (quick method)
- β Duplicate with WP-CLI (command line)
- β Create A/B test variants
- β Duplicate via REST API (programmatic)
- β Export/import approach
- β Create reusable templates
- β Bulk duplicate multiple pages
- β Organize and manage duplicates
- How to Run A/B Tests
- How to Create Your First Landing Page
- WP-CLI Commands Reference
Time Required: 5-10 minutes
Difficulty: Beginner
Prerequisites: At least one existing landing page
Why Duplicate Landing Pages?
Common Use Cases
Benefits
Method 1: Dashboard Quick Duplicate
The easiest way to duplicate a page.
Step 1: Go to Landing Pages List
Step 2: Find Page to Duplicate
Locate the landing page you want to copy.
Example: “Free Guide Download Page”
Step 3: Hover and Click “Duplicate”
`
βββββββββββββββββββββββββββββββββ
Free Guide Download Page
Edit | Quick Edit | Trash | Duplicate | View | Statistics
βββββββββββββββββββββββββββββββββ
`
Step 4: Page Duplicated
You’ll see a success message:
`
β
Landing page duplicated successfully!
`
A new page appears in the list:
`
Free Guide Download Page (Copy)
`
Step 5: Customize the Duplicate
Click Edit on the new page:
What Gets Duplicated?
β
HTML content
β
CSS styles
β
JavaScript code
β
Page settings (rendering mode, etc.)
β
SEO meta data
β
Analytics goals
β
Performance settings
β Statistics/analytics data
β Publish status (duplicate is draft)
β Comments (if enabled)
Method 2: WP-CLI (Advanced)
Duplicate pages via command line – great for automation.
Step 1: Open Terminal/SSH
Connect to your server via SSH or use local terminal:
`powershell
Navigate to WordPress root
cd C:\xampp\htdocs\shahitest
`
Step 2: Find Page ID to Duplicate
List all landing pages:
`bash
wp shahi list –fields=ID,title,status
`
Output:
`
+—–+—————————+——–+
| ID | title | status |
+—–+—————————+——–+
| 123 | Free Guide Download Page | publish|
| 124 | Webinar Registration | publish|
| 125 | Product Launch | draft |
+—–+—————————+——–+
`
Note the ID you want to duplicate (e.g., 123).
Step 3: Duplicate with WP-CLI
`bash
wp shahi duplicate 123 –title=”Spring Sale Guide”
`
Success message:
`
Success: Landing page duplicated. New ID: 126
`
Optional Flags
`bash
Duplicate with custom title
wp shahi duplicate 123 –title=”Black Friday Sale”
Duplicate with custom slug
wp shahi duplicate 123 –title=”New Page” –slug=”new-page-url”
Duplicate and immediately publish
wp shahi duplicate 123 –title=”New Page” –status=publish
Duplicate without analytics goals
wp shahi duplicate 123 –title=”New Page” –skip-goals
`
Bulk Duplication
Duplicate multiple pages:
`bash
Duplicate pages 123, 124, 125
for id in 123 124 125; do
wp shahi duplicate $id –title=”Copy of Page $id”
done
`
Method 3: Duplicate for A/B Testing
Create variants specifically for experiments.
Step 1: Create Experiment
Step 2: Add Variant by Duplication
Step 3: Variant Created Automatically
ShahiLandin creates a duplicate with:
Step 4: Edit Variant
Step 5: Configure and Launch Experiment
See full guide: How to Run A/B Tests
Method 4: Duplicate with REST API
Programmatically duplicate pages.
Endpoint
`
POST /wp-json/shahilandin/v1/pages/{id}/duplicate
`
Authentication
Use Application Password or OAuth.
Request Example
`javascript
// JavaScript example
fetch(‘https://yoursite.com/wp-json/shahilandin/v1/pages/123/duplicate’, {
method: ‘POST’,
headers: {
‘Authorization’: ‘Bearer YOUR_TOKEN’,
‘Content-Type’: ‘application/json’
},
body: JSON.stringify({
title: ‘Duplicated Landing Page’,
slug: ‘duplicated-page’,
status: ‘draft’
})
})
.then(response => response.json())
.then(data => {
console.log(‘New page ID:’, data.id);
console.log(‘New page URL:’, data.link);
});
`
cURL Example
`bash
curl -X POST \
https://yoursite.com/wp-json/shahilandin/v1/pages/123/duplicate \
-H ‘Authorization: Bearer YOUR_TOKEN’ \
-H ‘Content-Type: application/json’ \
-d ‘{
“title”: “Duplicated Page”,
“slug”: “duplicated-page”,
“status”: “draft”
}’
`
Response
`json
{
“id”: 126,
“title”: “Duplicated Page”,
“slug”: “duplicated-page”,
“link”: “https://yoursite.com/landing/duplicated-page/”,
“status”: “draft”,
“original_id”: 123,
“duplicated_at”: “2024-11-28T10:30:00”
}
`
Method 5: Export/Import Approach
Duplicate by exporting and re-importing.
Step 1: Export Page as JSON
`bash
wp shahi export 123 –format=json > page-123.json
`
Or use dashboard:
Step 2: Edit JSON (Optional)
Open page-123.json and modify:
`json
{
“title”: “New Landing Page”,
“slug”: “new-landing-page”,
“content”: {
“html”: “…”,
“css”: “…”,
“js”: “…”
}
}
`
Step 3: Import as New Page
`bash
wp shahi import page-123.json
`
Or use dashboard:
New page created with same content.
Best Practices
Naming Conventions
Use clear, descriptive names:
β Good:
β Bad:
Organization Tips
`
Category: A/B Tests
Tag: Product Launch, 2024
`
`
[Summer Sale] Free Guide
[Summer Sale] Webinar Registration
[Summer Sale] Product Demo
`
`
Black Friday 2024 – Landing Page
Q1 2024 Campaign
`
Cleanup Old Duplicates
Regularly delete unused duplicates:
`bash
List draft pages older than 30 days
wp post list –posttype=shahilanding –poststatus=draft –postdate_before=”30 days ago”
Delete them
wp post delete $(wp post list –posttype=shahilanding –poststatus=draft –postdate_before=”30 days ago” –format=ids)
`
Creating Template Pages
Turn successful pages into reusable templates.
Step 1: Create “Template” Category
Step 2: Mark Page as Template
Step 3: Duplicate from Template
When starting new project:
Template Ideas
Create templates for common use cases:
Bulk Duplication
Create many duplicates at once.
Using WP-CLI Loop
`bash
Create 10 variants of page 123
for i in {1..10}; do
wp shahi duplicate 123 –title=”Campaign Variant $i” –slug=”campaign-variant-$i”
done
`
Using Custom Script
Create duplicate-pages.php:
`php
pageid = 123;
foreach ($cities as $city) {
$newpageid = wpinsertpost([
‘posttype’ => ‘shahilanding’,
‘post_title’ => “Landing Page – $city”,
‘post_status’ => ‘draft’,
‘postcontent’ => getpostfield(‘postcontent’, $basepageid)
]);
// Copy meta data
$meta = getpostmeta($basepageid);
foreach ($meta as $key => $values) {
foreach ($values as $value) {
addpostmeta($newpageid, $key, maybe_unserialize($value));
}
}
echo “Created page for $city: ID $newpageid\n”;
}
`
Run with WP-CLI:
`bash
wp eval-file duplicate-pages.php
`
Troubleshooting
“Duplicate Button Not Showing”
Causes:
Solution:
“Duplicate Has Missing Images”
Problem: Images don’t appear in duplicate
Cause: Images linked to specific post ID
Solution:
Re-upload images or use Media Library images (not post-specific).
“Slug Already Exists”
Problem: Can’t use same slug
Solution:
WordPress auto-appends -2, -3, etc. Or manually set unique slug.
“Out of Memory Error”
Problem: Page too large to duplicate
Solution:
Increase PHP memory limit:
`php
// wp-config.php
define(‘WPMEMORYLIMIT’, ‘256M’);
`
Summary
You’ve learned how to:
Now you can quickly create landing page variations!
Related Tutorials
—
Need Help? Check documentation or contact support.
Share this article
Still need help?
Our support team is ready to assist you with personalized guidance for your workspace.