One site is easy: check it, alert yourself. Fifty sites with different hosting, different clients and a small team is a different problem. The monitoring part barely changes. The alerting part is everything.
One view of the whole fleet
If every site has its own dashboard and its own inbox of alerts, nobody sees the pattern: three clients on the same host going down at once looks like three unrelated problems. Put the portfolio on one screen – green, amber, red – so the Monday-morning question “is everything up?” takes seconds instead of fifty tabs.
Route by site, not by person
A hosting client and a retainer client should not produce the same alert. Per-site alert settings let the e-commerce client's checkout page SMS the on-call phone, while the brochure site of a dormant client only e-mails the shared inbox. One default for all sites, exceptions where they earn it.
Escalate, but only if nobody reacts
The second half of the rule: if nobody presses On it within 15 minutes, alert the next person – and remind every 30 minutes until someone does. Staged alerts mean the first responder gets a chance before the whole team is woken, and the team is woken before the client calls.
Silence on purpose
Maintenance windows per site or for all of them – Tuesday 02:00–03:00 for the weekly deploy – keep the history complete and the phones quiet. Quiet hours are personal: the developer who is not on call tonight does not get paged, the shared Slack channel still does.
Answer "why didn't we get an alert?" in ten seconds
Every alert sent, and every alert deliberately not sent, is a row in the history with the reason: maintenance, quiet hours, channel failed. When a client asks, you do not guess.
Confirm before anyone is woken
Most alert fatigue comes from a single failed check: one probe misses one response, and the team gets a critical alert for a site that was up the whole time. Re-check from a second country first and alert only when both agree – and the team starts trusting its alerts again.
Start the diagnosis from what changed
With fifty sites, the expensive part of an incident isn’t noticing it but explaining it. If an update ran or PHP errors started minutes before a site stopped answering, that is your first lead. Say it honestly – it is correlated with the change, not proven – but it turns a morning of log-digging into minutes.
Agency plans are built for exactly this: Pro monitoring for all your client sites, one overview with each site’s health, a client register with contacts and an encrypted login vault, per-client alerts and maintenance windows across sites. With the Detective plugin on a WordPress site, an outage is shown next to what changed right before it.