I’d like to find an alternative to WordPress. But I want a CMS, not a hosted WYSIWYG website builder (like Wix), and not a static site generator (like Ghost).
Here are some of the features of WordPress that I see as most valuable:
- Editing pages / posts — for convenient content delivery
- Admin interface — for management by non-developers
- Themes — for consistent and changeable layout and appearance
- Plugins — for added functionality
- Analytics — for tracking visitors and conversion
- SEO — for improved search engine results
Here are some things that I think WordPress is lacking or weak:
- Development — WordPress is spaghetti code and developing themes and modules is clunky
- Customization — Because it’s so clunky, it’s difficult to customize layout and functionality. A WordPress theme / module developer is a special niche.
- Backups & Versioning — WordPress still doesn’t have a reasonable solution here. The root of the problem is that all content is stored as blogs in a (poorly designed) MySQL database. Keep content out of the DB and put it back in files.
- Static — WordPress is always run on PHP with MySQL. You should be able to export your site, and it should still work (with graceful degradation) if either your database or your CGI module goes down.
I would like a tool that is good for building documentation heavy websites, blogs, business sites, marketing landing pages, and some e-commerce capabilities. You should be able to connect to APIs, build modules with templates that connect to those APIs and embed components on pages easily. A plugin architecture for sharing modules / components is also desirable.
The site should consist of static HTML pages that can be generated from templates / markdown / other tools etc. So having a route / map is important — but the site should be able to function using file / directory structure from a static webserver at it’s most basic. Some functionality, some data, and some layout and dynamic content may not work, but your site should still be up, you should still be able to navigate and access content even if everything except static web serving is down.
Then there should be the tools that manage compiling templates, incorporating modules, etc. This should be able to be done offline, or on demand while the server is running — for instance while editing a page / layout / content / plugin via the admin UI.
Is this too much to ask?