Updated 28-Jun-2024
WordPress is highly functional, yet expensive to run in terms of resources (ram, processor), and maintain (time). Static site generators are meant to reduce this by a factor of 5 or more. However, there is a lot of functionality to support with the new system as well as a basic learning curve. Let's begin.
Requirements to Replace WordPress with an SSG
The main goal is to get off of creaky WordPress without giving up the advantages it does have:
- Simple editor
- Customizable themes
- Community of plugins
Functionality of WordPress Plugins in Static Site Generators
Some of the basic configuration settings and more importantly the plugins are critical for a robust site, as that is how WordPress sites are best managed. The following show some indication of what is needed in any site platform:
- Search and Replace
- Breadcrumb
- Category (and Tag) management
- Various permalinks
- Simple SEO (Meta Title, Description, Canonical, nofollow/noindex)
- Cookie notice
- Table of Contents
- Favicon
- XML Sitemap
- Robots.txt
- Header and Footer Scripts
- Last modified timestamp
- Lazy Loader (for videos, but also images as needed)
- Mail Bluster (mailing list subscriptions)
- Category-specific RSS feeds
- Store and/or Membership login
- Markdown support
- Order bender (organize/prioritize categories)
- Redirection/301/401 management
- Random quotes
- Lightbox (if needed)
- Import/export pages
- Affiliate program
- Membership program
- Ecommerce Store
- Newsletter functionality (basically a membership with free/paid tiers, content and email, such as substack)
Some of these things can be managed as files. That is, if all pages and posts are files, then organizing them by folder can obviate the need for categories.
Pelican a Python SSG
With Python we have that challenge of getting it installed, though this can be not as difficult as Ruby, certainly, or the constant updating of Node. Pelican has some good functionality out-of-the-box and also has the ability to migrate from wordpress.
Since all the content is already in Markdown format, this makes things easier. It is really a matter of mapping out what functionality is needed and how to provide it, and then the data migration process.