Maintenance across the projects you look after.
FOR EACH PROJECT
Apply available updates, having backed up Check the error log and address what appears Confirm backups ran and files exist Check resource usage for unexplained changes Confirm scheduled tasks are running
ACROSS PROJECTS
Run dependency audits and note anything with known vulnerabilities Note which projects are on PHP versions approaching end of life Review which projects have not been touched in months and whether that is intentional
QUARTERLY
Test a restore on one project Review documentation accuracy
Review access: who has credentials to what, and remove anyone who has left
Check certificate expiry dates
ANNUALLY
Plan PHP and framework upgrades Review whether each project is still maintained, needs work, or should be retired Rotate credentials
THE TWO THAT MATTER MOST
Applying updates, and confirming backups actually work. Everything else is refinement, and those two prevent most of what goes seriously wrong.
WHAT TO TELL CLIENTS
If a project is on an unsupported version and they are not paying for maintenance, tell them in writing before it breaks.