Agency Hosting
How to Host 50+ Client Sites Without Burning Your Margins
How to Host 50+ Client Sites Without Burning Your Margins
Most Pakistani web agencies start hosting client sites as an afterthought. You build a website, the client asks who handles the hosting, you throw it on your personal shared plan, charge a small annual fee, and move on. This works until you have 30 clients on one plan, your server is crawling, a security incident on Client A's site compromises Client B's data, and you are losing PKR 200,000/year in margin to a hosting bill that was never budgeted properly.
Hosting is a recurring revenue stream with real engineering requirements. This guide is for Pakistani agency owners who want to run a clean, scalable, profitable hosting operation for 50 or more client sites β without it consuming their technical bandwidth.
The Economics of Agency Hosting
Before getting into architecture, understand the financial model:
Agency Hosting P&L (50 clients, typical Pakistani agency)
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Revenue
Hosting fees: 50 clients Γ PKR 5,000/year = PKR 250,000/yr
Maintenance add-on: 20 clients Γ PKR 3,000/month = PKR 720,000/yr
Email hosting: 30 clients Γ PKR 2,400/year = PKR 72,000/yr
Total Revenue: PKR 1,042,000/yr
Costs
Dedicated server: PKR 25,000/month = PKR 300,000/yr
Control panel: PKR 55,000/yr (DirectAdmin) or PKR 154,000/yr (cPanel)
SSL management: PKR 0 (Let's Encrypt via control panel)
Backup storage: PKR 12,000/yr
Monitoring: PKR 0 (UptimeRobot free tier)
Total Costs (DA): PKR 367,000/yr
Gross Profit: PKR 675,000/yr
Margin: 64.8%
A 64% gross margin on a recurring revenue base is excellent by any standard. The problem is that most Pakistani agencies never formally calculate this β they undercharge, overspend on infrastructure, or lose clients to speed issues and never understand why.
The Three-Tier Architecture for Pakistani Agencies
Agencies hosting 50+ sites need to think in tiers based on client traffic and risk profile:
Tier Architecture for 50+ Sites
ββββββββββββββββββββββββββββββββββββββββββββββββ
βββββββββββββββββββββββββββββββββββββββββββββββ
β Tier 3 β High-Traffic / Mission-Critical (5β10%) β
β Dedicated VPS per client. SLA guarantee. β
β Price to client: PKR 20,000β60,000/year β
βββββββββββββββββββββββββββββββββββββββββββββββ
βββββββββββββββββββββββββββββββββββββββββββββββ
β Tier 2 β Medium-Traffic (30β40%) β
β cPanel/DA reseller, max 20 sites per server. β
β Price to client: PKR 8,000β18,000/year β
βββββββββββββββββββββββββββββββββββββββββββββββ
βββββββββββββββββββββββββββββββββββββββββββββββ
β Tier 1 β Low-Traffic Brochure Sites (50β60%) β
β Shared hosting reseller, CloudLinux isolated. β
β Price to client: PKR 3,000β7,000/year β
βββββββββββββββββββββββββββββββββββββββββββββββ
The most common mistake Pakistani agencies make is putting all 50 clients on one Tier 1 server. This maximises density but creates a single point of failure, guarantees performance complaints from Tier 2 and Tier 3 clients, and creates unlimited liability when one compromised site takes down 49 others.
CloudLinux: The Non-Negotiable Layer
If you are running any shared hosting operation in Pakistan β even for 10 clients β CloudLinux is not optional. It is the technology that makes shared hosting manageable at scale.
CloudLinux installs a modified Linux kernel that creates an isolated environment called a Lightweight Virtual Environment (LVE) for each hosting account. Under CloudLinux:
- Client A's PHP script cannot consume more than the CPU quota you allocate
- A compromised WordPress installation on Client A cannot read Client B's files, even on the same server
- Memory leaks in one account do not cause OOM (out-of-memory) kills for other accounts
- You can set per-account limits via WHM or the DA panel
# View real-time resource usage per account (CloudLinux)
lveinfo --current --by-cpu --limit 10
# Output:
# ID CPU MEM IO NPROC
# client_a 45% 512M 2MB/s 15
# client_b 2% 128M 0MB/s 4
# ...etc
# Temporarily restrict a misbehaving account
vlimit -u client_a --cpu 20
Cost: ~PKR 4,500/month per server. Non-negotiable for any serious shared hosting operation.
Setting Per-Client Resource Limits
Define package tiers in your control panel and enforce them consistently:
| Package | CPU | RAM | I/O | Domains | Price/yr | |---------|-----|-----|-----|---------|----------| | Starter | 1 core | 512MB | 10MB/s | 3 | PKR 3,500 | | Business | 2 cores | 1GB | 25MB/s | 10 | PKR 7,000 | | Pro | 4 cores | 2GB | 50MB/s | 30 | PKR 14,000 |
Document these limits in your client contracts. When a client's WooCommerce store goes viral during a sale and spikes CPU to 300%, your system throttles it rather than crashing 49 other sites β and you have the contractual basis to upsell them to a VPS plan.
Security Isolation: The Part Most Pakistani Agencies Get Wrong
The Problem With Shared PHP Execution
By default on shared hosting, all PHP scripts run as the same system user (usually nobody or www-data). This means a PHP vulnerability in Client A's outdated plugin can read β and modify β Client B's WordPress configuration files, database credentials included.
The Fix: PHP-FPM With Per-Account Pools
# /etc/php/8.2/fpm/pool.d/client_a.conf
user = client_a
group = client_a
listen = /run/php/client_a.sock
pm = dynamic
pm.max_children = 8
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 4
With PHP-FPM per-account pools:
- Each account runs PHP as its own system user
- File permissions are properly isolated
- OPcache is per-pool (faster, no cross-account cache poisoning)
- You can tune
max_childrenper client tier
Both cPanel (via MultiPHP FPM) and DirectAdmin (via CustomBuild 2.0) support this configuration. It should be the default for any agency hosting operation in 2026.
Automated Backup Strategy
Data loss is not a hosting problem. It is a trust problem. One Pakistani agency owner who loses a client's complete e-commerce order history due to absent backups will spend years recovering that reputation.
The 3-2-1 Backup Rule Applied to Pakistani Agencies
- 3 copies of data (live + 2 backups)
- 2 different storage media (local disk + remote)
- 1 offsite copy (cloud storage outside the hosting server)
# Daily backup script for cPanel/DA server
# Add to cron: 0 2 * * * /usr/local/bin/agency-backup.sh
#!/bin/bash
DATE=$(date +%Y-%m-%d)
BACKUP_DIR="/backup/daily/$DATE"
REMOTE="backup-user@backup-server:/backups/agency/$DATE"
mkdir -p $BACKUP_DIR
# cPanel: Backup all accounts
/scripts/pkgacct --backup $BACKUP_DIR --all
# Sync to remote (encrypted rsync)
rsync -avz --delete -e "ssh -i /root/.ssh/backup_key" \
$BACKUP_DIR $REMOTE
# Clean up local backups older than 7 days
find /backup/daily/ -maxdepth 1 -mtime +7 -type d -exec rm -rf {} \;
echo "Backup complete: $DATE" | mail -s "Backup OK" admin@youragency.com
For Pakistani agencies, a PKR 3,000β5,000/month backup VPS (separate from the hosting server) is the minimum acceptable offsite backup solution. Cloud storage options (Backblaze B2 at ~USD 6/TB/month) are even cheaper.
Pricing Your Hosting Correctly
Most Pakistani agencies undercharge for hosting because they benchmark against Hostinger or Namecheap consumer plans. Your clients are not buying commodity shared hosting β they are buying managed hosting from their trusted agency partner. The comparable service is not Hostinger Basic; it is Kinsta, WP Engine, or Cloudways.
Pricing Framework
| What You Provide | What It's Worth | |-----------------|----------------| | Hosting infrastructure | PKR 1,500β3,000/year (your cost) | | WordPress updates and monitoring | PKR 2,400β4,800/year (your time) | | Security scanning | PKR 1,200β2,400/year | | Backups and restore (SLA) | PKR 1,200β2,400/year | | Total value delivered | PKR 6,300β12,600/year | | Fair client price | PKR 8,000β18,000/year |
Agencies charging PKR 3,000/year for hosting are essentially giving away labour for free. Charge what the full service is worth.
White-Labelling and Client Communication
If you use cPanel or DirectAdmin, you can white-label the client interface with your agency's branding:
cPanel white-labelling:
# WHM β Tweak Settings β Company name
# WHM β Change cPanel Theme Style β Custom logo
DirectAdmin white-labelling:
- Admin Panel β Custom Branding β Upload agency logo
- Customise email notifications with agency name and colours
When a client sees "Powered by YourAgency" instead of "cPanel" or "DirectAdmin," they perceive the hosting as a proprietary product of yours β not a commodity service. This reduces price sensitivity and churn.
Handling the Nightmare Scenarios
Scenario 1: Client Site Gets Hacked
Response Protocol:
1. Immediately isolate account (suspend in WHM/DA)
2. Clone/snapshot for forensic investigation
3. Restore from last clean backup
4. Apply WordPress hardening (file permissions, wp-config.php)
5. Install Wordfence or equivalent scanner
6. Communicate professionally to client (blame the plugin, not your setup)
7. Bill for clean-up time if it was their plugin/theme choice
Scenario 2: Server Goes Down at 2am Pakistan Time
- UptimeRobot alert triggers immediately
- Your on-call rotation (or just you) gets a text
- If provider SLA covers the issue, open a ticket and wait
- If it is your server (self-managed), SSH in and check
journalctl -p err -bfor the last boot's errors
For agencies charging premium managed hosting rates, a support SLA of 4-hour response and 24-hour resolution is a fair commitment. Make sure your hosting infrastructure provider can back that up.
Scenario 3: Client Demands Their Site Be Moved Out
Build this into your hosting contracts: a domain ownership guarantee (clients own their domain, always) and a 30-day offboarding clause (you provide a full cPanel backup file). This removes the toxic lock-in perception that makes Pakistani clients distrust agency hosting and protects you from emergency migrations that consume a day of staff time.
Conclusion
Hosting 50+ client sites profitably is an engineering and business discipline, not an afterthought. The agencies that do it well in Pakistan are running CloudLinux-isolated shared hosting for standard clients, dedicated VPS for high-traffic accounts, automated daily backups to offsite storage, and charging correctly for the managed service they actually provide.
The ones burning their margins are running everything on one under-resourced server, charging PKR 2,000/year, and wondering why their referral network is drying up.
Build your agency hosting operation on the right foundation. Explore (/agency-hosting) β designed specifically for Pakistani web agencies with reseller accounts, CloudLinux isolation, and PKR billing.