This step-by-step tutorial shows you how to customize existing templates and create your own reusable designs.
What You’ll Learn
By the end of this tutorial, you’ll know how to:
- Find and use built-in templates
- Customize template designs
- Create your own templates
- Save templates for reuse
- Share templates with others
- Import community templates
- HTML structure
- CSS styling
- JavaScript functionality
- Pre-configured sections (hero, features, testimonials, etc.)
- 50+ professional designs
- Industry-specific (SaaS, eCommerce, Agency, etc.)
- Fully responsive
- Conversion-optimized
- User-submitted designs
- Various styles
- Open-source
- Your saved designs
- Client work
- Brand-specific layouts
- Go to Landing Pages → Add New
- Click Choose Template button
- Or go to ShahiLandin → Template Library
- Industry: SaaS, eCommerce, Agency, Education, Healthcare
- Style: Modern, Minimal, Bold, Corporate
- Purpose: Lead Gen, Sales, Event, Download
- Hover over template thumbnail
- Click Preview button
- Template opens in new tab
- Review design, sections, features
- Click Use This Template button
- Enter page title: “My Product Launch”
- Choose slug:
my-product-launch - Click Create Page
- HTML content
- CSS styles
- JavaScript functionality
- Placeholder content
- Remove HTML markup
- Remove associated CSS (search for class names)
- Test page still works
- Landing Pages → Add New
- Choose Blank Template
- Build your design using HTML/CSS/JS
- Test thoroughly
- Ensure it’s responsive
- In landing page editor, click Tools → Save as Template
- Template name: “Lead Gen – Purple Theme”
- Description: “High-converting lead generation template with purple gradient”
- Category: “Lead Generation”
- Tags:
purple,modern,forms - Add thumbnail (screenshot): Upload image
- Click Save Template
- ShahiLandin → Template Library
- Find your template
- Click Export icon
- Choose format: JSON or Blueprint
- Download file:
lead-gen-purple-theme.json - ShahiLandin → Template Library
- Click Import Template button
- Upload
.jsonor.zipfile - Click Import
- Template added to library
- Export template as JSON
- Share file via email, GitHub, etc.
- Recipient imports into their ShahiLandin installation
- Select template
- Customize Variables dialog appears:
- Fill in values
- Click Apply
- Mobile-first: Design for mobile, then scale up
- Single goal: One clear call-to-action
- Fast loading: Optimize images, minimize code
- Accessible: Proper contrast, alt text, ARIA labels
- Consistent: Use design system (colors, fonts, spacing)
- ShahiLandin → Template Library
- Click Community tab
- Browse hundreds of free templates
- Filter by rating, downloads, category
- Click template thumbnail
- Preview template
- Click Download & Install
- Template added to your library
- Create template
- Click Share with Community
- Fill in details:
- Upload screenshot
- Click Submit for Review
- Approved templates appear in Community library
- MIT: Free to use, modify, redistribute
- GPL: Must share modifications
- Creative Commons: Attribution required
- Commercial: Purchase required for commercial use
- Missing CSS
- Conflicting theme styles
- JavaScript errors
- Use Canvas rendering mode (removes theme styles)
- Check browser console for errors
- Validate HTML/CSS
- Invalid JSON
- File too large
- Version incompatibility
- Validate JSON at jsonlint.com
- Increase PHP upload limit
- Update ShahiLandin plugin
- ✅ Browse and use built-in templates
- ✅ Customize template colors, fonts, images
- ✅ Modify template layouts and sections
- ✅ Create your own custom templates
- ✅ Export and import templates
- ✅ Use template variables
- ✅ Share templates with community
- ✅ Apply best practices for template design
- How to Create Your First Landing Page
- How to Optimize Landing Page Performance
- Template Builder Feature
Time Required: 15-30 minutes
Difficulty: Beginner to Intermediate
Prerequisites: Basic HTML/CSS knowledge helpful
Understanding ShahiLandin Templates
What Are Templates?
Templates are pre-designed landing page layouts you can customize:
Template Types
Premium Templates (included):
Community Templates (free):
Custom Templates (your own):
Method 1: Using Built-In Templates
Step 1: Access Template Library
Step 2: Browse Templates
Filter by:
Step 3: Preview Template
Step 4: Select Template
Step 5: Template Loaded
Editor opens with template pre-loaded:
Now customize it!
Method 2: Customizing Template Design
Change Colors
Find Color Scheme
In CSS editor, look for color variables (usually at top):
`css
:root {
–primary-color: #0066cc;
–secondary-color: #ff6600;
–text-color: #333333;
–background-color: #ffffff;
–accent-color: #00cc66;
}
`
Update Colors
Change to your brand colors:
`css
:root {
–primary-color: #8b5cf6; / Purple /
–secondary-color: #ec4899; / Pink /
–text-color: #1f2937; / Dark gray /
–background-color: #f9fafb; / Light gray /
–accent-color: #10b981; / Green /
}
`
All elements using these variables update automatically!
Change Fonts
Find Font Declarations
`css
body {
font-family: ‘Roboto’, sans-serif;
}
h1, h2, h3 {
font-family: ‘Montserrat’, sans-serif;
}
`
Replace with Your Fonts
`css
/ Import Google Fonts /
@import url(‘https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;700&family=Inter:wght@300;400;500&display=swap’);
body {
font-family: ‘Inter’, sans-serif;
}
h1, h2, h3 {
font-family: ‘Poppins’, sans-serif;
font-weight: 700;
}
`
Update Images
Replace Hero Image
Find in HTML:
`html
`Replace with your image:
`html
`Or upload to Media Library and use URL.
Replace All Placeholder Images
Search HTML for: template- or placeholder-
Replace with your actual images.
Modify Layout
Change Section Order
Cut and paste HTML sections:
Before:
`html
`
After:
`html
`
Add New Section
Copy existing section and modify:
`html
Pricing Plans
`
Remove Sections
Delete sections you don’t need:
Customize Components
Button Styles
Find button CSS:
`css
.cta-button {
background: var(–primary-color);
color: white;
padding: 15px 40px;
border-radius: 5px;
}
`
Customize:
`css
.cta-button {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
color: white;
padding: 18px 48px;
border-radius: 50px; / Pill shape /
font-size: 18px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 1px;
box-shadow: 0 10px 30px rgba(102, 126, 234, 0.3);
transition: transform 0.2s;
}
.cta-button:hover {
transform: translateY(-2px);
box-shadow: 0 15px 40px rgba(102, 126, 234, 0.4);
}
`
Form Styles
`css
.lead-form input,
.lead-form textarea {
width: 100%;
padding: 15px;
margin-bottom: 15px;
border: 2px solid #e5e7eb;
border-radius: 8px;
font-size: 16px;
transition: border-color 0.3s;
}
.lead-form input:focus,
.lead-form textarea:focus {
outline: none;
border-color: var(–primary-color);
box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}
`
Method 3: Creating Custom Template
Step 1: Build Landing Page from Scratch
Step 2: Save as Template
Step 3: Template Saved
Template now appears in Template Library under My Templates.
Template File Structure
Templates are saved as JSON:
`json
{
“name”: “Lead Gen – Purple Theme”,
“description”: “High-converting lead generation template”,
“version”: “1.0”,
“author”: “Your Name”,
“category”: “Lead Generation”,
“tags”: [“purple”, “modern”, “forms”],
“content”: {
“html”: “…”,
“css”: “…”,
“js”: “…”
},
“settings”: {
“rendering_mode”: “canvas”,
“enable_analytics”: true,
“lazyloadimages”: true
},
“thumbnail”: “data:image/png;base64,…”
}
`
Method 4: Exporting/Importing Templates
Export Template
Via Dashboard:
Via WP-CLI:
`bash
wp shahi template export “Lead Gen – Purple Theme” –file=template.json
`
Import Template
Via Dashboard:
Via WP-CLI:
`bash
wp shahi template import template.json
`
Share with Others
Using Template Variables
Make templates more flexible with variables.
Define Variables
In template, use placeholder syntax:
`html
{{COMPANYNAME}} – {{PRODUCTNAME}}
Get started with {{PRODUCT_NAME}} today for only {{PRICE}}/month!
`
Set Variable Values
When using template:
`
COMPANY_NAME: [Your Company]
PRODUCT_NAME: [Your Product]
PRICE: [99]
PRIMARY_COLOR: [#8b5cf6]
SECONDARY_COLOR: [#ec4899]
`
Template is created with values replaced:
`html
Acme Corp – SuperWidget
Get started with SuperWidget today for only $99/month!
`
Template Best Practices
Design Guidelines
Code Quality
`css
/ Good – organized, commented /
/ === HERO SECTION === /
.hero {
height: 100vh;
display: flex;
align-items: center;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
.hero h1 {
font-size: clamp(2rem, 5vw, 4rem);
color: white;
}
/ === FEATURES SECTION === /
.features {
padding: 80px 20px;
background: #f9fafb;
}
`
Placeholder Content
Use clear placeholders:
`html
[Your Company Name]
![[Replace with hero image]](placeholder-hero.jpg)
XXXX

`
Documentation
Include instructions in template:
`html
`
Community Templates
Browse Community Library
Download Template
Submit Your Template
Share your designs with community:
– Name
– Description
– Category
– Tags
– License (MIT, GPL, etc.)
Template Licensing
Choose appropriate license:
Advanced: Template Hooks
For developers – extend templates with PHP.
Register Custom Template
`php
// functions.php or plugin
addfilter(‘shahilandintemplates’, function($templates) {
$templates[] = [
‘id’ => ‘custom-saas-template’,
‘name’ => ‘SaaS Landing Page’,
‘category’ => ‘SaaS’,
‘path’ => getstylesheetdirectory() . ‘/shahilandin-templates/saas-template.json’,
‘thumbnail’ => getstylesheetdirectory_uri() . ‘/shahilandin-templates/saas-thumb.jpg’
];
return $templates;
});
`
Template Preprocessing
Modify template before rendering:
`php
addfilter(‘shahilandintemplatehtml’, function($html, $templateid) {
// Replace placeholders dynamically
$html = strreplace(‘{{CURRENTYEAR}}’, date(‘Y’), $html);
$html = strreplace(‘{{SITENAME}}’, get_bloginfo(‘name’), $html);
return $html;
}, 10, 2);
`
Troubleshooting
“Template Not Displaying Correctly”
Causes:
Solution:
“Template Variables Not Replacing”
Cause: Incorrect syntax or variable not defined
Solution:
Use double curly braces: {{VARIABLE_NAME}}
“Template Import Failed”
Causes:
Solution:
“Lost Template After Update”
Cause: Template stored in plugin directory (overwritten on update)
Solution:
Store custom templates in: /wp-content/uploads/shahilandin-templates/
Summary
You’ve learned how to:
Now you can create beautiful, reusable landing page templates!
Related Tutorials
—
Need Help? Check documentation or visit community forums.
Share this article
Still need help?
Our support team is ready to assist you with personalized guidance for your workspace.