As I (sort of) dropped the ball on the development of b2evolution CMS after 18 years, I’m left with quite a few websites running on unmaintained software…

Surely, relying on (de facto) outdated server software is a big no-no for anyone working in I.T. (and my background actually is I.T…)

Yet, I kept pushing the ball down the road… with no real plan in sight… Maybe, I was subconsciously waiting for everything to break down…

So far…

Well, breakdown did not happen! All sites are online, alive and kicking! Here’s an htop screenshot of one of my virtual servers:


1196 days uptime, that’s more than 3 years…

Three years without any maintenance whatsoever, and b2evolution CMS kept running without missing a beat! (TBF, there might have been some DDoS attacks from time to time, but my webhost handled those automatically by diverting traffic when needed.)

I believe that speaks to the reliability of b2evolution CMS and to all the effort we put into making it a rock solid website engine. Fair to say?

Now, I do realize that just bragging about uptime is asking for trouble, but well, it’s gonna be what it’s gonna be… No matter what, sooner or later, those servers are going to fail, either because someone will find an exploit in b2evolution, or in the underlying OS (which I am updating today), or because of the hardware… At that point, I would probably have to set everything back up from scratch… Surely I don’t want to spend time on that!

The big questions I need to answer now

  • Do I want the hassle of maintaining the CMS software (any CMS, not necessarily b2evolution) and deal with security issues? Or with spam issues?
  • Do I want to keep these sites online? For example this one you’re reading now: my personal blog & archive…
  • Do these sites add any value to the Internet?

And the answers are:

  • No, I don’t want the hassle!
  • It depends but yes, for some of my sites, I do want to keep them online.
  • It depends but yes, for some of my sites, I feel they do offer some value (even if buried deep in the archives – that’s what Google is for ;)

So, what now?

First, for all the sites that are below the threshold of “value” or “sparking joy” (yep, that’s a Marie Kondo reference :p), I’m slashing them! I’ve actually dropped most of my domains and smaller websites in the last couple of years already.

Then, for the ones I feel I want to keep… let’s check what I already wrote in 2021,:

… if I was to start from scratch today, I probably would not use PHP and I probably would not use a CMS. I would probably use a Static Site Generator (SSG) for maximum performance and maximum security.

The only problem is that to this day, I don’t know any static site generator solution that even comes close to the power of b2evolution… BUT I think the situation is progressing rapidly and I do expect these newer architectures to be on par with what b2evolution can do before 2025. (The feature that would be hardest to shift to a radically more efficient architecture would be the forums.)

So, at this point, I am continuing to use b2evolution for my own websites but I do believe I will radically switch, at some point in the future.

Well, it actually happened: SSGs have come a long way!

  • The SSG I liked most in 2021 was hugo but it has many frustrating limitations.
  • I also wanted to host the result on netlify which is lightweight, optimized for continuous deployment of SSGs and includes a CDN. But it also had very frustrating limitations! My biggest concern was the handling of aliases, redirects and especially “foreverlinks” (if I move my posts around on my site, any old URLs MUST continue to work without me having to worry about it!)

Checking back on them, it turns out Netlify greatly enhanced their _redirects feature and hugo shortcodes seems to now be flexible enough to reproduce b2evolution’s most essential renderer plugins.

Not perfect, but workable… especially when adding a pre-processor bridge between Obsidian (which I use for editing my content in MarkDown format) and hugo. I did write such a bridge in Python (as it’s my favorite language since I realized I should learn Python ;) but that’s a story for another day.

New workflow

  1. Mass export from b2evolution to markdown .md files. (This was a b2evolution PRO feature but I will open-source it if there is demand).
  2. Edit the .mdin Obsidian.
  3. Extract foreverlinks and preprocess with my Python bridge. UPDATE: Obsigo v0.1 available ion GitHub now.
  4. Commit processed .mdfiles to GitHub.
  5. Let Netlify react to the change in GitHub and automatically rebuild and deploy the site.
  6. Add more content in step 2 and repeat

If you’re reading this, it means all of this already took place! ;)

One site down. A dozen more to go!

PS: will be the hardest, especially because it has a forum that is still somewhat active (for logged in users - not published publicly). Not touching that one for now…