After 3 months of work with friends and family on small websites we develop collaboratively, I have some observations about the maintenance of this small network.
Simple to use for editors
First, WordPress really became very easy to use for most of the people, so, as far as you take care of the hard parts like setting the main multisite, backuping the databases and various configurations and hacking small things you can be asked for, they can really focus on their content and be very productive. WordPress is the publishing platform per excellence and there is not such a thing as having to learn WordPress. You just start to type and you publish. Period.
As an editor I have to admit that I have been a bit disappointed that no good integration of Markdown exists: I tried quite a lot of Markdown plugins and I think that sticking to the vanilla editing tools is the best bet. As a writer used to type in structured text format like Markdown, it is a bit painful and I had to unlearn to learn WordPress shortcuts to be able not to use the mouse etc.
Sysadmin and development
Having somebody who takes care of the infrastructure is important. WordPress is a dedicated target for attacks, and security patches must be deployed fastly when they are available. Your whole hosting server must also be updated regularly. WordPress got a powerful upgrading system. It is so good that even main GNU/Linux packages maintainers don’t recommend to install it from packages, but to download it from wordpress.org and to use the builtin updates tools.
The main things I developped personnaly are automatic scripts for various repetitive tasks:
- automation of new sites Apache httpd virtual hosts and Let’s Encrypt TLS certificates. This is really repetitive and you can just create a template and replace some wildcards by a dynamic domain name.
- WordPress directory and files rights and permission management correction tools. When uploading and updating various files, you are messing up these rights, and they must be corrected precisely.
- themes deploiement tools. You are developing the themes (templates and CSS) not in production, so you need a way to synchronize.
- backup scripts. You must backup regularly, so you need tools to backup your database, the configurations files and your pictures. Not having script for backups means that you will be more likely to backup not very regularly and it will be painful.
For all this, I mostly use a makefile with some small Bash scripts and it was fun so far.