Skip to content

UnpressWordPress to 11ty migration CLI

Convert your whole WordPress site to Eleventy with one command.

Overview ​

Unpress is a CLI utility that helps you migrate your WordPress content (posts, pages, taxonomies, and media) to a static Eleventy site. Whether you're looking to save hosting costs or archive a stale blog, Unpress makes the migration simple and reliable.

Why Migrate?

  • Cost Savings: WordPress hosting costs $10–$100/month. Static hosting can be free or under $5/month.
  • Performance: Static sites load faster because there's no database or PHP processing.
  • Security: No WordPress vulnerabilities to patchβ€”static sites can't be hacked the same way.
  • Archival: Preserve your content in a future-proof, maintainable format that doesn't require updates.

Quick Start ​

Get started in 2 steps:

bash
# 1. Add credentials to .env in the directory where you will run Unpress
WP_URL=https://your-site.com
WP_USER=your-username
WP_APP_PASSWORD=your-app-password

# 2. Run migration without installing Unpress globally
pnpx @selfagency/unpress --generate-site
# or
npx -y @selfagency/unpress --generate-site

Then deploy the generated site/ folder to Netlify, Vercel, or Cloudflare Pages.

That's it! Unpress will:

  • Fetch all your posts, pages, categories, and tags
  • Convert WordPress HTML to clean Markdown
  • Download or reupload your media files
  • Generate a complete 11ty project with layouts and templates
  • Create author pages and tag/category indexes

Need help? See the Installation Guide or Troubleshooting.

What Gets Migrated? ​

ContentMigratedNotes
Postsβœ…All post types, statuses, and custom fields
Pagesβœ…All pages including parent-child relationships
Categoriesβœ…Preserves category hierarchy
Tagsβœ…All tags with post associations
Authorsβœ…Creates author files and per-author pages (multi-author blogs)
Mediaβœ…Download locally, reupload to S3/SFTP, or leave URLs unchanged
Custom Fieldsβœ…Configurable via types.yml

Key Features ​

Dual Source Support ​

Choose how to connect to WordPress:

  • WordPress API: Connect directly with your site URL and application password
  • XML Export: Use WordPress's export tool for large migrations or offline work

Flexible Media Handling ​

Three modes to handle your images and files:

  • Local Download: Save media files to your site/ folder
  • Reupload: Upload media to S3 or SFTP with automatic URL replacement
  • Leave URLs: Keep original media URLs (perfect for archival)

Resume Capability ​

Large WordPress site? Unpress saves checkpoints every 100 items. If migration is interrupted, run --resume to continue exactly where you left offβ€”no duplicate work.

Search Integration ​

Static sites don't have built-in search. Unpress integrates with Meilisearch to add fast, typo-tolerant search to your new site.

Accessibility First ​

Generated 11ty templates include:

  • "Skip to main" links for keyboard navigation
  • Semantic HTML with proper ARIA labels
  • Responsive meta tags for mobile devices
  • WCAG 2.2 AA compliant base template

Example Migrations ​

See our example projects for complete, working configurations:

Next Steps ​

  1. Quick Start Guide - Step-by-step first migration
  2. Installation Guide - Run Unpress with pnpx or npx
  3. Migration Guides - Detailed instructions for API and XML migrations
  4. Deployment Guide - Deploy your new site to Netlify, Vercel, or Cloudflare Pages

Need Help? ​

License ​

MIT Β© 2024-present Self Agency

Released under MIT License.