How to Clone Any WordPress Site to Static HTML
Muhammad Bilal Azhar
Co-Founder & Technical Lead · Google Cloud Certified Professional
How to Clone Any WordPress Site to Static HTML
Want the look of your WordPress site without the WordPress complexity? You can convert any WordPress website into static HTML files, preserving the design while eliminating security issues, maintenance, and slow performance.
This guide covers three methods from simple to advanced.
Why Convert to Static HTML?
| WordPress Issue | Static HTML Solution |
| Slow page loads | Instant loading |
| Security vulnerabilities | Nothing to hack |
| Plugin updates | No plugins needed |
| Database maintenance | No database |
| Hosting costs | Free/cheap hosting |
| Downtime risk | 99.99% uptime |
What You'll Get
The conversion creates:
- Standalone HTML files for every page
- CSS files for styling
- JavaScript files for functionality
- Images and media files
- Complete folder structure
Your site looks exactly the same but runs on simple files instead of PHP + MySQL.
Method 1: Simply Static Plugin (Easiest)
Best for: Sites under 500 pages, one-time exports
Step 1: Install the Plugin
1. Go to Plugins → Add New
2. Search for "Simply Static"
3. Install and activate
Step 2: Configure Settings
Go to Simply Static → Settings:
Replacing URLs:
- Choose "Absolute URLs" for hosting elsewhere
- Or "Relative URLs" for flexible hosting
Delivery Method:
- "Local Directory" saves to your server
- "ZIP Archive" downloads a ZIP file
Include/Exclude:
- Check "Include 404 page"
- Add any URLs to exclude (admin pages, etc.)
Step 3: Generate Static Files
1. Go to Simply Static → Generate
2. Click Generate Static Files
3. Wait for the process to complete
4. Download the ZIP file
Step 4: Deploy
Upload files to:
- Netlify (drag and drop)
- Vercel (connect Git repo)
- Any web hosting
- GitHub Pages (free)
Limitations
- Dynamic features won't work (search, forms, comments)
- Large sites may timeout
- Free version lacks some features
Method 2: WP2Static Plugin (More Control)
Best for: Medium sites, more customization needed
Step 1: Install WP2Static
Download from wp2static.com or WordPress plugin directory.
Step 2: Configure Detection
Detect Settings:
- Posts
- Pages
- Custom post types
- Category/tag archives
- Media files
Step 3: Configure Processing
URL Processing:
- Replace WordPress URLs with destination URLs
- Handle protocol (HTTP vs HTTPS)
- Process CSS and JS files
Step 4: Deploy Options
WP2Static supports direct deployment to:
- Netlify
- GitHub Pages
- AWS S3
- Cloudflare Pages
- ZIP download
Advanced Features
- Crawl-based detection (finds all links)
- Custom URL additions
- Scheduled exports
- Add-ons for specific hosts
Method 3: HTTrack (Manual Crawling)
Best for: Any site, maximum control, sites you don't own
HTTrack is a free website copier that works on any site - not just WordPress.
Step 1: Download HTTrack
Get it from httrack.com (Windows/Linux) or use the command line version.
Step 2: Create a New Project
1. Open HTTrack
2. Click Next to create new project
3. Enter project name and path
4. Add your website URL
Step 3: Configure Options
Important settings:
Scan Rules:
- Set maximum depth
- Include/exclude patterns
- File size limits
Browser Identity:
- Set user agent (some sites block crawlers)
Connection:
- Number of connections
- Download speed limits
Recommended settings for WordPress:
Maximum depth: 10
Maximum site size: Unlimited
Include: .css, .js, .jpg, .png, *.webp
Exclude: /wp-admin/, /wp-login
Step 4: Start Crawl
Click start and wait. Progress shows:
- Pages downloaded
- Files saved
- Errors encountered
Step 5: Clean Up
After crawl completes:
1. Check for broken links
2. Remove unnecessary files
3. Fix any path issues
Command Line Version
For automation:
httrack "https://your-wordpress-site.com" \
-O "/output/folder" \
-v \
-s0 \
--depth=10 \
-.css -.js +.jpg +.png +*.webp
Handle Dynamic Features
Static HTML can't run PHP, but you can replace dynamic features:
Contact Forms
Before: Contact Form 7, Gravity Forms
After:
1. Use Formspree - add their form action
2. Use Netlify Forms - add data-netlify="true"
3. Use Basin - form endpoint service
Example replacement:
Search
Before: WordPress search
After:
1. Pagefind - fast static search
2. Algolia - powerful hosted search
3. DuckDuckGo Site Search - simple embed
Comments
Before: WordPress comments
After:
1. Disqus - popular, has ads
2. Giscus - GitHub-based, free
3. Cusdis - privacy-focused
Newsletter Signup
Your email provider's embed code works on static sites:
- Mailchimp embed forms
- ConvertKit forms
- Buttondown forms
Just copy the HTML and paste into your static files.
Fix Common Issues
Issue: Missing Images
Cause: Images loaded via JavaScript or lazy loading
Fix:
1. Disable lazy loading temporarily
2. Scroll through site before export
3. Manually check image paths
Issue: Broken CSS
Cause: CSS using absolute URLs
Fix:
1. Search and replace old URLs
2. Use relative paths
3. Check @import statements
Issue: JavaScript Errors
Cause: Scripts expecting WordPress backend
Fix:
1. Remove WordPress-specific scripts
2. Replace with static alternatives
3. Check console for specific errors
Issue: Missing Pages
Cause: Pages not linked or behind JavaScript
Fix:
1. Add pages to include list manually
2. Ensure all pages are linked somewhere
3. Check robots.txt isn't blocking pages
After Export: Hosting Options
Free Hosting
| Platform | Deployment | Best For |
| Netlify | Drag & drop | Easy deploys |
| Vercel | Git integration | Developers |
| GitHub Pages | Git push | Simple sites |
| Cloudflare Pages | Git integration | Global speed |
Deployment Steps (Netlify)
1. Go to netlify.com
2. Sign up for free
3. Drag your folder to the deploy zone
4. Your site is live!
To update:
- Upload new files
- Or connect to Git for automatic deploys
Automation: Keep Static Site Updated
If your WordPress content changes, automate exports:
Using WP2Static + Webhooks
1. Configure WP2Static
2. Set up webhook trigger
3. Deploy to Netlify/Vercel via webhook
Using Cron Jobs
Run export every night at midnight
0 0 * cd /path/to/site && wp simply-static run
Using CI/CD
Example GitHub Action:
name: Export WordPress
on:
schedule:
- cron: '0 0 *'
workflow_dispatch:
jobs:
export:
runs-on: ubuntu-latest
steps:
- name: Export site
run: |
# Your export script here
httrack ${{ secrets.WP_URL }} -O ./dist
- name: Deploy to Netlify
uses: netlify/actions/cli@master
with:
args: deploy --dir=dist --prod
When to Use Each Method
| Scenario | Best Method |
| Quick one-time export | Simply Static |
| Regular exports needed | WP2Static |
| Site you don't control | HTTrack |
| Large site (1000+ pages) | WP2Static + add-ons |
| Need to preserve everything | HTTrack |
The Better Long-Term Solution
Converting to static HTML is a great first step, but for ongoing maintenance consider:
Migrating to a proper static site generator:
- Next.js
- Astro
- 11ty
Benefits:
- Easy content updates (Markdown files)
- Components and templates
- Automatic optimization
- Modern developer experience
Learn about migrating properly →
FAQ
Q: Will my WordPress plugins work?
No. Plugin functionality needs to be replaced with static alternatives or removed. See contact form alternatives →
Q: Can I update content on the static version?
Not without re-exporting or switching to a proper static site generator. Learn about Next.js →
Q: Is this legal for any site?
Only clone sites you own or have permission to copy. Cloning others' sites may violate terms of service or copyright.
Q: What about e-commerce sites?
E-commerce requires dynamic features. Consider Shopify or headless commerce instead.
Conclusion
Converting WordPress to static HTML gives you:
- Instant performance - no server processing
- Perfect security - nothing to hack
- Free hosting - static hosts are cheap/free
- Same design - looks identical
Choose your method based on needs:
1. Simply Static - easiest, one-time export
2. WP2Static - more control, deployment options
3. HTTrack - any site, maximum control
For a more maintainable solution, consider migrating to a static site generator instead.
Related guides:
Related Articles
View allJamstack Explained: A WordPress User's Guide
What is Jamstack and why are people leaving WordPress for it? This guide explains Jamstack concepts in WordPress terms.
What is Jamstack? A Beginner-Friendly Explanation
Jamstack explained simply. What it is, how it works, and why it matters for modern websites. No jargon required.
WordPress to Jamstack: How to Go Static in 2026
Convert your WordPress site to Jamstack for 10x better performance. Complete guide to going static with Next.js, Astro, Hugo, or 11ty.
Static Site Generators vs WordPress: The Complete Guide for 2026
Static site generators have evolved dramatically. Here's how they compare to WordPress in 2026 and why many sites are making the switch.