How mutch maintenance work for Kirby websites?

Hi

How often per year does Kirby need an update?
An what happens if the hoster upgrades its PHP-Version?
Do I have to update Kirby as well or is it always backward compatible?

If I have let’s say 50 Kirby websites, how mutch work per year will it be to maintenance those websites and what will Kirby updates cost?

I hope you can quantify this a bit :slight_smile:

Kind regards
Alain

Depends how you handle it really. You could go the multisite route which means you only have one instance of Kirby to maintain.

Sounds promising.
What drawbacks will I encounter in Kirby when using a multisite installation?

I’ve heared of that possibility from wordpress websites - but there it is has its drawbacks.
That’s why I’m a bit skeptical.

Well, I have build a more complex multisite installation. The biggest drawback if you will so is that you wont share users/roles/components between sites… but you can fix that by writing your own User-Manager and Config, which isn’t that hard. Also you would need to have a “Global”-Folder where you place all your global files like for example global users. of course you can overwrite the components within the projects/websites

If I have let’s say 50 Kirby websites, how mutch work per year will it be to maintenance those websites and what will Kirby updates cost?

Cost I’d say it’s only an issue when Kirby 4 comes out and I doubt that will happen anytime soon, not in the next couple of years at least. And we can speculate how much an upgrade license could cost, I think last time it was 29$ but I could be wrong.

Let’s just say for the sake of this argument that an upgrade to Kirby 3 to Kirby 4 is 50€.
You’d have 2500€ in licenses down the line.

Then there’s the maintenance.
So Kirby is not really backward compatible with PHP versions since they’re thankfully very aggressive when it comes to supported PHP versions. Right now minimum required version of PHP is 7.4 that was released on November 2019 and will reach end of life in 2022.

If you set up a server now with PHP 8.0 I’d say that you don’t have to worry about that aspect for at least a few years, so that’s a non factor. You obviously should want to stay up to date but what I’m saying is that you can theoretically set up something where you only have to worry about updating the server every few years.

Then there’s the issue of updating Kirby itself. I’d argue that you don’t have to update to each new version. Once a site is live, if you don’t need the new features you can safely skip a few versions (not the security ones though) so you can realistically update your 50 sites every 3 or 4 months I’d say.

Now let’s imagine it takes 15 minutes to update a site (to check it locally, make sure everything works, update the live version, make sure that one works and so on)

so that’s 15 minutes * 50 sites, 750 minutes or 12 and a half hours.
So you’re looking at ~ two days work of work every 3 or 4 months.

This is just a very back of the envelope calculation but at least you have a rough idea.

Forgot to add that between an update and the other there could be some breaking changes so you also have to take that into consideration.

1 Like

One “drawback” that comes to mind: if you really have 50 sites running in one multisite installation, updating Kirby core to a new major version (e.g. 3.5.x → 3.6.0; Kirby uses a non-standard format of semantic versioning, with the “3.” basically prefixing the common semver notion, so 3.5.7.2 reads as “major version 5, minor version 7, patch 2”) would require you to test and potentially adjust (there’s usually some, commonly minor, breaking changes between major versions) all 50 sites at once.

Having each site run its own instance of Kirby – or using the alternative multisite setup as outlined in A variant to using Kirby for multiple sites | Kirby CMS (it allows running each site on a specific version of Kirby; a very neat solution) – has the benefit that you can roll out required adaptations to your sites’ code incrementally.

If I understand your question correctly, you are referring to the case where you would leave your Kirby installation as it is on an older version and only the PHP version gets updated, right? In this case it’s more about forward compatibility than backward compatibility.

PHP releases often contain breaking changes that require modifications to Kirby’s code. We always test the compatibility as soon as a new PHP release is out and make the modifications as soon as possible. But of course we cannot guarantee in advance that a particular Kirby version supports any future PHP version, that’s just beyond our control.

So your best bet is to stay up to date with the PHP version yourself to avoid that your hosting provider needs to force-update your PHP installation for you. In recent years, there has been exactly one PHP release per year in November/December. So it’s enough to do the PHP upgrade once a year after we have published a Kirby release that is compatible with it – between that, any patch updates to PHP are completely painless (but important for security!). And as Manuel wrote, you can even wait multiple years with version upgrades as long as you upgrade soon enough before your PHP version is end-of-life (EOL).

Regarding Kirby updates and upgrades I agree with what has been said above: You don’t need to update if you don’t need the new features, enhancements and fixes, but you should keep an eye on releases so you don’t miss important security releases that may affect your sites.

How to update is perhaps a matter of personal taste anyway: Some like to do regular updates so that each update is simpler, faster and less work while others prefer to perform multiple updates in one go. In any case we do not recommend jumping over multiple major versions – at least if you notice that your site doesn’t fully work afterwards. It’s better to update to each major version step by step and follow the release notes on breaking changes and deprecations.

Kirby 4 is indeed not on the horizon, we don’t have any plans for it right now.

1 Like

Thank you guys for that always very fast and detailed answers :slight_smile: